2014-02-12 18 views
-1

У меня возникла проблема с регистрацией сессий на сценарии входа в мои веб-сайты: я пробовал следующий скрипт, но он перенаправляет на главную страницу входа, я подозреваю, что скрипт не регистрирует session.please help me , здесь сценарий:Сессия Регистрация не работает

checklogin.php

<?php 
$con=mysqli_connect("localhost","root","p11","daot"); 

// username and password sent from form 
$myusername=$_POST['myusername']; 
$mypassword=$_POST['mypassword']; 

// To protect MySQL injection (more detail about MySQL injection) 
$myusername = stripslashes($myusername); 
$mypassword = stripslashes($mypassword); 
$myusername = mysql_real_escape_string($myusername); 
$mypassword = mysql_real_escape_string($mypassword); 

$sql=mysqli_query($con,"SELECT * FROM registration WHERE 
Username='$myusername' and Password='$mypassword'"); 


// Mysql_num_row is counting table row 
$count=mysqli_num_rows($sql); 

// If result matched $myusername and $mypassword, table row must be 1 row 

if($count==1){ 

// Register $myusername, $mypassword and redirect to file "login_success.php" 
session_start(); 
$_SESSION["myusername"]; 
$_SESSION["mypassword"]; 
header("location:login_success.php"); 
} 
else { 
echo "Wrong Username or Password"; 
} 
?> 

login_success.php

<?php 
session_start(); 
if (!isset($_SESSION['myusername'])) 
    { 
    header('Location:login.php'); 
    } 
    ?> 

<html> 
<body> 
Login Successful 
</body> 
</html> 
+0

Как всегда: 'session_start();' должен находиться в верхней части страницы. –

+0

Я делаю это наверху, но ничего не меняется. – user3279301

+0

@@ john Conde надеется .... не обязательно указывать как топ/первый ,,, сеанс должен быть запущен до того, как вас будут манипулировать – user1844933

ответ

1

заменить checking.php с этим и попробуйте PLS:

<?php 
session_start(); 

$con=mysqli_connect("localhost","root","p11","daot"); 

// username and password sent from form 
$myusername=$_POST['myusername']; 
$mypassword=$_POST['mypassword']; 

// To protect MySQL injection (more detail about MySQL injection) 
$myusername = stripslashes($myusername); 
$mypassword = stripslashes($mypassword); 
$myusername = mysql_real_escape_string($myusername); 
$mypassword = mysql_real_escape_string($mypassword); 

$sql=mysqli_query($con,"SELECT * FROM registration WHERE 
Username='$myusername' and Password='$mypassword'"); 


// Mysql_num_row is counting table row 
$count=mysqli_num_rows($sql); 

// If result matched $myusername and $mypassword, table row must be 1 row 

if($count==1){ 

// Register $myusername, $mypassword and redirect to file "login_success.php" 

$_SESSION["myusername"] = $mypassword; 
$_SESSION["mypassword"] = $mypassword; 
header("location:login_success.php"); 
} 
else { 
echo "Wrong Username or Password"; 
} 
?> 
+0

Спасибо за ваш быстрый ответ, действительно он работает !!!! – user3279301

+0

yw;), вы можете сделать правильный ответ – ImadOS

0

Переместить session_start() в начало страницы. Кроме того, вы не назначаете никакого значения $ _SESSION ["myusername"]; или $ _SESSION ["mypassword"]; Установите эти значения после инициализации $ myusername и $ mypassword.

$_SESSION["myusername"] = $myusername; 
$_SESSION["mypassword"] = $mypassword; 
+0

так же, как я сделал человек. перед вами 4 мин. назад – ImadOS

+0

Спасибо, это работает !!! – user3279301

+0

@ImadOS не голосуйте, если это неправильный ответ ...... – user1844933

Смежные вопросы