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 :: Версия для печати :: вопрос по работе с cookie
Форумы портала PHP.SU » » Вопросы новичков » вопрос по работе с cookie

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

1. daniil_belar - 30 Июля, 2012 - 16:05:07 - перейти к сообщению
здравствуйте.
вот сам код сайла
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. if(isset($_COOKIE['Mortal'])) {
  3. echo "trololo";
  4. } else {
  5. ?>
  6.  
  7.  
  8. <html><head><title></title></head><body>
  9. <form method="POST">
  10. ведите ваш логин <input type="text" name="login"><br>
  11. ведите ваш пароль <input type="password" name="pass"><br>
  12. <input type="submit" value="enter" name="enter">
  13. </form>
  14. </body></html>
  15. <?php
  16.  
  17. }
  18. ?>
  19. <?php
  20.  
  21. // делаем обработчик формы если пользователь ещё не вел все пароли доступа для входа
  22. $enter = $_POST['enter']; // 18 строка
  23. $login = $_POST['login'];
  24. $pass = $_POST['pass'];
  25. $admin = "admin";
  26. $password = 1111;
  27. if(isset($enter)) {
  28. // делаем проверку на заранее известный скрипту пароль и логин
  29. if($login == $admin AND $pass == $password) {
  30. echo "вход произошел успешно";
  31. //set_cookie("Mortal","Value",time()+3600);
  32. setcookie("Mortal", "site", time()+3600);
  33. } else {
  34. exit ('неверно');
  35. }
  36. }
  37. ?>


выдает ошибку с заголовками Cannot modify header information - headers already sent by (output started at /home/la2host.ru/paint-design/sites/www/red/admin.php:1) in /home/la2host.ru/paint-design/si tes/www/red/admin.php on line 32

пробовал через редакторы ставить кодировку UTF-8 без BOOM, только меняется сама кодировка текста, ошибка остается.

помогите найти выход с ситуации
2. Alho - 30 Июля, 2012 - 16:08:04 - перейти к сообщению
setcookie нужно делать до того, как была выведена любая информация.
Т.е. переносим установку куки над формой.
3. daniil_belar - 30 Июля, 2012 - 16:11:08 - перейти к сообщению
сейчас я заметил в Notepad++ проблема решается, но кодировка на "казявки" меняется.
как можно вернуть кодировку русскую в файл
4. NoPaper - 30 Июля, 2012 - 16:11:12 - перейти к сообщению
daniil_belar пишет:
здравствуйте.
вот сам код сайла

кешируй вывод функцией ob_start
(Добавление)
daniil_belar пишет:
сейчас я заметил в Notepad++ проблема решается, но кодировка на "казявки" меняется.
как можно вернуть кодировку русскую в файл

кодировка тут ни при чем, не в ту сторону ковыряешь
5. daniil_belar - 30 Июля, 2012 - 16:17:01 - перейти к сообщению
NoPaper
привет. можешь примерно скинуть как в моей случае надо использовать эту функцию ob_start для кэширования? (по поводу кукисов моя тема)
6. NoPaper - 30 Июля, 2012 - 16:19:59 - перейти к сообщению
daniil_belar пишет:
NoPaper
привет. можешь примерно скинуть как в моей случае надо использовать эту функцию ob_start для кэширования? (по поводу кукисов моя тема)

в самом начале скрипта пишешь ob_start();
в конце ob_end_flush();

Еще можешь почитать пост
7. daniil_belar - 30 Июля, 2012 - 16:44:48 - перейти к сообщению
а можешь попробовать сам примерно сюда скинуть как в коде должно быть. ошибка все равно сохраняется, а в UTF-8 без BOOM кодировка корячками
8. NoPaper - 30 Июля, 2012 - 16:56:18 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. header('Content-type: text/html; charset=utf-8');
  3.  
  4. if(isset($_COOKIE['Mortal'])) {
  5.  
  6. echo "trololo";
  7.  
  8. } else {
  9.  
  10. ?>
  11.  
  12.  
  13.  
  14.  
  15.  
  16. <html><head><title></title></head><body>
  17.  
  18. <form method="POST">
  19.  
  20. ведите ваш логин <input type="text" name="login"><br>
  21.  
  22. ведите ваш пароль <input type="password" name="pass"><br>
  23.  
  24. <input type="submit" value="enter" name="enter">
  25.  
  26. </form>
  27.  
  28. </body></html>
  29.  
  30. <?PHP
  31.  
  32.  
  33.  
  34. }
  35.  
  36. ?>
  37.  
  38. <?PHP
  39.  
  40.  
  41.  
  42. // делаем обработчик формы если пользователь ещё не вел все пароли доступа для входа
  43.  
  44. $enter = $_POST['enter']; // 18 строка
  45.  
  46. $login = $_POST['login'];
  47.  
  48. $pass = $_POST['pass'];
  49.  
  50. $admin = "admin";
  51.  
  52. $password = 1111;
  53.  
  54. if(isset($enter)) {
  55.  
  56. // делаем проверку на заранее известный скрипту пароль и логин
  57.  
  58. if($login == $admin AND $pass == $password) {
  59.  
  60. echo "вход произошел успешно";
  61.  
  62. //set_cookie("Mortal","Value",time()+3600);
  63.  
  64. setcookie("Mortal", "site", time()+3600);
  65.  
  66. } else {
  67.  
  68. exit ('неверно');
  69.  
  70. }
  71.  
  72. }
  73.  
  74. ?>


сохраняй в кодировке utf-8 без BOM (не BOOM 'взрыв', а аббревиатура BOM)
9. daniil_belar - 30 Июля, 2012 - 17:11:34 - перейти к сообщению
спасибо. все получилось.
если б позволяла система, дал бы "Спасибо"

 

Powered by ExBB FM 1.0 RC1