Php, скрипт входа в систему

Я новичок в php, и я пытаюсь написать скрипт регистрации. Моя проблема в том, что когда я пытаюсь войти в систему, и я не вижу меню пользователя. Возможно, проблема связана с сеансами и файлами cookie, но я не могу их найти. Вот часть моего кода:

config.php

login.php

<!--?php 
 oB_start(); 
 include("config.php"); 
 if (!$logged[username]) { 
 if (!$_POST[login]) { 
 echo("<center--><form method="\" post\""=""> 
 <table> 
 <tbody><tr> 
 <td right\""=""> 
 User:  
 </td> 
 </tr> 
 <tr> 
 <td right\""=""> 
 Password:  
 </td></tr><tr> 
 <td center\""=""> 
  
 </td></tr><tr> 
 <td center\""=""> 
 <a href="\" register.php\""="" target="_blank">Sign up</a> 
 </td></tr></tbody></table></form>"); 
 } 
 if ($_POST[login]) { 
 $username = $_POST[username]; 
 $password = $_POST[password]; 
 $info = mysql_query("SELECT * FROM users WHERE username = '$username'") or die(mysql_error()); 

 $data = mysql_fetch_array($info); 
 if($data['PASSWORD'] != $password) { 
 echo "Wrong username or password!"; 
 }else{ 
 $query = mysql_query("SELECT * FROM users WHERE username = '$username'") or die(mysql_error()); 
 $user = mysql_fetch_array($query); 
 setcookie("id", $user['ID'],time()+(60*60*24*5), "/", ""); 
 setcookie("password", $user['PASSWORD'],time()+(60*60*24*5), "/", ""); 
 } 
 } 
} 
else { 
 echo ("<center>Welcome <b>$logged[username]</b></center> 
 <a href="\" editprofile.php\""="" target="_blank">Profile</a> 
 <a href="\" logout.php\""="" target="_blank">Log out</a>"); 
} 
?>
2 ответа

Как кто-то уже сказал изменить COOCKIE С СЕССИЕЙ, я не очень хорошо понял ваш план таблицы/столбцов, но я попытался улучшить код, поэтому попробуйте это :)

config.php

<!--?php 
 $con = mysql_connect("localhost","root","123");
 if (!$con) {
 die('Could not connect: ' . mysql_error());
 }
 mysql_select_db("9gag", $con);
?-->

login.php

<!--?php 
 session_start();
 ob_start();
 include("config.php"); 
 if (!Isset($_SESSION['id'])) { 
 if (!$_POST['login']) { 
 echo '<center--><form method="POST"> 
 <table> 
 <tbody><tr> 
 <td> 
 User:  
 </td> 
 </tr> 
 <tr> 
 <td> 
 Password:  
 </td></tr><tr> 
 <td> 
  
 </td></tr><tr> 
 <td> 
 <a href="register.php" target="_blank">Sign up</a> 
 </td></tr></tbody></table></form>'; 
 } 
 if ($_POST[login]) { 
 $username = $_POST['username']; 
 $password = $_POST['password']; 
 $info = mysql_query("SELECT * FROM users WHERE username = '".$username."'") or die(mysql_error()); 

 $data = mysql_fetch_array($info); 
 if($data['password'] != $password) { 
 echo "Wrong username or password!"; 
 }else{ 
 $query = mysql_query("SELECT * FROM users WHERE username = '".$username."'") or die(mysql_error()); 
 $user = mysql_fetch_array($query); 
 $_SESSION['username']=$user['username'];
 $_SESSION['id']=$user['id'];
 $_SESSION['password']=$user['password'];
 } 
 } 
} 
else { 
 echo "<center>Welcome <b>".$_SESSION['username']."</b></center> 
 <a href="editprofile.php" target="_blank">Profile</a> 
 <a href="logout.php" target="_blank">Log out</a>"; 
} 
?>


Переменная $ logged пуста во втором файле, поэтому! $ Logged всегда будет true, и первая часть будет всегда выполняться :) Используйте файл cookie во втором файле, чтобы узнать, зарегистрирован ли он или нет

licensed under cc by-sa 3.0 with attribution.