ФорумПрограммированиеPHP для идиотов → запись данных в файл из формы

запись данных в файл из формы

  • Ket

    Сообщения: 6 Репутация: N Группа: Кто попало

    Spritz 17 января 2009 г. 16:40

    Данные из формы необходимо записать в текстовый файл, который создается программой. Данные: Вопрос и несколько вариантов ответов, количество вариантов ответов пользователь задает сам. Вопросов может быть много.

    формат записи данных в файле:
    Вопрос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);}

    ?>


    после нажатия на кнопку " создать файл" записывается только данные из поля "вопрос", а данные из полей ответов - нет. :(

    помогите советом, в чем ошибка? заранее благодарна :)
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 17 января 2009 г. 16:46, спустя 6 минут 16 секунд

    все так плохо, чтодаже и не знаю что сказать, зая :)
    Сапожник без сапог
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 17 января 2009 г. 16:47, спустя 42 секунды

    $f = fopen("aaa.txt", "w");
    $text=$_GET['quest'].'$';
    fwrite($f, $text);
    for($i=0; $i < 10; $i++)


    вместо этого впиши вот это

    $f = fopen("aaa.txt", "w");
    $text=$_GET['quest'].'$';
    fwrite($f, $text);
    print_r($_GET);
    print_r($ans);
    die();

    Сапожник без сапог
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 17 января 2009 г. 16:47, спустя 13 секунд

    и что увидишь на экране, сюда шли :)
    Сапожник без сапог
  • Ket

    Сообщения: 6 Репутация: N Группа: Кто попало

    Spritz 18 января 2009 г. 6:16, спустя 13 часов 29 минут 3 секунды

    Array ( [val] => [quest] => question [answ0] => answ0 [answ1] => answ1 [answ2] => answ2 [answ3] => answ3 [add] => yes )
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 18 января 2009 г. 6:42, спустя 25 минут 50 секунд

    тогда вот так сделай.

    for($i=0; $i < 10; $i++)
    $text1=$_GET['answ'.$i].";";


    должно работать
    Сапожник без сапог
  • Ket

    Сообщения: 6 Репутация: N Группа: Кто попало

    Spritz 18 января 2009 г. 10:22, спустя 3 часа 40 минут 34 секунды

    да. так записывает. спасибо :)
    А как надо было это все организовать, чтоб было не так плохо? с сессиями?
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 18 января 2009 г. 11:51, спустя 1 час 28 минут 8 секунд


    да. так записывает. спасибо :)
    А как надо было это все организовать, чтоб было не так плохо? с сессиями?
    с мозгом :)

    не так все это делается на самом деле. чуток не так. почиай про input type="text" name="field[]" … тода у тебя будет массив $_GET['field'] = array ..
    Сапожник без сапог
  • Ket

    Сообщения: 6 Репутация: N Группа: Кто попало

    Spritz 18 января 2009 г. 12:40, спустя 49 минут 6 секунд

    Было бы мозга достаточно для этого, я бы не создавала эту тему. Тем более что мне надо сделать курсовую и забыть это все :)

    У меня еще один вопрос. как сохранить значение переменной $_GET['val'] - количество вариантов ответов (<input type=text name="val">), если его надо использовать в другом скрипте? т.е. если второй скрипт вызывает третий.
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 18 января 2009 г. 12:44, спустя 3 минуты 52 секунды


    Было бы мозга достаточно для этого, я бы не создавала эту тему. Тем более что мне надо сделать курсовую и забыть это все :)
    У меня еще один вопрос. как сохранить значение переменной $_GET['val'] - количество вариантов ответов (<input type=text name="val">), если его надо использовать в другом скрипте?
    передавать через сессию|форму|get-запрос|кешсервер|базуданных|xml-rpc|curl|include|javascript+form любой из этих вариантов :) какой проще тот и можно использовать
    Сапожник без сапог
  • Ket

    Сообщения: 6 Репутация: N Группа: Кто попало

    Spritz 18 января 2009 г. 12:45, спустя 1 минуту 2 секунды

    а можно пример? не получается через куки и через сессии
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 18 января 2009 г. 12:48, спустя 3 минуты 13 секунд


    а можно пример? не получается через куки и через сессии
    не может быть

    file1.php
    <?
    session_start();
    $_SESSEION['fuck'] = "allowed";


    file2.php
    <?
    session_start();
    echo $_SESSION['fuck'];
    Сапожник без сапог
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 18 января 2009 г. 12:48, спустя 22 секунды

    сначала запускать первый, смотреть во втором :)
    Сапожник без сапог
  • Ket

    Сообщения: 6 Репутация: N Группа: Кто попало

    Spritz 18 января 2009 г. 12:55, спустя 7 минут 13 секунд

    а. я во втором забыла session_start (); написать :) спасибо!
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 18 января 2009 г. 14:04, спустя 1 час 8 минут 36 секунд


    а. я во втором забыла session_start (); написать :) спасибо!
    не куда)
    Сапожник без сапог

Пожалуйста, авторизуйтесь, чтобы написать комментарий!