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 :: Версия для печати :: вопрос о функцие ini_set("session.save_path", )
Форумы портала PHP.SU » » HTTP и PHP » вопрос о функцие ini_set("session.save_path", )

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

1. dadli - 09 Июня, 2011 - 01:21:51 - перейти к сообщению
здравствуйте пхписти, естъ проблема в сесии и помагите пожалуиста:

естъ две фаила: index.php и auth.php

ета код index.php


PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if (isset($_REQUEST[session_name()])) {
  3. }
  4. ?>
  5. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  6. <html xmlns="http://www.w3.org/1999/xhtml">
  7. <head>
  8. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  9. <title>titlе</title>
  10. </head>
  11.  
  12. <body>
  13. <?PHP
  14. if (isset($_SESSION['name'])) {
  15. echo "привет ".$_SESSION['name']." ви авторизовани";
  16. }
  17. else {
  18. echo "ви не авторизовани, ви гост";
  19. }
  20.  
  21.  
  22. echo "<br>";
  23. ?>
  24.  
  25.  
  26.  
  27. <form action="auth.php" method="post" name="">
  28. <input type="text" name="userlogin" />
  29. <input type="password" name="userpassword" />
  30. <input type="submit" name="sub" value="вход" />
  31. </form>
  32.  
  33. </body>
  34. </html>





а ето код фаила auth.php


PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if (isset($_POST['userlogin'])) {
  3. $userlogin = $_POST['userlogin'];
  4. }
  5.  
  6. if (isset($_POST['userpassword'])) {
  7. $userpassword = $_POST['userpassword'];
  8. }
  9.  
  10.  
  11.  
  12. if (isset($userlogin) && isset($userpassword)) {
  13.         if ($userlogin == "morgan" && $userpassword == "freeman") {
  14.         /*ini_set("session.save_path", $_SERVER['DOCUMENT_ROOT'].'/ses');*/
  15.         session_start();
  16.         $_SESSION['name'] = $userlogin;
  17.         header("Location: index.php");
  18.         }
  19. }
  20. ?>



если логин и пассворд савпадает, auth.php делает етава:
стартует сесию, глобалном масиве $_SESSION['name'] дает значение "morgan" и перенаправляет в фаиле index.php
после перенаправленя т.е. после авторизации в фаиле index.php вижу:
привет morgan ви авторизовани


харашо, так всо работает, но тепер я хачу што сесия сохранилос не в папку /tmp, а в папку ses (папка ses лежит там же, где index.php и auth.php), для етава я в фаиле auth.php удаляю знаки коментара етаму строку:
ini_set("session.save_path", $_SERVER['DOCUMENT_ROOT'].'/ses');
после етава сесия сохраняется точно там, где я хотел - в папку ses
но возникла такая проблема: после авторизации, в фаиле index.php вижу:
ви не авторизовани, ви гост
ето значит што глобални масив $_SESSION[] уже не передается да?
видна што ета сделал функця ini_set("session.save_path", );
а пачему? я не правилном месте написал ету функцю? если ета так, где и как нада написат функцю ini_set("session.save_path", ); штоб:
изменилос папка сохранении сесии
и успешно передалос глобални масив $_SESSION[]


ето всо я тестирую на локалном сервре - денвере,
верся php - 5.3.3

помагите пожалуиста если поняли мои руски && если естъ желание помочь. Улыбка
2. DeepVarvar - 09 Июня, 2011 - 01:33:18 - перейти к сообщению
ini_set нужен во всех файлах
3. dadli - 09 Июня, 2011 - 01:37:40 - перейти к сообщению
очен балшои спасибо вам DeepVarvar

 

Powered by ExBB FM 1.0 RC1