формат записи данных в файле:
Вопрос1$ответ1;ответ2;...
ВопросN$ответ1;ответ2;....
<Html>
<body bgcolor=#99cccc text=green><center>
<form name="new_test" method="GET"">
<p>Enter number of answers<br>
<input type=text name="val"><br>
<input type=submit value="Enter > >">
<p> Enter question
<p><input type=text name="quest">
<p>Populate the gaps with answers<br>
<?php
if (isset($_GET['val']))
{for($i=0; $i < $_GET['val']; $i++)
{$ans[]="answ".$i;
echo "<p> <input type=text name=$ans[$i] value=$ans[$i]>";
}
}
echo '<p><input type="submit" value="Создать файл">
<input type="hidden" name="add" value="yes"></form>
</body></html>';
if ($_GET['add'])
{
$f = fopen("aaa.txt", "w");
$text=$_GET['quest'].'$';
fwrite($f, $text);
for($i=0; $i < 10; $i++)
$text1=$ans[$i].";";
fwrite($f, $text1);}
?>
после нажатия на кнопку " создать файл" записывается только данные из поля "вопрос", а данные из полей ответов - нет. :(
помогите советом, в чем ошибка? заранее благодарна :)
Спустя 1 час, 9 минут, 9 секунд (18.01.2009 - 01:36) FatCat написал(а):
Цитата (Ket @ 18.01.2009 - 00:27) |
$f = fopen("aaa.txt", "w"); $text=$_GET['quest'].'$'; fwrite($f, $text); for($i=0; $i < 10; $i++) $text1=$ans[$i].";"; fwrite($f, $text1); |
Попробуйте сначала собрать вопрос и все ответы в одну переменную, а потом уже писать файл:
PHP |
$text=$_GET['quest'].'$'; |
Спустя 12 часов, 43 минуты, 8 секунд (18.01.2009 - 14:19) Ket написал(а):
Поменяла, в файле результат: question$;;;;;;;;;;
Спустя 1 час, 21 минута (18.01.2009 - 15:40) FatCat написал(а):
Значит $ans[$i] пустая.
Спустя 2 часа, 19 минут, 33 секунды (18.01.2009 - 18:00) Guest написал(а):
Я понимаю, что пустая. а почему?
Спустя 2 минуты, 4 секунды (18.01.2009 - 18:02) ket написал(а):
т.е. нет, она не должна быть пустой. на экран выводится, но в файл не записывается
Спустя 26 минут, 39 секунд (18.01.2009 - 18:28) sergeiss написал(а):
Вот эта строка - ошибочная!!!
PHP |
$text=$_GET['quest'].'$'; |
После знака $ надо что-то поставить, наверное? Или удалить этот знак, если он не нужен.
И тут нету никакой проверки на то, что $_GET['quest'] был реально получен. Да и вообще - что-то выводится, но не проверется наличие исходных данных.
Спустя 2 часа, 11 минут, 42 секунды (18.01.2009 - 20:40) Adamant написал(а):
PHP |
<?php |
Если нужно, чтобы файл не создавался снова (стирая все записанное в него ранее) измените атрибут 'w+' на 'a+'.
В вашем коде, ответы которые юзер вводил, не записывались бы в файл, а писалось бы вот это $ans[] ="answ" .