Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Стираются поля 
:(
    Опции темы
Guest
Дата 16.1.2005, 12:17 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











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

Код

if (isset($error)):
       echo "<tr><td><table align=center width=\"455\" border=\"0\" cellspacing=\"1\" cellpadding=\"3\">";
       echo "<tr><td align=\"center\" class=\"error\" bgcolor=\"#FF0000\"><b>Ошибка!</b></td></tr>";
       echo "<tr><td align=\"left\" class=\"p\">";
       foreach ($error as $value)
               {
               echo "<li>$value<br>";
               }
       echo "</td></tr>";
       echo "</table></td></tr>";
endif;


Но при этом стираются все остальные поля, что не очень удобно, приходится заново писать письмо.
Как сделать так, что бы поля не стирались, или ошибки открывались в новом окне?

  Вверх
BIG BROTHER
Дата 16.1.2005, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 200
Регистрация: 9.12.2004
Где: Россия, Москва

Репутация: 2
Всего: 4



или ошибки в новом окне - то JS window.open
или при проверке писать все значения в куки/сессии и если есть ошибки, то вставлять оттуда в форму, для редактирования
--------------------
Mess with the best, die like the rest
PM MAIL ICQ   Вверх
HalkaR
Дата 16.1.2005, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пуфыстый назгул
****


Профиль
Группа: Экс. модератор
Сообщений: 2132
Регистрация: 8.12.2002
Где: В Москве

Репутация: 2
Всего: 42



Можно сохранять данные в сессии - и записывать в соответсвующие поля.
Можно отправлять данные в нульфрейм.
Добавлено @ 14:05
Код

<iframe id='null_frame' name='null_frame' style='border:0;width:0;height:0;display:none'></iframe>
<form action="index.php?page_id=117&action=send" method=post target="null_frame" onSubmit="this.send.disabled=true;return true;" name="sendForm" id="sendForm">
<table cellspacing="2" cellpadding="2" border="0">
<tr>
<td colspan="2">
<div id="name_error">&nbsp;</div>
</td>
</tr>
<tr>
   <td class=text>Имя</td>
   <td>
<input type="text" name="name" size="20">
   </td>
</tr>
<tr>
<td colspan="2">
<div id="email_error">&nbsp;</div>
</td>
</tr>
<tr>
   <td class=text>E-mail</td>
   <td>

<input type="text" name="email" size="20">
  </td>
</tr>
<tr>
<td colspan="2">
<div id="message_error">&nbsp;</div>
</td>
</tr>
<tr>
   <td class=text>Текст</td>
   <td>
<textarea cols="50" rows="10" name="message"></textarea>
</td>
</tr>
<tr>
   <td></td>
   <td><input type="submit" id="send"></td>
</tr>
</table>

</form>

Это код формы.
А вот атк обрабатывается отстутствие имени.
Код

if(empty($_POST["name"])){
   die("<meta http-equiv='Content-Type' content='text/html; charset=windows-1251'>
   <script>
    window.parent.document.getElementById('send').disabled=false;
    window.parent.document.getElementById('name_error').innerHTML='<font color=red><b>Необходимо указать Ваше имя</b></font>';
    window.parent.document.getElementById('email_error').innerHTML='&nbsp;';
    window.parent.document.getElementById('message_error').innerHTML='&nbsp;';
   </script>");


PM MAIL   Вверх
Irokez
Дата 16.1.2005, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 22
Всего: 53



Код

<?php
$test=1;
$sys_msg='';
$error='';
$add=$_POST['add'];
if($add)
{
$name=$_POST['name'];
$title=$_POST['title'];
if(!$name)
{
 $error.='No name<br>';
 $test=0;
}
if(!$title)
{
 $error.='No title<br>';
 $test=0;
}
if($test)
{
 /*action*/
}
}
else
{
$name='';
$title='';
}
?>
<body topmargin=0 leftmargin=0>
<form method=post name=actions_form>
<table class=table_form>
<tr>
 <td class=td_content valign=top>Name:</td>
 <td class=td_content><input type=text class=input_text name=name value="<?php echo $name?>" style="width:400;"></td>
</tr>
<tr>
 <td class=td_content valign=top>Title:</td>
 <td class=td_content><input type=text class=input_text name=title value="<?php echo $title?>" style="width:400;"></td>
</tr>
<tr>
 <td colspan=3 align=right>
  <input type=submit class=input_button name=add value=Add style="width:100">
 </td>
</tr>
</table>
</form>


PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0428 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.