Приветствую, господа программисты. Очень нужна помощь. Размещаю на сайте анкету, нужно чтобы результаты записывались в файл. И вроде бы все ровно, но при нажатии кнопки вылазит ошибка:Notice: Undefined variable: subjbody in C:\apache\localhost\www\anketa\test\index.php on line 95 Хотя все результаты в указанный файл записываются. Фрагмент кода: $filenamecom="test.txt"; $filecom = fopen($filenamecom, "a+"); flock($filecom,LOCK_EX); $subjbody=$subjbody.date('d').":".date('m').":".date('Y')." ".date('H').":".date('i').":".date('s').chr(10);$subjbody=$subjbody."Обращения: ".$_POST['q1'].chr(10); $subjbody=$subjbody."Считаете ли Вы необходимым читать краевые/ местные издания? ".$_POST['q2'].chr(10); $subjbody=$subjbody."==============================================".chr(10); fwrite($filecom, $subjbody); flock($filecom,LOCK_UN); fclose($filecom); Подскажите, где ошибка...
А вот еще вопрос:если я использую для этой формы radio, то с записью в файл вводимого значения все понятно(можно выбрать только одно значение). Но сейчас мне нужно добавить элемент checkbox, т.е. подразумевается выбор нескольких значений. Как будет выглядеть код, записывающий данные из checkbox? Привожу html-код для элемента checkbox: <li><span class="style2">Из каких источников Вы чаще всего получаете информацию, необходимую для решения, возникающих в ходе работы, задач? (не более 3-х вариантов ответа)</span><br> <label> <input type="checkbox" name="q1" value="TV"> <span class="style1">TV</span></label> <span class="style1"><br> <label> <input type="checkbox" name="q1" value="Интернет (бухгалтерские сайты, форумы)"> Интернет (бухгалтерские сайты, форумы)</label> <br> <label> <input type="checkbox" name="q1" value="Бухгалтерские газеты/журналы"> Бухгалтерские газеты/журналы</label> <br> <label> <input type="checkbox" name="q1" value="Бухгалтерские семинары"> Бухгалтерские семинары</label> <br> <label>Из других источников <input name="q1" type="text" size="50" maxlength="100"> </label> </span> </li> Такая запись не прокатила:$subjbody="Источники информации: ".$_POST['q1'].chr(10);
т.е. в html коде тaк: <input type="checkbox" name="mycheckbox[1]" value="TV"> <span class="style1">TV</span></label> <span class="style1"><br> <label> <input type="checkbox" name="mycheckbox[2]" value="Интернет (бухгалтерские сайты, форумы)"> Интернет (бухгалтерские сайты, форумы)</label> <br> <label> <input type="checkbox" name="mycheckbox[3]" value="Бухгалтерские газеты/журналы"> Бухгалтерские газеты/журналы</label> в php скрипте так: $subjbody="Источники информации: ".$_POST['mycheckbox'].chr(10); что-то у меня не работает)))
А я что-то другое писал? Массивом могут быть даже отдельные элементы $arr = array(1 => array(1,2), 2 => 2); Это значит, что для записи тебе придется привести его к строке. Например implode(',', $arr[1]);
Сделай, и сам увидешь всё (при условии что checked): PHP: print "<pre>"; print_r ($_POST["mycheckbox"]); print "</pre>"; А дальше уже разбивай как тебе удобно. (пост выше)
спасибо, буду пробовать... p.s. Ребят, если кажется, что я задаю тупые вопросы, почитайте мой предыдущий топик http://www.php.ru/forum/viewtopic.php?t=21845&highligре= и вы меня поймете)))
Мужики, что-то не получается разобраться с этими массивами. Я попробую написать другими словами... Допустим есть код: HTML: <form action="" method=post> <input type=checkbox name='mycheckbox[]' value=1> <input type=checkbox name='mycheckbox[]' value=2> <input type=checkbox name='mycheckbox[]' value=3> <input type=submit name=submit value='Post'> </form> Как будет выгледеть код на php, записывающий выбранные chekbox в текстовый файл? Прошу ответить, мне это очень важно для понимания системы.
Ты сделай какую нить страницу типа index.php и там напиши : PHP: <form action="index.php" method="post"> <input type="checkbox" name='mycheckbox[one]' value="1"> <input type="checkbox" name='mycheckbox[two]' value="2"> <input type="checkbox" name='mycheckbox[three]' value="3"> <input type="submit" name="submit" value="post"> </form> <? print "POST:<br>"; print "<pre>"; print_r ($_POST); print "</pre>"; print "нужный нам массив checkbox:<br >"; print "<pre>"; print_r ($_POST["mycheckbox"]); print "</pre>"; ?> Поиграйся с этим. Блин как проще обьяснить я даже не знаю...