Всем привет =) Есть небольшая проблема один и тот же скрипт в одном месте записывает данные в куки, а вдругой папке тот же самый скрипт не записывает //Если пользователь хочет входить на сайт автоматически setcookie("login", $_POST['login'], time()+9999999); setcookie("password", $_POST['password'], time()+9999999); setcookie("auto", "yes", time()+9999999); setcookie("id", $myrow['id'], time()+9999999); оба файла обрашаются к файлу testreg.php (оба одинаковых) для проверки в обоих файлах testreg.php после записи куки вывела echo $_COOKIE['login']."<br>"; echo $_COOKIE['password']."<br>"; echo $_COOKIE['auto']."<br>"; echo $_COOKIE['id']."<br>"; в первом случае анологично ничего не выводит во втором случае выводит данные Не могу понять в чем дело, может в файле php.ini, хотя для проверки удалила его, увы нет?
Как обращаются инклудом? Если в разных директориях может пути не правильные? Удалила php.ini и как php запустился?
index.php Код (Text): <?php session_start(); include ("bd.php"); if (isset($_COOKIE['auto']) and isset($_COOKIE['login']) and isset($_COOKIE['password'])) { //если есть необходимые переменные if ($_COOKIE['auto'] == 'yes') { // если пользователь желает входить автоматически, то запускаем сессии $_SESSION['password'] = md5($_COOKIE['password'])."b3p6f"; $_SESSION['login']=$_COOKIE['login'];//сессия с логином $_SESSION['id']=$_COOKIE['id'];//идентификатор пользователя } } if (!empty($_SESSION['login']) and !empty($_SESSION['password'])) { //если существет логин и пароль в сессиях, то проверяем их $login = $_SESSION['login']; $password = $_SESSION['password']; $result = mysql_query("SELECT id FROM users WHERE login = '$login' AND password = '$password'",$db); $myrow = mysql_fetch_array($result); } ?> <html> <head> <title>Главная страница</title> </head> <body> <h2>Главная страница</h2> <?php if (!isset($myrow['id']) or $myrow['id']=='') { //проверяем, не извлечены ли данные пользователя из базы. Если нет, то он не вошел, либо пароль в сессии неверный. Выводим окно для входа. echo "<form action='testreg.php' method='post'> <p> <label>Ваш логин:<br></label> <input name='login' type='text' size='15' maxlength='15'> </p> <p> <label>Ваш пароль:<br></label> <input name='password' type='password' size='15' maxlength='15'> </p> <p> <input name='autovhod' type='checkbox' value='1' checked> Автоматический вход. </p> <p> <input type='submit' name='submit' value='Войти'> <br> <a href='reg.php'>Зарегистрироваться</a> <br> <a href='send_pass.php'>Забыли пароль?</a> </p> </form> <br> Вы вошли на сайт, как гость<br><a href='#'>Эта ссылка доступна только зарегистрированным пользователям</a>"; } else { //при удачном входе пользователю выдается все, что расположено ниже между звездочками. //************************************************************************************ echo " |<a href='page.php?id=$_SESSION[id]'>Моя страница</a> |<a href='index.php'>Главная страница</a> |<a href='all_users.php'>Список пользователей</a> |<a href='exit.php'>Выход</a> <br> <br> Вы вошли на сайт, как $_SESSION[login]<br> <a href='http://tvpavlovsk.sk6.ru/'>Эта ссылка доступна только зарегистрированным пользователям</a>"; //************************************************************************************ //при удачном входе пользователю выдается все, что расположено ВЫШЕ между звездочками. } ?> </body> </html> testreg.php Код (Text): <?php session_start(); if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} } if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} } if (empty($login) or empty($password)) { exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!"); //останавливаем выполнение сценариев } //удаляем лишние пробелы $login = trim($login); $password = trim($password); // подключаемся к базе include ("bd.php"); $password = md5($password);//шифруем пароль $password = $password."b3p6f"; //можно добавить несколько своих символов по вкусу, например, вписав "b3p6f" $result = mysql_query("SELECT * FROM users WHERE login = '$login' AND password = '$password' AND activation = '1'",$db); //извлекаем из базы все данные о пользователе с введенным логином //мы дописали «AND activation = '1'», то есть пользователь будет искаться только среди активированных. $myrow = mysql_fetch_array($result); if (empty($myrow['id'])) { exit ("Извините, введённый вами логин или пароль неверный."); //останавливаем выполнение сценариев } else { //если пароли совпадают, то запускаем пользователю сессию! Можете его поздравить, он вошел! $_SESSION['password']=$myrow['password']; $_SESSION['login']=$myrow['login']; $_SESSION['id']=$myrow['id'];//эти данные очень часто используются, вот их и будет "носить с собой" вошедший пользователь //Далее мы запоминаем данные в куки, для последующего входа. //ВНИМАНИЕ!!! ДЕЛАЙТЕ ЭТО НА ВАШЕ УСМОТРЕНИЕ, ТАК КАК ДАННЫЕ ХРАНЯТСЯ В КУКАХ БЕЗ ШИФРОВКИ if (isset($_POST['autovhod'])){ //Если пользователь хочет входить на сайт автоматически setcookie("auto", "yes", time()+9999999); setcookie("login", $_POST["login"], time()+9999999); setcookie("password", $_POST["password"], time()+9999999); setcookie("id", $myrow['id'], time()+9999999); echo $_COOKIE['login']."<br>"; echo $_COOKIE['password']."<br>"; echo $_COOKIE['auto']."<br>"; echo $_COOKIE['id']."<br>"; } } //перенаправляем пользователя на главную страничку, там ему и сообщим об удачном входе echo "<meta http-equiv='Refresh' content='2; URL=index.php'>"; ?> вот точно такой же файл в корневом каталоге работает до момента записи в куки echo $_COOKIE не работает а в папке test работает до этого не работало mail() по такому же принципу в корневом не отправляло а в папке test да потом техподдержка хостинга подсказала что в файле php.ini проблемы исправила и заработало на минутку удалила php.ini, не сработало не выводит echo $_COOKIE