Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: проблема с сессией [2]
Форумы портала PHP.SU » » Если скрипт не работает » проблема с сессией

Страниц (2): « 1 [2]
 

16. ugin_root - 15 Октября, 2013 - 17:43:04 - перейти к сообщению
если у тебя там внутри сессии хранятся то нужны права на чтение и запись для пользователя под которым запускается процесс php! а у тебя там только суперпользователь может читать и записывать "-rw-------" а php по дефолту запускается не от имени суперпользователя

Хотя с другой стороны счётчик обычный у тебя работает, но это может быть связано с тем что в mysql.inc изменяется стандартная папка для хранения файлов сессий (session.save_path)
17. smittt - 18 Октября, 2013 - 21:43:03 - перейти к сообщению
В общем так и не разобрался с тем скриптом, понятия не имею, что там было не так. С сессиями все было и есть нормально. Что то не так было в коде, что не знаю. Переписал код на вот такое :
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. function logout() {
  4.     session_unset();
  5.     header("Location: http://" . $_SERVER['HTTP_HOST'] . "/pass/");
  6.     return true;
  7. }
  8.  
  9. function showLoginForm() {
  10. ?>
  11. <link rel="stylesheet" type="text/css" href="style.css" />
  12. <div class="add" align="center">
  13.     <form method="post">
  14.         <table>
  15.             <tr>
  16.                 <td>Login:</td><td><input type="text" name="login" /></td>
  17.             </tr>
  18.             <tr>
  19.                 <td>Passwd:</td><td><input type="password" name="passwd" /></td>
  20.             </tr>
  21.             <tr>
  22.                 <td colspan="2"><input type="submit" value="Login" /></td>
  23.             </tr>
  24.         </table>
  25.     </form>
  26. </div>
  27. <?PHP
  28. }
  29.  
  30. if (isset($_POST['login']) && isset($_POST['passwd'])) {
  31.     include("#mysql.inc");
  32.     $login = mysql_real_escape_string($_POST['login']);
  33.     $passwd = mysql_real_escape_string($_POST['passwd']);
  34.     $q = "SELECT * FROM `users` WHERE `login`='{$login}' AND `passwd`='{$passwd}' LIMIT 1";
  35.     $res = mysql_query($q) or trigger_error(mysql_error() . $q);
  36.     if (mysql_num_rows($res) > 0) {
  37.         $row = mysql_fetch_assoc($res);
  38.         $_SESSION['id'] = $row['uid'];
  39.         $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
  40.         header("Location: http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
  41.     }else{
  42.         die("incorrect login info");
  43.     }
  44. }
  45. if (isset($_GET['action']) && ($_GET['action'] == 'logout'))
  46.     logout();
  47. if (!isset($_SESSION['id']) OR $_SESSION['ip'] != $_SERVER['REMOTE_ADDR']) {
  48.     showLoginForm();
  49.     exit;
  50. }
  51. ?>

 

Powered by ExBB FM 1.0 RC1