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

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Вопрос с обработкой формы, Проверка данных в полях ввода PHP 
:(
    Опции темы
Firebird
Дата 17.4.2007, 08:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



  Добрый день!

У меня такая задача:
    1) скрипт на PHP

    2) добавляю данные введенные из формы в БД по нажатию кнопки: 
         <input type='submit' name='button' value='Сохранить'>

    3) перед добавлением необходимо проверить наличие всех данных

    4) могу выполнить эту проверку только после загрузки формы

    5) хочу выполнить проверку, таким образом, чтобы
       если все поля заполнены, то загрузить форму,
       иначе не загружать.
 
       для этого обрабатываю событие onClick для кнопки с помощью функции
       написанной на JavaScript
       Функция выполняется, но независимо от результата проверки, форма
       все равно загружается

  Вот скрипт

Код

    <html>
   <head>
     <title>Info</title>
     <script language='JavaScript'>
        function CheckValue()
        {
           var user_name = document.input_form.user_name.value;
           var user_famil = document.input_form.user_famil.value;
           if( (user_name == "") || (user_famil == "") ) 
           {
               alert("Заполните все поля!");
               return false;
           }
        }  
     </script>
   </head>

<?php
  //Подключение к БД
  include "config.php";

  //Узнаем какая кнопка была нажата
  $button = $_POST['button'];

  //Если кнопка сохранить, то сохранить данные в БД
  if($button == 'Сохранить')
  {
      //Считываем введенные данные
      $user_name = $_POST['user_name'];    
      $user_famil = $_POST['user_famil']; 

      if( ($user_name == "") || ($user_famil == "") )
      {
          //Здесь можно проверить, все ли поля были заполнены,
          //но только после загрузки формы !!!          
      } 
  
      $query = mysql_query("
           insert into tb_user (user_name, user_famil)
           values('$user_name', '$user_famil')
      ")or die("Ошибка при выполнении запроса!");
  }//end of if
  
  echo"
    <form name='input_form' method='POST' action='input.php'>
       <input type='text' name='user_name'><br>
       <input type='text' name='user_famil'><br>
       <input type='submit' name='button' value='Сохранить'
        onClick='CheckValue()'>   
    <!--
       Здесь пытаюсь сначала проверить наличие данных во всех полях
       с помощью функции CheckValue (на JavaScript).
       Функция вызывается, проверка выполняется, 
       но форма все равно загружается, даже если CheckValue вернула false 
       Если меняю тип кнопки c 'submit' на 'button', то проверка выполняется,
       но форма перестают загружаться 
    //-->    
    </form>
  ";
   
</html>

  Если ли здесь какой-нибудь способ???

PM MAIL   Вверх
PARROT
Дата 17.4.2007, 08:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



http://phpfaq.ru/debug
http://www.phpfaq.ru/na_tanke
Поиск по форуму.

Добавлено через 1 минуту и 52 секунды
Для этого вообще необязательно использовать яваскрипт, можно все написать на рНр.
И проверку заполненности полей тоже и правильность заполнения тоже.

Добавлено через 11 минут и 26 секунд
Код

 <form method="POST">
       <input type=text name="user_name"><br>
       <input type=text name="user_famil"><br>
       <input type=submit name="button" value="Сохранить">
</form>
<?
if($_POST['button']){
if (empty($_POST['user_name']) || empty($_POST['user_famil'])){
      echo $error="<p>Не заполнены обязательные поля!</p>";
      }
if(!$error){
// далее смотрите  тему 
}
}
?>

Тут все подробно, наиподробнейшим образом и все работает http://forum.vingrad.ru/topic-144428.html

Тема закрыта!


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
  
Закрытая темаСоздание новой темы Создание опроса
Правила форума "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.0895 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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