как сделать вход и выход на одной странице?

index.php

<div id="top_right_section">
    <div id="head_icon">
        <ul class="top">
            <li class="hover"><a href="#" onClick="revealModal('modalPage')">Login</a>
            </li>
            <li><a href="registration.php" class="about">Registration</a>
            </li>
        </ul>
    </div>
</div>

логин.php

 <?php session_start();
 ob_start();
 //Include database connection details
 require_once('config.php');

//Array to store validation errors
$errmsg_arr = array();

 //Validation error flag
 $errflag = false;

//Function to sanitize values received from the form. Prevents SQL injection
function clean($str) {
$str = @trim($str);
if(get_magic_quotes_gpc()) {
$str = stripslashes($str);
}
return mysql_real_escape_string($str);
}

//Sanitize the POST values
 $username=$_POST['fname'];
$password=$_POST['password'];

//Input Validations
if($username == '') {
$errmsg_arr[] = 'Username missing';
$errflag = true;
}
if($password == '') {
$errmsg_arr[] = 'Password missing';
$errflag = true;
}

//If there are input validations, redirect back to the login form
if($errflag) {
$_SESSION['ERRMSG_ARR'] = $errmsg_arr;
session_write_close();
header("location:index.php");
exit();
}

//Create query
$qry=("SELECT * FROM user_detail WHERE password='$pass' AND fname='$user'") or   die("Couldn't query the user-database.");
$result=mysql_query($qry);

//check whether the query was successful or not
if($result) {
if(mysql_num_rows($result) > 0) {
//Login Successful
$member = mysql_fetch_assoc($result);
$_SESSION['SESS_MEMBER_ID'] = $member['uid'];
$_SESSION['SESS_FIRST_NAME'] = $member['user_name'];
$_SESSION['SESS_LAST_NAME'] = $member['password'];
session_write_close();
header("location:index.php");
exit();
}else {

?>

logout.php

<?php session_start();
 session_destroy();
 location .......
?>

Я дал световое окно в событии onclick для входа в систему. Я хочу, если пользователь входит в систему через это поле, он/должен перенаправить на ту же индексную страницу, и я могу сделать свое кодирование, чтобы отобразить его/ее имя с этим , слово для входа должно быть скрыто, и в этом месте я хочу поместить кнопку выхода из системы ... возможно ли это сделать на той же странице ????


person IT gIrLy GiRl    schedule 16.12.2013    source источник
comment
Показать модальную часть кода   -  person mplungjan    schedule 16.12.2013
comment
Я пробовал сеанс с другими страницами.. но теперь я хочу сделать это на той же странице..   -  person IT gIrLy GiRl    schedule 16.12.2013
comment
@sarmistha, где ты застрял?   -  person Code Lღver    schedule 16.12.2013
comment
ПОДОЖДИТЕ Я ПОПРОБУЮ ВАШ КОД   -  person IT gIrLy GiRl    schedule 16.12.2013
comment
@sarmistha Если вы считаете, что мой ответ полезен, отметьте его как принятый. Благодарю. И, пожалуйста, поговори со мной, я хочу тебе сказать, почему?   -  person Code Lღver    schedule 16.12.2013
comment
нет, это не результат... я в замешательстве... @BrokenHeartღ   -  person IT gIrLy GiRl    schedule 16.12.2013
comment
@sarmistha, где ты запутался, дорогая, дай мне знать. Я решу это.   -  person Code Lღver    schedule 16.12.2013
comment
да?? В самом деле ?? @BrokenHeartღ   -  person IT gIrLy GiRl    schedule 16.12.2013
comment
@sarmistha да, я буду, но ты должен меня выслушать.   -  person Code Lღver    schedule 16.12.2013


Ответы (3)


Во время входа в систему запустите сеанс, используя:

сеанс_старт();

Затем используйте это:

<div id="top_right_section">
    <div id="head_icon">
        <ul class="top">
           <?php if(!isset($_SESSION)) { ?>
            <li class="hover"><a href="#" onClick="revealModal('modalPage')">Login</a>
            </li>
             <?php } else {?>
            <li class="hover"><a href="#">Logout</a>
            </li>
             <?php } ?>
            <li><a href="registration.php" class="about">Registration</a>
            </li>
        </ul>
    </div>
</div>

Если вы используете запрос для проверки учетных данных, используйте сеанс, если учетные данные верны.

И во время выхода из системы уничтожьте сеанс, используя session_destroy(); .

person Code Lღver    schedule 16.12.2013
comment
как я могу уничтожить свою сессию после нажатия кнопки выхода?? - person IT gIrLy GiRl; 16.12.2013
comment
@sarmistha ji просто перенаправить страницу на другую страницу, где нужно написать session.destroy(); и после этого снова перенаправить страницу на index.php страницу. ок - person Code Lღver; 16.12.2013

Конечно. Вы можете просто установить переменную $_SESSION[] и уничтожить сеанс, если пользователь выйдет из системы. Если установлена ​​переменная сеанса, вы можете показывать контент, который должен показываться только вошедшим в систему пользователям.

Дополнительную информацию можно найти здесь.

РЕДАКТИРОВАТЬ: Пример:

<?php
    session_start();
    if(isset($_SESSION['logged_in'])) {
        //Here Logout button
        //If the button is clicked just do session_destroy() to unset $_SESSION variables
    } else {
        //Here Login Form
        //If login correctly then set $_SESSION['logged_in'] = true;
    }
?>
person Marcel Balzer    schedule 16.12.2013
comment
я уже пробовал сеанс ... но могу ли я выполнить вход и выход из системы на одной и той же странице ?? - person IT gIrLy GiRl; 16.12.2013
comment
Да, без проблем. Смотрите мое редактирование. - person Marcel Balzer; 16.12.2013
comment
просто скажите мне, как использовать уничтожение сеанса? - person IT gIrLy GiRl; 16.12.2013
comment
Просто вызовите функцию session_destroy(), и сессия будет уничтожена. - person Marcel Balzer; 16.12.2013
comment
Если вы вызываете logout.php, то сессия должна быть уничтожена. - person Marcel Balzer; 16.12.2013
comment
я должен что-нибудь изменить на моей странице login.php ?? - person IT gIrLy GiRl; 16.12.2013
comment
Что ж, в вашем запросе вы используете $pass и $user вместо $password и $username и не используете функцию clean(). - person Marcel Balzer; 16.12.2013
comment
позвольте мне попробовать еще 4 тыма @marcel - person IT gIrLy GiRl; 16.12.2013

Да совсем просто..

Все, что вам нужно будет сделать для входа в систему, это настроить переменную сеанса для получения сведений о пользователе (скажем, первичный ключ таблицы).

Проверьте так

if(isset($_SESSION['user_id'])){
    Logout and so so on what you want
}else{
    Login goes here
}
person Jenno Richi Benat    schedule 16.12.2013