parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Если кому-то нужен окончательный код, получившийся в результате обсуждения, то см. здесь. Замечания также приветствуются.

alauda 01.10.2003 19:30

<form method="POST"> 
<p> 
Имя: <input name="user_name"><br> 
Прозвище: <input name="user_nic"><br> 
Логин: <input name="user_login"><br> 
Пароль: <input type="password" name="user_pass"><br> 
E-mail: <input name="user_mail"><br>
</p> 
<p>Информация о себе:<br> 
<textarea cols="70" name="user_info" rows="20"></textarea> 
</p> 
<p> 
<input type="submit" value="Добавить" name="posted">&nbsp;&nbsp;&nbsp; 
<input type="reset" value="Сбросить"> 
</p> 
</form> 

^try{
# проверка, все ли поля заполнены
^if(def $form:user_name && def $form:user_nic && def $form:user_login && def $form:user_pass && def $form:user_mail && def $form:user_info){ 

# запись инфы в базу данных с проверкой на существование
   ^connect[$SQL.connect_string]{ 
      ^void:sql{insert into users 
         (user_name, user_nic, user_login, user_pass, user_mail, user_info) 
      values  
         ('$form:user_name', '$form:user_nic', '$form:user_login', '$form:user_pass', '$form:user_mail', '$form:user_info') 
      } 
      Пользователь добавлен. Информация о пользователе будет в базе данных после проверки администратором сайта. 
      } 
}{ 
   Пожалуйста, заполните все поля 
} 
}{
^connect[$SQL.connect_string]{
$exist_name_count(^int:sql{SELECT COUNT(*) FROM users WHERE user_name='$form:user_name'})
$exist_nic_count(^int:sql{SELECT COUNT(*) FROM users WHERE user_nic='$form:user_nic'})
$exist_login_count(^int:sql{SELECT COUNT(*) FROM users WHERE user_login='$form:user_login'})
$exist_mail_count(^int:sql{SELECT COUNT(*) FROM users WHERE user_mail='$form:user_mail'})
}
^if($exist_name_count){ 
      $exception.handled(1) 
      Такое имя уже есть
} 
^if($exist_nic_count){ 
      $exception.handled(1) 
      Такое Прозвище уже есть
} 
^if($exist_login_count){ 
      $exception.handled(1) 
      Такой логин уже есть
} 
^if($exist_mail_count){ 
      $exception.handled(1) 
      Такой адрес уже есть
} 
}