Переменные сеанса PHP - в конце концов - PullRequest
1 голос
/ 29 июля 2010

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

Вот мой скрипт входа в систему, который активируется путем отправки формы:

<?php 
session_start();

$link = mysql_connect('xxxxxxx.ipowermysql.com', 'xxxxxx', 'xxxxxx'); 
if (!$link) { 
    die('Could not connect: ' . mysql_error()); 
} 

mysql_select_db(austinhabich_IC_20090511_174535) or die(msql_error());

$email=$_POST['email']; 
$password=$_POST['password'];

$sql="SELECT * FROM player WHERE email='$email' and password='$password'";
$result=mysql_query($sql);

$count=mysql_num_rows($result);

if($count==1){

$_SESSION['status'] = "1";      

header("location: main.php");
}
else {
echo "Wrong Username or Password";
}
?>

И вот страница, на которую он перенаправляет:

 <?php session_start(); ?>
 ...doctype stuff...

 <html
 xmlns="http://www.w3.org/1999/xhtml">
 <head> <meta http-equiv="Content-Type"
 content="text/html; charset=utf-8" />
 <title>Untitled Document</title>
 </head>

 <body> 

 <?
 echo $_SESSION['status'];

 ?> </body> </html>

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

PHP Verion - 5.2.12

1 Ответ

0 голосов
/ 29 июля 2010

На первый взгляд, три вещи:

  • Кажется, вам не хватает session_start() в первом сценарии.

  • Вы получите «Неверное имя пользователя», если учетная запись существует в таблице дважды или более, что иногда может происходить во время тестирования.

  • Выследует die() после выполнения header() перенаправления.

  • austinhabich_IC_20090511_174535 необходимо заключить в кавычки.

  • session_start(); нуждаетсявызываться в заголовке скрипта перед выводом любого HTML.

  • Ваши операторы SQL уязвимы для внедрения SQL.Входящие данные должны быть срочно обработаны с использованием mysql_real_escape_string перед использованием в запросе

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...