| |
|
|
| | Есть гостевая книга. В режиме ответа на сообщения нужно заполнить input и textarea.
Приблизительно так:
for ($i=$end-1; $i>$start-2; $i--)
{
<input name=name type=text value='<? echo $lines[$i]->showDate(); ?>' >
<textarea name=answer> <? echo $lines[$i]->showAnswer(); ?> </textarea>
}
но input и textarea не заполняются, что я делаю не так ?
При простом выводе по циклу например:
echo $lines[$i]->showAnswer();
echo "<br>";
все выводиться нормально. | |
| |
|
|
| |
|
|
| |
для: value
(20.07.2006 в 01:00)
| | | Посмотрите исходный текст страницы (в контекстном меню, правой кнопки мыши по окну браузера) атрибут value в input заполняется текстом? | |
| |
|
|
| |
|
|
| |
для: cheops
(20.07.2006 в 02:05)
| | | input и textarea заполняются явно таким текстом(по циклу)
<? echo Object id #84->showDate(); ?>
<? echo Object id #84->showAnswer();?>
<? echo Object id #83->showDate(); ?>
<? echo Object id #83->showAnswer();?>
и так далее | |
| |
|
|
| |
|
|
| |
для: value
(20.07.2006 в 10:30)
| | | Приведите весь оператор вывода, а не его кусок.
У Вас явно происходит подстановка переменных в строки, ограниченные кавычками.
Отсюда такой вывод. | |
| |
|
|
| |
|
|
| |
для: Trianon
(20.07.2006 в 10:58)
| | | Приведу вкратце код:
Вспомогательный класс gbClass
class gbClass
{
var $gbDate;
var $gbFrom;
var $gbEmail;
var $gbMessage;
var $gbAnswer;
// Set the Guestbook Entry Field Variables -------
function setGBVars($a,$b,$c,$d,$e)
{
$this->gbDate = $a;
$this->gbFrom = $b;
$this->gbEmail = $c;
$this->gbMessage = $d;
$this->gbAnswer = $e;
}
// Show the Guestbook Entry Date -----------------
function showDate()
{
echo $this->gbDate;
}
// Show the Guestbook Entry Answer -----------------
function showAnswer()
{
echo stripslashes($this->gbAnswer);
}
.
.
.
и так далее
}
Далее открываем файл и считываем данные
$filename = "../data/list.txt";
$handle = fopen($filename, "r");
if (filesize($filename) == 0){
print "No enteries to delete";
else
{
$datain = fread($handle, filesize($filename));
fclose($handle);
$out = explode("<!-- E -->", $datain);
$outCount = count($out) - 1;
$j = $outCount-1;
if ($order == "desc")
{
for ($i=0; $i<=$outCount; $i++)
{
$lines[$j] = unserialize($out[$i]);
$j = $j - 1;
}
}
else
{
for ($i=0; $i<=$outCount; $i++)
{
$lines[$i] = unserialize($out[$i]);
}
}
.
.
.
Ну и дальше то что я уже писал
for ($i=$end-1; $i>$start-2; $i--)
{
<input name=name type=text value='<? echo $lines[$i]->showDate(); ?>' >
<textarea name=answer> <? echo $lines[$i]->showAnswer(); ?> </textarea>
} | |
| |
|
|
| |
|
|
| |
для: value
(21.07.2006 в 00:46)
| | | Вот это:
for ($i=$end-1; $i>$start-2; $i--)
{
<input name=
|
Не может тэг input выступать в качестве оператора PHP
[поправлено модератором] | |
| |
|
|
| |
|
|
| |
для: Trianon
(21.07.2006 в 09:49)
| | | вообще полный код для этого случая такой(в первом сообщении я слишком сократил):
for ($i=$end-1; $i>$start-2; $i--)
{
...
echo "<table width=527 cellspacing=2 cellpadding=1 border=0 align=center class=p>";
echo "<tr><td align=right>$listDatetxt:</td><td align=center><input name=name type=text value='<? echo $lines[$i]->showDate(); ?>'></td></tr>";
echo "<tr><td align=right>$yourAnswertxt</td><td align=center><textarea name=answer rows=5 cols=80> <? echo $lines[$i]->showAnswer(); ?> </textarea></td></tr>";
echo "</table>";
...
}
что здесь не так ? | |
| |
|
|
| |
|
|
| |
для: value
(21.07.2006 в 20:27)
| | | Неправильно то, что если тег скрипта уже открыт, от перед тем как его открывать еще раз, его надо сперва закрыть. Или использовать другие способы вывода данных:
for ($i=$end-1; $i>$start-2; $i--)
{
...
echo "<table width=527 cellspacing=2 cellpadding=1 border=0 align=center class=p>";
echo "<tr><td align=right>$listDatetxt:</td><td align=center><input name=name type=text value='" . $lines[$i]->showDate() . "'></td></tr>";
echo "<tr><td align=right>$yourAnswertxt</td><td align=center><textarea name=answer rows=5 cols=80> " . $lines[$i]->showAnswer() . " </textarea></td></tr>";
echo "</table>";
...
}
|
А сокращать приводимый код следует, не нарушая хотя бы лексический уровень, если не синтаксис
for(...)
{
echo "<table ...> ... <input ... value='". $lines[$i]->showDate() ."'>...</table>";
}
|
А не резать по живому. | |
| |
|
|
| |
|
|
| |
для: Trianon
(21.07.2006 в 21:27)
| | | Спасибо за критику.
При таком выводе как Вы написали, у меня данные выводятся не в textarea например, а над ним.
Что не так ? | |
| |
|
|
| |
|
|
| |
для: value
(21.07.2006 в 22:41)
| | | Все разобрался! Всем спасибо! | |
| |
|
|