Меню
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON PHP КАК СДЕЛАТЬ
     ❯   

PHP Учебник


PHP Формы


PHP Продвинутый


PHP ООП


MySQL База данных


PHP XML


PHP - AJAX


PHP Примеры


PHP Справочник



PHP Полный пример формы



В этой главе показано, как сохранить значения в полях ввода, когда пользователь нажимает кнопку отправки.


PHP - Сохранение значений в форме

Чтобы отобразить значения в полях ввода после того, как пользователь нажал кнопку отправки, мы добавляем небольшой PHP-скрипт в атрибут value следующих полей ввода: имя, email и веб-сайт. В поле текстовой области комментария мы помещаем скрипт между тегами <textarea> и </textarea>. Небольшой скрипт выводит значение переменных $name, $email, $website и $comment.

Затем нам также нужно показать, какая радиокнопка была отмечена. Для этого мы должны изменить атрибут checked (не атрибут value для радиокнопок):

Имя: <input type="text" name="name" value="<?php echo $name;?>">

E-mail: <input type="text" name="email" value="<?php echo $email;?>">

Веб-сайт: <input type="text" name="website" value="<?php echo $website;?>">

Комментарий: <textarea name="comment" rows="5" cols="40"><?php echo $comment;?></textarea>

Пол:
<input type="radio" name="gender"
<?php if (isset($gender) && $gender=="female") echo "checked";?>
value="female">Женский
<input type="radio" name="gender"
<?php if (isset($gender) && $gender=="male") echo "checked";?>
value="male">Мужской
<input type="radio" name="gender"
<?php if (isset($gender) && $gender=="other") echo "checked";?>
value="other">Другой


PHP - Полный пример формы

Здесь представлен полный код примера валидации формы PHP:

Пример

<!DOCTYPE HTML>  
<html>
<head>
<style>
.error {color: #FF0000;}
</style>
</head>
<body>  

<?php
// определение переменных и установка пустых значений
$nameErr = $emailErr = $genderErr = $websiteErr = "";
$name = $email = $gender = $comment = $website = "";

if ($_SERVER["REQUEST_METHOD"] == "POST") {
  if (empty($_POST["name"])) {
    $nameErr = "Имя обязательно для заполнения";
  } else {
    $name = test_input($_POST["name"]);
    // проверка, содержит ли имя только буквы и пробелы
    if (!preg_match("/^[a-zA-Z-' ]*$/",$name)) {
      $nameErr = "Разрешены только буквы и пробелы";
    }
  }
  
  if (empty($_POST["email"])) {
    $emailErr = "E-mail обязателен для заполнения";
  } else {
    $email = test_input($_POST["email"]);
    // проверка корректности адреса электронной почты
    if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
      $emailErr = "Неверный формат E-mail";
    }
  }
    
  if (empty($_POST["website"])) {
    $website = "";
  } else {
    $website = test_input($_POST["website"]);
    // проверка корректности синтаксиса URL-адреса (это регулярное выражение также допускает дефисы в URL)
    if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) {
      $websiteErr = "Неверный URL";
    }
  }

  if (empty($_POST["comment"])) {
    $comment = "";
  } else {
    $comment = test_input($_POST["comment"]);
  }

  if (empty($_POST["gender"])) {
    $genderErr = "Пол обязателен для выбора";
  } else {
    $gender = test_input($_POST["gender"]);
  }
}

function test_input($data) {
  $data = trim($data);
  $data = stripslashes($data);
  $data = htmlspecialchars($data);
  return $data;
}
?>

<h2>Пример проверки формы на PHP</h2>
<p><span class="error">* обязательное поле</span></p>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">  
  Имя: <input type="text" name="name" value="<?php echo $name;?>">
  <span class="error">* <?php echo $nameErr;?></span>
  <br><br>
  E-mail: <input type="text" name="email" value="<?php echo $email;?>">
  <span class="error">* <?php echo $emailErr;?></span>
  <br><br>
  Сайт: <input type="text" name="website" value="<?php echo $website;?>">
  <span class="error"><?php echo $websiteErr;?></span>
  <br><br>
  Комментарий: <textarea name="comment" rows="5" cols="40"><?php echo $comment;?></textarea>
  <br><br>
  Пол:
  <input type="radio" name="gender" <?php if (isset($gender) && $gender=="female") echo "checked";?> value="female">Женский
  <input type="radio" name="gender" <?php if (isset($gender) && $gender=="male") echo "checked";?> value="male">Мужской
  <input type="radio" name="gender" <?php if (isset($gender) && $gender=="other") echo "checked";?> value="other">Другой  
  <span class="error">* <?php echo $genderErr;?></span>
  <br><br>
  <input type="submit" name="submit" value="Отправить">  
</form>

<?php
echo "<h2>Ваши данные:</h2>";
echo $name;
echo "<br>";
echo $email;
echo "<br>";
echo $website;
echo "<br>";
echo $comment;
echo "<br>";
echo $gender;
?>

</body>
</html>

Попробуйте сами »


×

Связаться с отделом продаж

Если вы хотите использовать услуги schoolsw3 как образовательное учреждение, команда или предприятие, отправьте нам электронное письмо:
sales@schoolsw3.com

Сообщить об ошибке

Если вы хотите сообщить об ошибке или внести предложение, отправьте нам электронное письмо:
help@schoolsw3.com

Schoolsw3 оптимизирован для обучения и подготовки. Примеры могут быть упрощены для улучшения чтения и обучения. Учебники, ссылки и примеры постоянно проверяются, чтобы избежать ошибок, но мы не можем гарантировать полную правильность всего контента.
При использовании Schoolsw3 вы соглашаетесь прочитать и принять наши условия использования,
политику использования файлов cookie и конфиденциальности.

Авторское право 1999- © Copyright. Все права защищены. Schoolsw3 работает на SW3.CSS.