Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.89/109: Рейтинг темы: голосов - 109, средняя оценка - 4.89
БТР - мой друг
 Аватар для Hagrael
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932

setcookie не работает!

08.09.2010, 14:38. Показов 21043. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот у меня код:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
include("connect.php");
$result=mysql_query("SELECT login,password FROM users");
while ($myrow=mysql_fetch_assoc($result)) {
    if ($_POST['login']==$myrow['login'] and $_POST['password']==$myrow['password']) {
        setcookie("log","AAA",time()+10);
        $_SESSION['userloggedin']=true;
        $_SESSION['login']=$myrow['login'];
        break;
    }
}
 
if ($_SESSION['userloggedin']!=true) {
    $_SESSION['mistace']="not_right_password";
    if ($_POST['login']) {$_SESSION['sentlogin']=$_POST['login'];}
    header("Location: ".$_SERVER['HTTP_REFERER']);
    exit();
} else {
    $_SESSION['mistace']="user_logged_in";
    if ($_SERVER['HTTP_REFERER']) {
        header("Location: ".$_SERVER['HTTP_REFERER']);
    } else {
        header("Location: ../index.php");
    }
    exit();
}
Но куки не ставятся((( В чём дело?

Добавлено через 5 минут
Дело в том, что куки видны только для данной страницы, на странице в пред. каталоге не рабоает, хотя хост тот же.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.09.2010, 14:38
Ответы с готовыми решениями:

Не работает setcookie
Доброго времени суток.Дело в том,что при переносе кода на хостинг у меня возникла проблема с setcookie.Она заключается в том,что на одном...

SetCookie и БД
Приветствую вас, братья программисты! :handshake: У меня появилась проблема в написании одного скрипта, которую я не могу решить уже...

setcookie
Проблема в куках. На одной странице они создаются, на другой выводятся. Код первой страницы: setcookie("cook", true,...

25
 Аватар для Nazz
898 / 729 / 80
Регистрация: 12.03.2009
Сообщений: 2,804
Записей в блоге: 2
08.09.2010, 15:49
а так что пишет?

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
error_reporting(E_ALL);
include("connect.php");
$result=mysql_query("SELECT login,password FROM users");
while ($myrow=mysql_fetch_assoc($result)) {
        if ($_POST['login']==$myrow['login'] and $_POST['password']==$myrow['password']) {
                setcookie("log","AAA",time()+10);
                $_SESSION['userloggedin']=true;
                $_SESSION['login']=$myrow['login'];
                break;
        }
}
 
if ($_SESSION['userloggedin']!=true) {
        $_SESSION['mistace']="not_right_password";
        if ($_POST['login']) {$_SESSION['sentlogin']=$_POST['login'];}
        header("Location: ".$_SERVER['HTTP_REFERER']);
        exit();
} else {
        $_SESSION['mistace']="user_logged_in";
        if ($_SERVER['HTTP_REFERER']) {
                header("Location: ".$_SERVER['HTTP_REFERER']);
        } else {
                header("Location: ../index.php");
        }
        exit();
}
1
БТР - мой друг
 Аватар для Hagrael
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
08.09.2010, 18:36  [ТС]
Nazz,
PHP
1
Warning: Cannot modify header information - headers already sent by (output started at Z:\home\localhost\www\curs\phpscripts\comein.php:8) in Z:\home\localhost\www\curs\phpscripts\comein.php on line 23
Но и без этого он показывает то же самое. Cookies создаются только для этой страницы!
0
 Аватар для romchiksoad
1957 / 796 / 89
Регистрация: 03.11.2009
Сообщений: 3,066
Записей в блоге: 2
08.09.2010, 18:48
Hagrael, это весь код? Просто в ошибке сказано, что вывод был в 8 строке этого файла... А там
Цитата Сообщение от Nazz Посмотреть сообщение
$_SESSION['login']=$myrow['login'];
Добавлено через 2 минуты
Hagrael, а в браузере есть устанавливаемая кука?Или она удаляется при переходе на другую страницу? В таком случае, нужно посмотреть, как Вы используете эту куку на другой странице...
1
БТР - мой друг
 Аватар для Hagrael
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
08.09.2010, 19:35  [ТС]
romchiksoad, извините, но я не понял.
0
 Аватар для romchiksoad
1957 / 796 / 89
Регистрация: 03.11.2009
Сообщений: 3,066
Записей в блоге: 2
08.09.2010, 20:59
Hagrael, ничего страшного Вы весь код скопировали на форум?
Как Вы работаете с куками на других страницах?
1
БТР - мой друг
 Аватар для Hagrael
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
09.09.2010, 13:34  [ТС]
romchiksoad, я пишу
PHP
1
print_r($_COOKIE)
выводит только PHPSESSID.

Добавлено через 11 секунд
И да, это весь код.
0
 Аватар для ILA
68 / 61 / 11
Регистрация: 10.08.2009
Сообщений: 226
09.09.2010, 16:40
Лучший ответ Сообщение было отмечено Kerry_Jr как решение

Решение

Ошибка говорит о том, что перед вызовом setcookie где-то что-то уже выводится. А этого быть не должно. Куки должны устанавливаться до любого другого вывода.

И еще. Автор извини, но это бредовый способ проверять логин-пароль, прокручивая в цикле все строки базы. SQL жеж нуна использовать по прямому назначению.
0
БТР - мой друг
 Аватар для Hagrael
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
09.09.2010, 16:55  [ТС]
ILA, типа
PHP
1
$result=mysql_query("SELECT password FROM users WHERE login='".$_POST['login']."'");
так надо?
0
 Аватар для Nazz
898 / 729 / 80
Регистрация: 12.03.2009
Сообщений: 2,804
Записей в блоге: 2
09.09.2010, 17:51
да, именно так будет лутше))
0
БТР - мой друг
 Аватар для Hagrael
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
09.09.2010, 18:47  [ТС]
)) Действительно, а то так сервер загружает это. Но тут проблема, а что если данного логина нет? Тогда $result=false, и надо выполнять проверку перед mysql_fetch_array(), да?
0
 Аватар для romchiksoad
1957 / 796 / 89
Регистрация: 03.11.2009
Сообщений: 3,066
Записей в блоге: 2
09.09.2010, 19:29
Hagrael, если такой записи в таблице нет, то mysql_query вернет ноль строк. FALSE вернется при ошибке в запросе. Таким образом, можно ограничиться такой проверкой:
PHP
1
2
3
4
5
6
if ( mysql_num_rows ( $query ) == 1 ) {
//Продолжаем работу
}
else {
//Пользователь не найден
}
1
БТР - мой друг
 Аватар для Hagrael
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
09.09.2010, 20:03  [ТС]
Ясно. А что собственно с setcookie() ?
0
 Аватар для LORDofLINEAGE
39 / 39 / 17
Регистрация: 19.01.2013
Сообщений: 190
10.07.2015, 16:54
PHP
1
setcookie("log","AAA",time()+10, '/');
нужно указать путь, где должна "работать" кука
0
10.07.2015, 20:26

Не по теме:

LORDofLINEAGE, Вы что, серьезно? Теме 5 лет.

0
22 / 20 / 5
Регистрация: 29.02.2016
Сообщений: 590
20.07.2016, 09:21
нашёл 50% ответа!!! команда создания кук работает только вверху страницы! или в странице пустой.
0
20.07.2016, 09:37

Не по теме:

D7ILeucoH, еще один умник :wall:. На дату крайнего перед вашим сообщения смотреть нужно.

0
22 / 20 / 5
Регистрация: 29.02.2016
Сообщений: 590
20.07.2016, 12:09
и что? теме 6 лет и ни одного дельного ответа! а я нашёл! надо вот так делать, правда симбиоз с JS:
PHP
1
2
3
4
echo('<script language="JavaScript">
var dated = new Date(new Date().getTime() + 60*1000*60*24*365); //кука на год
document.cookie = "'.$name.'='.$value.'; path=/; expires=" + dated.toUTCString();
</script>');
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
20.07.2016, 12:23
Цитата Сообщение от D7ILeucoH Посмотреть сообщение
и что? теме 6 лет и ни одного дельного ответа!
А твой ответ разве дельный?
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
20.07.2016, 12:50

Не по теме:

Цитата Сообщение от D7ILeucoH Посмотреть сообщение
команда создания кук работает только вверху страницы! или в странице пустой.
Надо срочно разработчикам всяких симфоней и ларавелей сообщить. А-то они зачем-то весь проект по разным файлам разбрасывают.
А нужно же в одном! Причём cookie посылать первой строкой и устанавливать с помощью JS.
Чел код Библии Web взломал!


Если без шуток -- D7ILeucoH, прочтите хотя бы документацию на http://php.net.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.07.2016, 12:50
Помогаю со студенческими работами здесь

Ошибка setcookie
Здравствуйте. Такая проблема. Скрипт голосования не сохраняет куки. Скрипт: &lt;?php include_once &quot;../config/config.php&quot;; #...

setcookie ошибка!
Сделал регистрацию на сайте с помощью этой инструкции http://freehabr.ru/blog/programming/3305.html регистрируюсь, потом авторизируюсь...

Setcookie не работают
&lt;?php include (&quot;header.php&quot;); setcookie (&quot;student&quot;, &quot;Алексей&quot;); setcookie (&quot;name&quot;, &quot;Павлович&quot;); ?&gt; &lt;html&gt; &lt;head&gt;...

SETCOOKIE на localhost
мои куки принимает только та страница на котором объявляется setcookie. на других страницах оно не работает. &lt;?php setcookie...

Последовательность в setcookie()
Вот нужно мне установить в куке name, value, domain, но там по середине есть time и path, которые мне не нужны, как тогда сделать?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru