За последние 24 часа нас посетили 18584 программиста и 1674 робота. Сейчас ищут 955 программистов ...

Помогите разобраться с формой отправки на сервер на php

Тема в разделе "PHP для новичков", создана пользователем edwardush, 22 янв 2009.

  1. edwardush

    edwardush Активный пользователь

    С нами с:
    10 июн 2008
    Сообщения:
    3
    Симпатии:
    0
    У меня есть форма отправки сообщения на сервер. Всё работает, но есть одна проблема. То есть она не проверяет поля. Как бы я не нажал на отправить и сообщение отправляется на сервер сразу. А мне надо чтобы проверяло все три поля и выводило сообщение - Сообщение не отправлено.
    Где надо дописать мне здесь.



    HTML:
    1.  
    2. index.html
    3.  
    4. <form action="send.php" method="post" name="f1">
    5. <p>Введите имя:<br>
    6. <input type="text" name="name"></p>
    7. <p>Введите email:<br>
    8. <input type="text" name="email"></p>
    9. <p>Введите сообщение:<br>
    10. <textarea name="message" rows="5" cols="30"></textarea>
    11. <br>
    12. <br>
    13. <input type="submit" value="Отправить "></p>
    14. <input type="reset" value="Стереть"></p>
    15. </form>
    16.  

    PHP:
    1.  
    2.  
    3. send.php
    4.  
    5.  
    6. <?php
    7. if (isset($_POST['$name'])) {$name = $_POST['$name'];}
    8. if (isset($_POST['$email'])) {$email = $_POST['$email'];}
    9. if (isset($_POST['$message'])) {$message = $_POST['$message'];}
    10.  
    11. $address = [email='mail@gmail.com]'mail@gmail.com[/email]';
    12. $sub = "Сообщение";
    13. $mes = "Автор назвался: $name \nУказал свой адрес: $email \nСодержание письма: $message";
    14. $verify = mail ($address,$sub,$mes,"Content-type:text/plain; charset = windows-1251\r\nFrom:$email");
    15. if ($verify == 'true')
    16. {
    17. echo "<p>Сообщение отправлено";
    18. }
    19. else
    20. {
    21. echo "<p>Сообщение не отправлено";
    22. }
    23. ?>
    24.  
    25.  
    26.  
     
  2. djunkie

    djunkie Активный пользователь

    С нами с:
    19 ноя 2008
    Сообщения:
    134
    Симпатии:
    0
    вестимо, добавить в send.php проверку введеных данных
     
  3. lualva

    lualva Активный пользователь

    С нами с:
    21 ноя 2008
    Сообщения:
    19
    Симпатии:
    0
    PHP:
    1.  <?php
    2.   if (isset($_POST['$name'])) {$name = $_POST['$name'];} ?>
    добавить проверку на пустоту полей, если поле пустое, то его уничтожить
    PHP:
    1. <?php if ($name == '') {unset($name);} ?>
    вроде так
     
  4. Greg1978

    Greg1978 Активный пользователь

    С нами с:
    18 окт 2008
    Сообщения:
    484
    Симпатии:
    0
    Адрес:
    class SenjorUser{}
    PHP:
    1.  
    2. <?php
    3. if(isset($_POST['name']) &&  isset($_POST['email']) && isset($_POST['message'])) {
    4.        // Присвоение
    5. } esle {
    6.      echo "Сообщение не отправлено";
    7.      exit;
    8. }
    9. ?>
    10.  
     
  5. lualva

    lualva Активный пользователь

    С нами с:
    21 ноя 2008
    Сообщения:
    19
    Симпатии:
    0
    мне кажется, эту проверку форма пройдёт, т.к. не заполненное поле тоже имеет значение, если я не ошибаюсь :?
     
  6. Greg1978

    Greg1978 Активный пользователь

    С нами с:
    18 окт 2008
    Сообщения:
    484
    Симпатии:
    0
    Адрес:
    class SenjorUser{}
    Не заполненное не имеет, можно добавить проверку в самой форме , а пустое значение здесь.
     
  7. lualva

    lualva Активный пользователь

    С нами с:
    21 ноя 2008
    Сообщения:
    19
    Симпатии:
    0
    ну значит я сказал глупость, бывает
     
  8. VItalijs

    VItalijs Активный пользователь

    С нами с:
    17 дек 2008
    Сообщения:
    244
    Симпатии:
    0
    Адрес:
    Рига, Латвия
    пустые поля отправляются, поэтому лучше проверять if (isset() AND !empty()).
     
  9. anapkin

    anapkin Активный пользователь

    С нами с:
    18 дек 2008
    Сообщения:
    23
    Симпатии:
    0
    Адрес:
    Анапа
    Он, наверное, имеет ввиду ява скрипт. Чего-то мне так кажется. Чтобы проверялось на стороне клиента.
     
  10. unicross

    unicross Активный пользователь

    С нами с:
    14 янв 2009
    Сообщения:
    194
    Симпатии:
    0
    Интересно откуда берутся такие кривые скрипты?
    Например, здесь http://wwwadmin.ru/forum/ftopic72.html обсуждается абсолютно такой же код... И решение такой же проблемы...