[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: экранирование html в php
dir3
Добрый дени
не могу понять как правильно экранировать
 while ($top=mysql_fetch_row($res)) {
"\<option value="\"$top[1];"\>"echo $top[1];




Спустя 3 минуты, 17 секунд (2.06.2010 - 11:39) DedMorozzz написал(а):
не совсем ясно, что ты хочешь сделать. Даже если проэкранируешь - ничего не выведется из ХТМЛ

Спустя 36 минут, 50 секунд (2.06.2010 - 12:16) antonov_sa написал(а):
Цитата (dir3 @ 2.06.2010 - 08:36)
Добрый дени
не могу понять как правильно экранировать
 while ($top=mysql_fetch_row($res)) {
"\<option value="\"$top[1];"\>"echo $top[1];

 while ($top=mysql_fetch_row($res)) {
echo "<option value=\"$top['1']\"> $top['1'] </option>";


вероятно ты хотел получить что-то подобное

или

 while ($top=mysql_fetch_row($res)) {
echo '<option value=". $top['1'] . '">' . $top['1'] . '</option>';

Спустя 39 секунд (2.06.2010 - 12:16) dir3 написал(а):
вот так работает просто хочешь без <? в <option value="nn" .....

<select  name="den" id="den" size=1>
<? $query="select `id_bun`, `den` from `nomenclator` ";
$res=mysql_query($query);
?>
<option value="nn">Выберите собственности</option>
<?

while ($top=mysql_fetch_row($res)) { ?>
<option value="<? echo $top[1]; ?>"><? echo $top[1]; ?></option>
<?php } ?>

</select>

Спустя 29 минут, 16 секунд (2.06.2010 - 12:46) ApuktaChehov написал(а):
По моему самое простое:
while ($top = mysql_fetch_row($res)) 
{
echo ('<option value="' . $top[1] . '">' . $top[1] . '</option>');
}

Спустя 7 минут, 35 секунд (2.06.2010 - 12:53) dir3 написал(а):
Спасибо, заработало!

Спустя 1 час, 16 минут, 28 секунд (2.06.2010 - 14:10) Unlikely написал(а):
Много где встречал утверждение, что конкатенацию в echo лучше не использовать. Что бы составить строку из нескольких кусков, лучше передавать echo несколько параметров.
while ($top = mysql_fetch_row($res)) 
{
echo ('<option value="', $top['1'], '">', $top['1'], '</option>');
}

Почему так? huh.gif

Спустя 7 часов, 12 минут, 28 секунд (2.06.2010 - 21:22) sataly написал(а):
ребят, я может чего-то не понимаю, но отчего не сделать:
while ($top = mysql_fetch_row($res)) 
{
echo ('<option value=$top[1]>$top[1]</option>');
}


а если кавыки прямо очень надо (атрибуты состоят из нескольких слов), то взять все содержимое echo в одни кавычки, а в коде html использовать другие

while ($top = mysql_fetch_row($res)) 
{
echo ('<option value="$top[1]">"$top[1]"</option>');
}

Спустя 16 минут, 44 секунды (2.06.2010 - 21:39) Unlikely написал(а):
Цитата (sataly @ 2.06.2010 - 18:22)
ребят, я может чего-то не понимаю, но отчего не сделать:
while ($top = mysql_fetch_row($res)) 
{
echo ('<option value=$top[1]>$top[1]</option>');
}


а если кавыки прямо очень надо (атрибуты состоят из нескольких слов), то взять все содержимое echo в одни кавычки, а в коде html использовать другие

while ($top = mysql_fetch_row($res)) 
{
echo ('<option value="$top[1]">"$top[1]"</option>');
}

Интерпретатор не ищет переменные в одинарных кавычках '
Выведется просто строка <option value=$top[1]>$top[1]</option>
+ кавычки нужны в любом случае. Иначе баг, не валидный код smile.gif

Спустя 2 минуты, 37 секунд (2.06.2010 - 21:42) sataly написал(а):
Ааа, точно.

Так тоже получается не правильно?
while ($top = mysql_fetch_row($res)) 
{
echo ("<option value=$top[1]>$top[1]</option>");
}

Спустя 6 минут (2.06.2010 - 21:48) Unlikely написал(а):
Цитата (sataly @ 2.06.2010 - 18:42)
Ааа, сори, точно.

Так тоже не правильно?
while ($top = mysql_fetch_row($res)) 
{
echo ("<option value=$top[1]>$top[1]</option>");
}

Правильно. Но так элемент массива (у меня) не преобразовывается. Нужно брать его брать в фигурные скобки {}
А если просто переменная типа $bla то можно и без них.
while ($top = mysql_fetch_row($res)) 
{
echo ("<option value={$top[1]}>{$top[1]}</option>");
}

while ($top = mysql_fetch_row($res)) 
{
echo ("<option value=$top>$top</option>");
}

Спустя 1 минута, 46 секунд (2.06.2010 - 21:49) Unlikely написал(а):
Но кавычки всё равно выставлять нужно. И экранировать обратным слешем.

while ($top = mysql_fetch_row($res)) 
{
echo ("<option value=\"$top\">$top</option>");
}

Спустя 1 минута, 33 секунды (2.06.2010 - 21:51) sataly написал(а):
Ок, спасибо добрый человек =)
Быстрый ответ:

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