PHP и новый Хост

damner2

Новичок
посмотрел
вроде всё ок
есть тока 3 варианта:
1. либо suhosin что-то делает с сессиями
2. либо директория /tmp не доступна для записи, но в этом случае должна была выводиться ошибка и раньше
пока что больше идей нет....
3. сессии работаю и проблема не в них

сделай файлик и открой в браузере:
PHP:
ini_set("session.save_path", dirname(__FILE__));
ini_set("display_errors", 1);
error_reporting(E_ALL);
session_start();
$_SESSION["a"] = "test";
session_write_close();
unset($_SESSION);
session_start();
var_dump($_SESSION);
выводит test? если да, то сессии точно работают
 

Maxxis

Новичок
посмотрел
вроде всё ок
есть тока 3 варианта:
1. либо suhosin что-то делает с сессиями
2. либо директория /tmp не доступна для записи, но в этом случае должна была выводиться ошибка и раньше
пока что больше идей нет....
3. сессии работаю и проблема не в них

сделай файлик и открой в браузере:
PHP:
ini_set("session.save_path", dirname(__FILE__));
ini_set("display_errors", 1);
error_reporting(E_ALL);
session_start();
$_SESSION["a"] = "test";
session_write_close();
unset($_SESSION);
session_start();
var_dump($_SESSION);
выводит test? если да, то сессии точно работают
Выводит : array(1) { ["a"]=> string(4) "test" }
http://uidrive.com.ua/1.php
 

Ирокез

бессмертный пони
Команда форума
Партнер клуба
PHP:
>> ВОТ ЭТО ob_start();

include("config.php");
session_start();
                                                //include CONFIG FILE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
if($_REQUEST['act']=='logout'){
        unset($_SESSION['login']);
        unset($_SESSION['password']);
        Header('Location:http://localhost:8080/www/auto/autosearch.html');
    }
 
     
    //Check for empty
    if(empty($_POST['password']) and (empty($_POST['login']))){
    echo("Вы не ввели ни одного символа в поля авторизации.");
    exit();
    }
    if(empty($_POST['password'])or(empty($_POST['login']))){
    echo("Вы ввели не полную информацию в поля авторизации");
    }
    else{
    // SQL SOURSE POST[LOGIN]
    $query = "SELECT password FROM `users` WHERE login='".$_POST['login']."'";}
    $sql =mysql_query($query);
    if(!$sql)
    {
      echo "Error cennection";
      exit();
    }
    if(mysql_num_rows($sql) > 0)
    {
       $password = mysql_result($sql,0);
       //SRAVNIT PAROL
       if ($_POST['password'] == $password){
            $_SESSION['login']=$_POST['login'];
            $_SESSION['password']=$_POST['password'];
         $_SESSION['uid']=@mysql_result(@mysql_query("SELECT * from `users` WHERE login='".$_POST['login']."';"),'0','user_id');
         $_SESSION['messages']=@mysql_result(@mysql_query("SELECT * from `users` WHERE login='".$_POST['login']."';"),'0','messages');
         $_SESSION['sid']=session_id();
         }
        header('Refresh:1;index.html');  //$_SERVER[REQUEST_URI]
       exit();
       }
    /////IF NOT USER
    else
    {
      echo "Ошибка идентификации: неправильный логин или пароль";
      exit();
    }
 

Andkorol

Новичок
Это правильно или нет?
вот что выдает ваша страница по ссылке:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/uidrivec/public_html/1.php:9) in /home/uidrivec/public_html/1.php on line 14

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/uidrivec/public_html/1.php:9) in /home/uidrivec/public_html/1.php on line 14

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/uidrivec/public_html/1.php:9) in /home/uidrivec/public_html/1.php on line 18

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/uidrivec/public_html/1.php:9) in /home/uidrivec/public_html/1.php on line 18
array(1) { ["a"]=> string(4) "test" }
Warning-и нужно устранить.
 

damner2

Новичок
Maxxis
эээээ
а у тебя пароль содержит русские буквы? =))))))
колись =) это важно!
 

damner2

Новичок
Maxxis
не, не в хостере дело
вместо строки (чтоб не было перенаправления)
PHP:
header('Refresh:1;index.html');
напиши
PHP:
var_dump($_SESSION);
и посмотри, все ли ожидаемые значения выводятся
 

Maxxis

Новичок
damner2
сделал дамп ,все нужные значения находятся в $_SESSION
 

damner2

Новичок
Maxxis
хз
должно передаваться тогда
сори, мне пора ехать, если разгадаешь - напиши - поржём :D

Ирокез
кука у него устанавливается, так что не в этом проблема
 

damner2

Новичок
Maxxis
посмотри создаётся ли у тебя файл сессии (в директории /tmp на сервере судя по phpinfo), файл должен называться так же как и id сессии ( session_id() )
посмотри есть ли в файле сериализованные данные
если есть всё, то проблема только во втором файле (на который идёт перенаправление)
если нет файла или данных в нём, то проблема в первом твоём файле (сессия не создаётся)
 

Maxxis

Новичок
Maxxis
посмотри создаётся ли у тебя файл сессии (в директории /tmp на сервере судя по phpinfo), файл должен называться так же как и id сессии ( session_id() )
посмотри есть ли в файле сериализованные данные
если есть всё, то проблема только во втором файле (на который идёт перенаправление)
если нет файла или данных в нём, то проблема в первом твоём файле (сессия не создаётся)
Создается файл :sess_09574df95d9ccac6202a3ebc95fca5c5
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Ребята, извините, что прериваю ваш шабаш.
Но хватит гадать на манной гуще.

ТС - вот тебе направление движения (это если тебе интересно разобраться и сделать правильно).
www.phpfaq.ru/debug
www.phpfaq.ru/header

Я тебе да 100% гарантию, что там где это типо все работает, output_buffering включен.

Ты, конечно, можешь подпереть свой скрипт на боевом серваке костылем, включив буферинг.
Можешь сделать так, чтобы твой скрипт работал без этой зависимости.

Ну так тебе синюю или красную?

Если красную, то велкам по ссылкам вверху.
 
  • Like
Реакции: AmdY
Сверху