Остановить отправку с пустым значением ввода с помощью PHP

Я ищу простое решение 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; } 

Маленькие таблички Бобби