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

Форум MySQL

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

 

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

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

тема: проблема с кавычками при занесении в базу?

Сообщения:  [1-10]   [11-16] 

 
 автор: Root   (11.09.2008 в 15:01)   письмо автору
 
   для: valera380   (11.09.2008 в 13:17)
 

вы тему хоть читали? Выше четко указано где применять htmlspecialchars().
UPD.
не говоря уже о $HTTP_POST_VARS...

   
 
 автор: valera380   (11.09.2008 в 13:19)   письмо автору
 
   для: valera380   (11.09.2008 в 13:17)
 

http://www.softtime.ru/bookphp/gl10_1.php
здесь всё описно. удачи.

   
 
 автор: valera380   (11.09.2008 в 13:17)   письмо автору
 
   для: xpom   (10.09.2008 в 17:43)
 

была такая жэ проблема. решил моментально.
кстати на сервере в компе нет проблемы. а на хостенге появлялась.
решение.
вставь этот код при обработке данных из формы
$meil = substr($HTTP_POST_VARS["meil"],0,32);
$meil = htmlspecialchars(stripslashes($meil));
это есть в учебнике по PHP на этом сайте.
помогло!!!

   
 
 автор: xpom   (10.09.2008 в 17:43)   письмо автору
 
   для: BinLaden   (10.09.2008 в 17:10)
 

Ясно, спасибо большое!

   
 
 автор: BinLaden   (10.09.2008 в 17:10)   письмо автору
 
   для: xpom   (10.09.2008 в 16:40)
 

Нельзя применять ENT_NOQUOTES в данном случае, иначе если в $name будет апостроф, то разметка станет неверной (или, как говорят, "невалидной").

htmlspecialchars() c mode "ENT_QUOTES" экранирует помимо всего прочего и апостроф, который учавствует в формировании значения атрибута "value". Это то же самое, что не применять экранирования апострофа при формировании SQL-запроса:

<?php
$s 
" ' ";
$query "SELECT * FROM `tbl` WHERE `s` = '$s';";
?>


<?php
$s 
" ' ";
echo 
"<input type='text' value='$s' />";
?>

   
 
 автор: xpom   (10.09.2008 в 16:40)   письмо автору
 
   для: BinLaden   (10.09.2008 в 16:31)
 

А может лучше оставить без изменений? Чтобы потом не убирать экранирование stripslashes()

<?php
echo "<INPUT type='hidden' name='name' value='".htmlspecialchars($nameENT_NOQUOTES)."'>";
?> 

   
 
 автор: BinLaden   (10.09.2008 в 16:31)   письмо автору
 
   для: xpom   (10.09.2008 в 16:22)
 

<?php
echo "<INPUT type='hidden' name='name' value='".htmlspecialchars($nameENT_QUOTES)."'>";
?>

   
 
 автор: xpom   (10.09.2008 в 16:22)   письмо автору
 
   для: Valick   (10.09.2008 в 15:51)
 

При вводе данных в базу я использую функцию mysql_real_escape_string() перед этим удалив экранированные слэши кавычек, функцией stripslashes()

А при перенесении данных скрытой строкой, в другой файл, какую функцию использовать? Я использую htmlspecialchars() :

echo "<INPUT type='hidden' name='name' value='".htmlspecialchars($name)."'>";

   
 
 автор: Valick   (10.09.2008 в 15:51)   письмо автору
 
   для: xpom   (10.09.2008 в 15:48)
 

htmlspecialchars() - нужно использовать при выводе (а не при сохранении в базу или в файл) данных полученных извне "несмотря ни на что и вопреки всему". т.е. постоянно.

   
 
 автор: xpom   (10.09.2008 в 15:48)   письмо автору
 
   для: Trianon   (10.09.2008 в 15:10)
 

>Нет. Не здесь. А вот где...
Спасибо, очен. удобно, много функций.

>Дальше написан сплошной бред.
Но как ни странно, этот бред работает нормально.

   

Сообщения:  [1-10]   [11-16] 

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

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