Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Тексты > не полностью вставляется переменная в поле input


Автор: IF 3.8.2007, 10:11
при попытке вставить полученную переменную 
1) из массива $_GET или $_POST
или
2) из базы данных mysql
 в форму, как значение по умолчанию (т.е. в value=""), вставляется только одно слово из двух.
т.е. если в переменной два слова разделенных пробелом, то вставляется только первое.
Код
echo ' <input type="text" name="peremennaya" value=" ' . $peremennaya . ' ">';
OR
echo ' <input type="text" name="peremennaya" value=" ' . $row['text'] . ' ">';

кодировка с1251 на странице, в бд таже, т.е. windows-1251.
это было обнаружено при создании страницы с формой, где сначала она выводилась с данными по умолчанию из бд, а потом, после нажатия "предпросмотр" передавились на другую форму и вставлялись туда из массива $_POST.
Код

if (@$preview)
{
//такая же форма, только в value вставляются переменные переданные из нижней формы post'ом.
}
else  
{
 //начальная форма
//сначала запрос к бд, извлечение, вставка в value
//и кнопка превью
}


вот. хочется узнать решение данной проблемы  smile 

Автор: belousov 3.8.2007, 10:27
IF, Вопрос почему так 
Код

@$preview


и можно 
Цитата

if (@$preview)
{
//такая же форма, только в value вставляются переменные переданные из нижней формы post'ом.
}
else  
{
 //начальная форма
//сначала запрос к бд, извлечение, вставка в value
//и кнопка превью
}



вот это расписать по подробнее. код вобщем вставь который выполняется

Автор: IF 3.8.2007, 11:15
Цитата
IF, Вопрос почему так 
Код

@$preview


чтобы не вылезало предупреждение, что переменная $preview не инициализирована.

Код

$sql = "SELECT * FROM predaction WHERE id=$ract";
$result = @mysql_query($sql) or die("$sql <b>Failed!</b><br>".mysql_error());
$row = mysql_fetch_array($result);
if (@$preview)
{
$addact.='<font style="color:#0F28E0">Редактирование предстоящей акции: </font><br><hr>
<center><font class="title"><a href="'.$urlact.'">'. $nameact .'</a></font></center>
<hr>
<form method="post" action="'.$PHP_SELF.'?mode='.$mode.'&ract='.$ract.'">
<font class="med_grey">Название акции: </font><br><input class="form" type="text" name="nameact" size="90" value='. $nameact .'><br><br>
<font class="med_grey">Ссылка: </font><br><input class="form" type="text" name="urlact" size="90" value='. $urlact .'><br><br>
<br><input type="submit" name="preview" class="submit" value="Предварительный просмотр">
<input type="submit" name="reeditact" class="submit" value="Отправить ссылку">
</form>';
echo $addact;
}
else   //начальная форма
{
$addact.='<font style="color:#0F28E0">Редактирование предстоящей акции: </font><br><hr>
<form method="post" action="'.$PHP_SELF.'?mode='.$mode.'&ract='.$ract.'">
<font class="med_grey">Название акции: </font><br><input class="form" type="text" name="nameact" size="90" value='. $row['nameaction'] .'><br>
<font class="med_grey">Ссылка: </font><br><input class="form" type="text" name="urlact" size="90" value='. $row['urlaction'] .'><br>
<br><input type="submit" name="preview" class="submit" value="Предварительный просмотр">
<input type="submit" name="reeditact" class="submit" value="Отправить ссылку">
</form>';
echo $addact;
}


Автор: belousov 3.8.2007, 11:27
Код

$result = @mysql_query($sql)


а если @ убрать то он ошибки то какие нить выдает? я б в этом месте ее вообще не ставил. 

Код
value='. $urlact .'

 а кавычки почему одинарные? вроде как так надо 
Код

value="'. $urlact .'"

 
если слово одно, то что то у тебя не так передается, скорей всего из базы забирается не так

щас еще раз почитаю

Автор: IF 3.8.2007, 11:41
Цитата

а если @ убрать то он ошибки то какие нить выдает? я б в этом месте ее вообще не ставил. 

просто у меня в php.ini прописано error_reporting  =  E_ALL & E_NOTICE,т.е. выдавать все ошибки и предупреждения. в частности, если не поставить @, то вверху выдаст
Цитата

Notice: Undefined variable: preview in addaction.php on line 59


спасибо огромное. глупая ошибка начинающего пхпера))
все дело было именно в кавычках. потому что если выводить эти значения не в value, то они были нормальные, полностью.
 smile 

Автор: belousov 3.8.2007, 11:45
Обращайся  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)