как да влезете и излезете от същата страница?

index.php

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

login.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 {

?>

излизане.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)


В момента на влизане стартирайте сесията, като използвате:

session_start();

След това използвайте това:

<div id="top_right_section">
    <div id="head_icon">
        <ul class="top">
           <?php if(!isset($_SESSION)) { ?>
            <li class="hover"><a href="/bg#" onClick="revealModal('modalPage')">Login</a>
            </li>
             <?php } else {?>
            <li class="hover"><a href="/bg#">Logout</a>
            </li>
             <?php } ?>
            <li><a href="/bgregistration.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 друг tym @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