Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: PHP-гостевая книга: Кирилица отображается вопросами "??????"

Сообщения:  [1-10]    [11-20]  [21-23] 

 
 автор: sim5   (16.07.2008 в 13:05)   письмо автору
 
   для: luthik64   (16.07.2008 в 11:58)
 

Вы спрашивали - почему в полях формы появляется код. Это (насколько я помню код этой гостевой) результат вывода сообщения о том, что не определена переменная... Это сообщение не приведет к катастрофе, и если заглушить вывод нотайсов, то вы его не увидите в форме. Либо делать надо так, чтобы определять переменные. Кстати, инициализация переменных, вернее привычка делать это, уменьшает вероятность допущения более грубых ошибок, которые могут привести к плачевным результатам. Вы еще придете к этому вопросу в последствии. Вот пример для данной ситуации:

<form action="" method="post">
<input type="text" name="as" value="<?php =$_POST['as']; ?>">
<input type="submit" value="Send">
</form>

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

<?php
$val 
= isset($_POST['as']) ? $_POST['as'] : "";
?>
<form action="" method="post">
<input type="text" name="as" value="<?php =$val?>">
<input type="submit" value="Send">
</form>

В общем надо задавать вопрос почему, находить ответ, затем принимать решение как поступить. И пока вы не знаете много почему, не спешите поступать, пока не найдете ответов.

   
 
 автор: luthik64   (16.07.2008 в 11:58)   письмо автору
 
   для: sim5   (16.07.2008 в 11:30)
 

Спасибо !

Я понял, что не правильно всё сделал.
Пока у меня всё на локальном хосте, думаю, что вреда никому не причиню.
Но понимаю важность Вами сказаного.

И похоже,что я в тупике. Просто не понимаю как всё это проверить.
Может подскажете направление, в котором надо действовать.
Прошел по всем файлам гостевой книги но ничего подобного не нашел.
Даже установил книгу скачанную с сайта - результат, тот - же.

   
 
 автор: sim5   (16.07.2008 в 11:30)   письмо автору
 
   для: luthik64   (16.07.2008 в 10:50)
 

1. Забудьте об непосредственной правке php.ini - никакой хостер вам не даст этого делать.
2. Смысл всего в том, что на этапах отладки, а уж тем более только начиня изучать РНР, не надо глушить нотайсы. Вот когда будете понимать чем они вызваны, имеет ли это "нехорошее" последствие, тогда вы уже будете вольны поступать так, но зная, что вы делаете.
3. Касаемо представленного кода, то это совсем не та проверка, о которой говорил я.

   
 
 автор: luthik64   (16.07.2008 в 11:30)   письмо автору
 
   для: mihdan   (16.07.2008 в 11:23)
 

Простите начинающего.
Если Вы имеете ввиду квадратную скобку,
то это опечатка в сообщении.
Не досмотрел.

   
 
 автор: mihdan   (16.07.2008 в 11:23)   письмо автору
 
   для: luthik64   (16.07.2008 в 11:19)
 

cp1251";] 
я про это

   
 
 автор: luthik64   (16.07.2008 в 11:19)   письмо автору
 
   для: mihdan   (16.07.2008 в 11:13)
 

Начало файла addrec.php в гостевой книге.

   
 
 автор: mihdan   (16.07.2008 в 11:13)   письмо автору
 
   для: luthik64   (16.07.2008 в 11:10)
 

Это вообще что?

   
 
 автор: luthik64   (16.07.2008 в 11:10)   письмо автору
 
   для: mihdan   (16.07.2008 в 10:56)
 

Добрый день !

А так нельзя ?

// Устанавливаем соединение с базой данных
include "config.php";
$error = "";
$action = "SET NAMES cp1251";]


Вроде всё работает.

   
 
 автор: mihdan   (16.07.2008 в 10:56)   письмо автору
 
   для: luthik64   (11.07.2008 в 09:44)
 

<?php
error_reporting
(E_ALL & ~E_NOTICE );
?>


После входа в mysql необходимо настроить кодировку соединения сервера с клиентом при помощи запроса:

SET NAMES cp1251; 

   
 
 автор: luthik64   (16.07.2008 в 10:50)   письмо автору
 
   для: sim5   (11.07.2008 в 12:52)
 

>Вставляя код, пользуйтесь ВВ-кодом [соde][/соde], для его выделения - он лучше читается на странице (над формой справа).
>Ну а теперь, посмотрите в файле addrec.php: $sid_add_theme, $name и др., определяются ли они до того, как будут помещены в форму - echo. Имеется ввиду, не после проверки формы при получении ее, а первый вывод формы на страницу. В этом и ответ - откуда предупреждения. Как их устранить, я уже сказал.

От luthik64:

Здравствуйте еще раз!
Проверил весь файл, перерыл всю книгу и понял(надеюсь правильно) - определяют.

session_start();
$sid_add_theme = session_id();


if($sid_add_theme != $_POST['sid_add_theme'])

Если я ошибаюсь - ответьте пожалуйста, для меня это важно.
А пока заработало, т. к. изменил значение в php.ini на следующее:

error_reporting = E_ALL & ~E_NOTICE

Заранее благодарен.

   

Сообщения:  [1-10]    [11-20]  [21-23] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования