Пропадают переменные из форм
Пытаюсь облагородить немного наш сайт и немного озадачился вот над чем
Задча такая в файле form.html форма заполняется, проверяется на наличей в ней телефона мыло и тд, потом показывается для проверки и потом по клику отсылается на почту(отсылка осуществляется другим файлом с кодом отправки) Взял исходник для отправки и проверки заполненных полей вот отсюда http://www.progs.biz/php/php/lessons/021.aspx Немного доработал для своих целей, а именно в function confirm_form хотел вставить кнопку для отправки проверенной информации на нашу почту, вставил и все нормально работает письма проиходят только в письме пропали все переменные Выкладываю что получилось надеюсь на помощь У нас уже работает форма заявки тоько без проверки полей, из массива извлекаются командой $_POST/ Из нее все приходит нормально все переменные, а здесь никак Была идея вставить код отправки сразуже в эту функцию, но тогда теряется смысл проверки она отсылается сразу, а нужно что бы форму сначала заполнили, потом проверили и только потом отправили к нам. Пытался в коде отправки вставить команду echo "$HTTP_POST_VARS['finans']"; чтобы вытащить из массива но не вышло выдает вот что // Array( ) // <?php function show_form($finans, $l_name, $telefon, $email) { ?> <form action="form.html" method="post"> <table width="95%" border="0" cellpadding="3"> .......... <tr><td><span class="style69"> E-mail <br> <input type="text" name="email" size="100" value="<?php print $email ?>">*<br></td></tr> </table> </form> <? } function check_form($finans, $l_name, $telefon, $email) { if(!$l_name || !$telefon || !$email): print("Вы не заполнили нужные поля!<br>"); if(!$l_name) { print("Введите Ваше имя.<br>"); } if(!$telefon) { print("Введите Ваш телефон.<br>"); } if(!$email) { print("Введите ваш e-mail.<br>"); } show_form($finans, $l_name, $telefon, $email); else: confirm_form($finans, $l_name, $telefon, $email); endif; } function confirm_form($finans, $l_name, $telefon, $email) { ?> <h2>Проверьте введенную Вами информацию:</h2> <? print("<br>$l_name<br>$email\n"); ?> <br> <br> <form action="processfeedback.html" method=post> <input type="submit" value="Отправить"> </form> <? } if(!$submit): ?> <p>Введите информацию о себе</p> <p>Все поля обязательны для заполнения.<p> <?php show_form("", "", "",""); else: check_form($finans, $l_name, $telefon, $email); endif; ?></body></html> |
а что с register_globals (php.ini)? если off, то такие переменные не определяются... только через $_POST\GET...
в .htaccess Код:
php_flag register_globals on |
PHP код:
|
точнее
PHP код:
|
Не работает ни первый вариант ни второй, на expande ругается
Такое впечатление что при отправке второй формы данные из первой просто обнуляются (хотя я в PHP только начинаю) Пока нашел такой выход вставил опять все поля формы в confirm_form, только сделал что бы были заполненные с полем вроде этого value="<?php print $email ?>">* Только не совсем так как хотел((( Подскажите как сделать простое отображение полей формы без возможности редактирования юзером?? |
Команда Disabled Все работает всем спасибо!
|
Время: 08:28. |
Время: 08:28.
© OSzone.net 2001-