[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Экранирование одиночной кавычки для поля формы
Хиросим
Здравствуйте. Есть такой код:
<?php 
$result2 = mysql_query("SELECT * FROM baza WHERE id='$id' ", $db) or die("ne rabotaet");
$myrow2 = mysql_fetch_array($result2);
$song = $myrow2['song'];
echo $song;
?>
<input name='studio' type='text' value='<?php echo $song ?>' size='40' maxlength='250'>

переменная $myrow2['song'] это строка varchar, если в ней содержится одиночная кавычка, то при выводе в первом echo все нормально, а в поле формы весь текст после кавычки исчезает.
думал заменить кавычки на мнемоник, както так
$song = str_replace("'",'&prime;',$song);

но почемуто именно для такой кавычки мнемоника нет... к томуже потом из формы стока направляется обратно в базу, и видимо нужно мнемоник превратить обратно в кавычку, а ее потом заэкранировать.
в общем решил не экспериментировать, а спросить как правильно это делается???



Спустя 10 минут, 26 секунд (16.07.2010 - 01:54) Ice написал(а):
попробуйте в форме заменить одинарные кавычки на двойные

Спустя 12 минут, 47 секунд (16.07.2010 - 02:07) Хиросим написал(а):
Дык это не в форме а, в базе менять нужно, строка же из базы поступает, а там названия музыкальных композиций на басурманском языке, которые обилуют одинарными кавычками, менять их на двойные не корректно...

Спустя 14 минут, 18 секунд (16.07.2010 - 02:21) Ice написал(а):
<input name='studio' type='text' value='<?php echo $song ?>' size='40' maxlength='250'>
Да? А теперь подставим-ка название басурманской песни.

<input name='studio' type='text' value='o'kay-o'kay' size='40' maxlength='250'>

А теперь - все внимание на кавычки!

Спустя 21 минута, 55 секунд (16.07.2010 - 02:43) Хиросим написал(а):
аа, я не так понял...
просто инпут выводится потом тоже через echo (забыл сказать), потому кавычки все одинарные ...
то есть правильно вот так:
echo "<input name='studio' type='text' value=\"".$song."\" size='40' maxlength='250'>";

????

Спустя 7 минут, 32 секунды (16.07.2010 - 02:50) Хиросим написал(а):
Ага, все, Ice, спасибо... все работает.... чета действительно стормозил я с этими кавычками, экранирования, замены символов в башке крутились, а все просто как всегда...
спасибо!

Спустя 12 минут, 7 секунд (16.07.2010 - 03:02) Ice написал(а):
незачто smile.gif

Спустя 5 часов, 52 минуты, 44 секунды (16.07.2010 - 08:55) vagrand написал(а):
А вот что будешь делать если в названии композиции будет двойная кавычка?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.