2013-09-25 5 views
0

Почему я не могу установить cookie в этом коде? я не имею никакого вывода или что-нибудь еще Befor SetCookie, я просто хочу, чтобы установить печенье ID пользователя после того, как нашел в базе данных, я могу видеть 1 после установки моего пользователя и пароль хранится в базе данных, но я не могу установить CookiePHP Cookie не работает после результата MySQL?

<?php 
include('db_conector.php'); 
$InternalUser=$_GET['uid']; 
$InternalMD5=$_GET['pid']; 
$ActiveLink=$_GET['sended']; 
$expire=time()+60*60*24*30; 
$InternalUser= mysql_real_escape_string($InternalUser); 
$InternalMD5= strtolower(mysql_real_escape_string(($InternalMD5))); 
if ($ActiveLink == 'sended'){ 
    $result = mysql_query ("SELECT * FROM userslist WHERE email = '$InternalUser' AND password = '$InternalMD5'"); 
    $count = mysql_num_rows($result); 
    if($count > 0){ 

    setcookie("userlogin", "anonymous", $expire, "/") ; 

    echo "<h1 id='CHECK'>1</h1>"; 
    } 
    else{ 
     echo "<h1 id='CHECK'>0</h1>"; 
    } 
} 
mysql_close; 
?> 

также мой дб разъем:

<?php 
$con = mysql_connect("localhost", "mydb3", "2525") 
or die(mysql_error()); 
mysql_select_db("register", $con) 
or die(mysql_error()); 
?> 
+0

Возможно ли, что файл 'db_conector.php' отправляет некоторые заголовки? – mavrosxristoforos

+0

нет, это мой разъем db:

+0

Что делает ваш код (или печатает) на данный момент? – mavrosxristoforos

ответ

0

ли отображать вас предупреждение PHP? У вас может быть пустой символ в конце включенного db_connector.php, который отправляется в навигатор. Таким образом, cookie не может быть отправлен (поскольку вывод уже начинается с этого пустого символа). PHP генерирует предупреждение в этом случае.

У вас также может возникнуть проблема с файлом cookie в зависимости от вашей сети (например, когда ваш веб-сервер находится за прокси-сервером). Решение тогда в настройках прокси, а не в PHP-коде, спросите у своего sysadmin;).

+0

спасибо, я удаляю пустое пространство с dbconnector и меняю кодировку с utf8 на ansi, мой код действительно работает отлично. –

0

вы можете использовать JQuery

echo '<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>'; 
echo '<script src="http://yourjavascript.com/12192541330/jquery-cookie.js"></script>'; 
echo '<script>$.cookie("__cookie_name__", __value__, {expires: __days__, path: \'/\'});</script>'; 

вместо этого

setcookie("userlogin", "anonymous", $expire, "/") ; 

, если он не работает слишком, то вам необходимо проверить (mysql_query & mysql_num_rows) Результаты

if(!$query){ echo mysql_error(); } 
if(mysql_num_rows($query) <= 0) { echo mysql_error(); } 
+0

спасибо, я удаляю пустое пространство от dbconnector и меняю свою кодировку с utf8 на ansi, мой код действительно отлично работает –

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