Я ищу простое решение PHP, чтобы остановить пустые входные значения в форме от отправки пустых полей ввода. Код для формы приведен ниже. Я хотел бы использовать простое PHP (не Javascript) решение, если это возможно.
Код Form.php
:
<form name="form" method="post" action="add.php"> <input type="text" name="url" id="url"> <button type="submit" id="submit">submit</button> </form>
Код add.php
:
$url=$_POST['url']; $sql= "insert into my_table set url='$url'"; mysql_query($sql) or die("query failed: $sql".mysql_error()); $msg= 'URL Added Thank You'; session_register('msg'); header("Location: form.php "); exit;
Если есть какое-либо PHP-решение для предотвращения отправки пустого ввода перед отправкой формы или после отправки, она может отправить меня обратно в form.php
.
Спасибо.
Лично я почти всегда делаю это в два шага. Сначала санируйте, затем подтвердите.
// Step 1: Sanitize fields $url = mysql_real_escape_string($_POST['url']); // Step 2: Validate fields if(empty($url)) { $msg = "Text can't be empty"; session_register('msg'); header("Location: form.php ") } // Step 3: Whatever $sql= "insert into my_table set url='$url'"; mysql_query($sql) or die("query failed: $sql".mysql_error()); $msg= 'URL Added Thank You'; session_register('msg'); header("Location: form.php "); exit;
Используйте empty
функцию:
if (empty($_POST['query'])) { // Set error and return to form }
Я бы также предложил также прочитать на mysql_real_escape_string .
Вы можете проверить, было ли заполнено входное значение:
<?php if(!empty($_POST['url'])){ // Do something } ?>
$url=$_POST['url']; if(empty($url)) { // redirect back to form header("Location: form.php "); } else { // add record $sql= "insert into my_table set url='$url'"; mysql_query($sql) or die("query failed: $sql".mysql_error()); $msg= 'URL Added Thank You'; session_register('msg'); header("Location: form.php "); exit; }
Маленькие таблички Бобби