За последние 24 часа нас посетили 15569 программистов и 1603 робота. Сейчас ищут 838 программистов ...

Проблема с куками

Тема в разделе "PHP для новичков", создана пользователем danies, 22 июл 2014.

  1. danies

    danies Новичок

    С нами с:
    21 июл 2014
    Сообщения:
    38
    Симпатии:
    0
    Почему-то значения user_id всегда равно 1

    Код (Text):
    1. <?php
    2. require_once 'config1280/database_connection.php';
    3.  
    4.  
    5.  
    6. if (!isset($_COOKIE['user_id'])) {
    7.  
    8.  
    9.   if (isset($_POST['email'])) {
    10.  
    11.     $email = mysql_real_escape_string(trim($_REQUEST['email']));
    12.     $pass_user = mysql_real_escape_string(trim($_REQUEST['pass_user']));
    13.  
    14.  
    15.     $query = sprintf("SELECT user_id, email FROM users " .
    16.                      " WHERE email = '%s' AND " .
    17.                      "       pass_user = '%s';",
    18.                      $email, crypt($pass_user, $email));
    19.  
    20.     $results = mysql_query($query);
    21.  
    22.     if (mysql_num_rows($results) == 1) {
    23.       $result = mysql_fetch_array($results);
    24.       $user_id = $result['user_id'];
    25.       setcookie ('user_id', $user_id, 0);
    26.       setcookie ('email', $result['email'], 0);
    27.  
    28.       header("Location: show_user.php");
    29.     } else {
    30.  
    31.       echo "Вы неверно ввели информацию.";
    32.     }
    33.   }
    34.  
    35.  
    36.  
    37. ?>
    38. <html>
    39. <head>
    40. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    41. <title>elysium PW</title>
    42. <link type="text/css" rel="StyleSheet" href="css/my.css" />
    43.   <link href="css/jquery.validate.password.css" rel="stylesheet" type="text/css" />
    44.  
    45.  <script type="text/javascript" src="js/jquery.js"></script>
    46.   <script type="text/javascript" src="js/jquery.validate.js"></script>
    47.   <script type="text/javascript" src="js/jquery.validate.password.js"></script>
    48. </head>
    49. <body>
    50.  <script type="text/javascript">
    51.     $(document).ready(function() {
    52.       $("#signup_form").validate({
    53.         rules: {
    54.           password: {
    55.             minlength: 6
    56.           },
    57.           confirm_password: {
    58.             minlength: 6,
    59.             equalTo: "#password"
    60.           }
    61.         },
    62.         messages: {
    63.           password: {
    64.             minlength: "Пароль должен содержать минимум 6 символов."
    65.           },
    66.           confirm_password: {
    67.             minlength: "Пароль должен содержать минимум 6 символов.",
    68.             equalTo: "Ваши пароли не совпадают."
    69.           }
    70.         }
    71.       });
    72.     });
    73.   </script>
    74. <ul id="menu">
    75.     <li><a href="#"><span>Главная</span></a></li>
    76.     <li><a href="iindex.php"><span>Регистрация</span></a></li>
    77.     <li><a href="vxod.html"><span>Вход</span></a></li>
    78.     <li><a href="admin.php"><span>Управление</span></a></li>
    79. </ul>
    80.  
    81. <table width="70%" align="right"><tr><td align="left">
    82. <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST"  enctype="multipart/form-data" class="register_form" id="signup_form">
    83. <p class="head">Регистрация</p><br>
    84.  
    85.  
    86.  
    87. <INPUT NAME="email" id="email" style="width:427px;" placeholder="Почта" class="email required" value="<?php if (isset($email)) echo $email; ?>">
    88. <br><br>
    89. <INPUT TYPE="password" NAME="pass_user" id="pass_user" style="width:427px;" placeholder="Пароль"  class="required" >
    90. <br><br>
    91. <input type="submit" value="Отправить" class="submit">
    92.  
    93. <input type="reset" value="Очистить" class="submit">
    94. </form>
    95. </td>
    96. </tr>
    97. </table>
    98.  
    99. </body>
    100. </html>
    101. <?php
    102. } else {
    103.   header("Location: show_user.php");
    104. }
    105.  
    106. ?>
    То есть строчка setcookie ('user_id', $user_id, 0); всегда возвращает 1,а если к примеру, вместо header("Location: show_user.php"); прописать echo $user_id;,пишет его правильно

    Добавлено спустя 30 минут 46 секунд:
    Хм..получилось только если заменить $_REQUEST на $_COOKIE.Но ведь они должны давать одинаковый результат,по идее
     
  2. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.250
    Адрес:
    там-сям
    это по плохой идее )))