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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: cookie и работа с ним

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
postal
Отправлено: 04 Мая, 2012 - 22:43:15
Post Id


Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Апр. 2012  


Помог: 0 раз(а)




На сайте хочу сделать Админку для добавление данных в БД , вот возникла проблема :

CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. if($_COOKIE['user'] == "admin" && $_COOKIE['pass']=="12345")
  3. //и если данные правильны то дальше отображается блок
  4.  
  5. ?>

для формы
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2.         if($_POST['login'] == "admin" && $_POST['pass'] =="12345")
  3.         {
  4.                 setcookie ('user','admin');
  5.                setcookie ('pass','12345');
  6.         }
  7. ?>
  8.  

Выводит такую ошибку:
Warning: Cannot modify header information - headers already sent by ....

Ошибка возникает в строках где функция setcookie

(Отредактировано автором: 04 Мая, 2012 - 22:57:06)

 
 Top
caballero
Отправлено: 04 Мая, 2012 - 22:44:34
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




какая проблема (кроме той что ты пароль админа пытаешся в куках оставить)


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
avtor.fox
Отправлено: 04 Мая, 2012 - 22:46:53
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


Помог: 50 раз(а)




Ошибка раз. Проверка у Вас - или логин равен... или пароль равен. Нужно ставить "и".
Ошибка два. Не храните пароль от админки в явном виде. Тем более в куках. Пароль = хешь + соль. Используйте сессии.
 
 Top
postal
Отправлено: 04 Мая, 2012 - 22:51:33
Post Id


Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Апр. 2012  


Помог: 0 раз(а)




Просто не дописал и нажал Ctrl + Enter )))
Вот собственно ошибка
Warning: Cannot modify header information - headers already sent by
 
 Top
avtor.fox
Отправлено: 04 Мая, 2012 - 23:07:06
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


Помог: 50 раз(а)




Спойлер (Отобразить)

У Вас заголовки отправляются после вывода контента.
 
 Top
postal
Отправлено: 04 Мая, 2012 - 23:09:52
Post Id


Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Апр. 2012  


Помог: 0 раз(а)




avtor.fox пишет:
Спойлер (Отобразить)

У Вас заголовки отправляются после вывода контента.

У меня там ещё форма , через POST , вот почему то записываться в куки файл не хочет , пробовал просто так даже

CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. setcookie ('a','dasda');
  3. echo ($_COOKIE['a']);
  4. ?>

та же ошибка выдается , в google искал , пробовал , не че не помогло . Кодировка файла и charset cp1251

(Отредактировано автором: 04 Мая, 2012 - 23:12:25)

 
 Top
avtor.fox
Отправлено: 04 Мая, 2012 - 23:17:20
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


Помог: 50 раз(а)




попробуйте преобразовать файл в utf8 без BOM.
А код вот такой -

PHP:
скопировать код в буфер обмена
  1. if(!$_COOKIE['test']){
  2. setcookie('test', 'texttexttext', time()+3600);
  3. }
  4. else{
  5. echo $_COOKIE['test'];
  6. }


Без всякого пост и прочего. Чистый файл в UTF8
 
 Top
postal
Отправлено: 04 Мая, 2012 - 23:22:59
Post Id


Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Апр. 2012  


Помог: 0 раз(а)




avtor.fox пишет:
попробуйте преобразовать файл в utf8 без BOM.
А код вот такой -

PHP:
скопировать код в буфер обмена
  1. if(!$_COOKIE['test']){
  2. setcookie('test', 'texttexttext', time()+3600);
  3. }
  4. else{
  5. echo $_COOKIE['test'];
  6. }


Без всякого пост и прочего. Чистый файл в UTF8

Да так работает , просто post там потому что несколько блоков , один из них вход на сайт
 
 Top
avtor.fox
Отправлено: 04 Мая, 2012 - 23:32:52
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


Помог: 50 раз(а)




мде. код в студию.
 
 Top
postal
Отправлено: 04 Мая, 2012 - 23:36:03
Post Id


Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Апр. 2012  


Помог: 0 раз(а)




CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.         <div id="objavlenie_main"><!--Главный блок объявлений -->
  3.                 <h1>Объявления</h1><!--заголовок объявлений -->
  4.                 <div id="objavlenie_block">
  5.                 <ul class="glochka">
  6.                 <?php
  7.                         $connect = mysql_connect('localhost','user','1111') or die ('Невожможно подключиться '.mysql_error());
  8.                         mysql_select_db('dbase');
  9.                         $select = mysql_query("SELECT * FROM news ORDER BY ID DESC");
  10.                         $fselect = mysql_fetch_assoc($select);
  11.                         $i = 0;
  12.                         while($fselect && $i < 7)
  13.                         {
  14.                                         echo ('<li>'.$fselect['zagolovok'].'</li>');
  15.                                         $fselect = mysql_fetch_assoc($select);
  16.                                         $i++;
  17.                         }
  18.                         mysql_close($connect);
  19.                         ?>
  20.                 </ul>
  21.                 </div>
  22.                
  23.                 <!--Блок входа на сайт-->
  24.                 <h1>Вход на сайт</h1>
  25.                 <div align="center" id="objavlenie_block">
  26.                 <form action="" method=post class="form_style">
  27.             Логин<br/>
  28.             <input type="text" name="login" size="22">
  29.             <br/>Пароль<br/>
  30.             <input type="password" name="pass" size="22">
  31.             <br/><input type="submit" value="Вход" name="open">
  32.                         <br/>
  33.                 </form>
  34.                 </div>
  35.                
  36.                 <?php
  37.                 if($_POST['login'] == "admin" && $_POST['pass'] =="01234") //Запись в файл cookie
  38.                 {
  39.                         setcookie ("kapriz_login",$_POST['login']);
  40.                         setcookie ("kapriz_pass",$_POST['pass']);
  41.                 }
  42.         </div>
  43.  

user это для блока новостей, carset тут не указан и вообще не чего из <head> так как файл инклюдится

(Отредактировано автором: 04 Мая, 2012 - 23:39:54)

 
 Top
avtor.fox
Отправлено: 04 Мая, 2012 - 23:39:49
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


Помог: 50 раз(а)




Код пожалуйста начинающийся с первой строки и заканчивающийся тегом
 
 Top
postal
Отправлено: 04 Мая, 2012 - 23:40:49
Post Id


Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Апр. 2012  


Помог: 0 раз(а)




avtor.fox пишет:
Код пожалуйста начинающийся с первой строки и заканчивающийся тегом

этот файл инклюдится к другим страницам , там все прописано
 
 Top
avtor.fox
Отправлено: 04 Мая, 2012 - 23:45:00
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


Помог: 50 раз(а)




Тогда не морочьте голову. У Вас в этом файле нет заголовков. И вообще. В ошибке же сказано какой файл пытается отправить заголовки после вывода контента (и даже какая строка). О как Однако
 
 Top
postal
Отправлено: 04 Мая, 2012 - 23:47:47
Post Id


Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Апр. 2012  


Помог: 0 раз(а)




avtor.fox пишет:
Тогда не морочьте голову. У Вас в этом файле нет заголовков. И вообще. В ошибке же сказано какой файл пытается отправить заголовки после вывода контента (и даже какая строка). О как Однако

Я сейчас попробую что нибудь придумать , кое что уже прояснилось спасибо за ответы , если что напишу ) что и как сделал
 
 Top
Wol_fi
Отправлено: 05 Мая, 2012 - 00:06:26
Post Id


Новичок


Покинул форум
Сообщений всего: 60
Дата рег-ции: Февр. 2012  


Помог: 2 раз(а)




postal пишет:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.         <div id="objavlenie_main"><!--Главный блок объявлений -->
  3.                 <h1>Объявления</h1><!--заголовок объявлений -->
  4.                 <div id="objavlenie_block">
  5.                 <ul class="glochka">
  6.                 <?php
  7.                         $connect = mysql_connect('localhost','user','1111') or die ('Невожможно подключиться '.mysql_error());
  8.                         mysql_select_db('dbase');
  9.                         $select = mysql_query("SELECT * FROM news ORDER BY ID DESC");
  10.                         $fselect = mysql_fetch_assoc($select);
  11.                         $i = 0;
  12.                         while($fselect && $i < 7)
  13.                         {
  14.                                         echo ('<li>'.$fselect['zagolovok'].'</li>');
  15.                                         $fselect = mysql_fetch_assoc($select);
  16.                                         $i++;
  17.                         }
  18.                         mysql_close($connect);
  19.                         ?>
  20.                 </ul>
  21.                 </div>
  22.                
  23.                 <!--Блок входа на сайт-->
  24.                 <h1>Вход на сайт</h1>
  25.                 <div align="center" id="objavlenie_block">
  26.                 <form action="" method=post class="form_style">
  27.             Логин<br/>
  28.             <input type="text" name="login" size="22">
  29.             <br/>Пароль<br/>
  30.             <input type="password" name="pass" size="22">
  31.             <br/><input type="submit" value="Вход" name="open">
  32.                         <br/>
  33.                 </form>
  34.                 </div>
  35.                
  36.                 <?php
  37.                 if($_POST['login'] == "admin" && $_POST['pass'] =="01234") //Запись в файл cookie
  38.                 {
  39.                         setcookie ("kapriz_login",$_POST['login']);
  40.                         setcookie ("kapriz_pass",$_POST['pass']);
  41.                 }
  42.         </div>
  43.  

user это для блока новостей, carset тут не указан и вообще не чего из <head> так как файл инклюдится


У вас уже тело ответа выводится, а вы тут пытаетесь заголовки вывести, так нельзя, с куками нужно работать до вывода какого-либо кода, и желательно до первого закрытия тега ?> так как даже один пробел может быть воспринят как тело ответа. То есть сначала файла, без пробела
PHP:
скопировать код в буфер обмена
  1. <?PHP /*тут работа с куками и любыми другими заголовками*/ ?> а тут уже всё что угодно
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB