使用PHP停止使用空输入值提交

时间:2011-10-10 15:01:09

标签: 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

谢谢。

4 个答案:

答案 0 :(得分:5)

就个人而言,我几乎总是分两步完成这些事情。先消毒,然后验证。

// 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;

答案 1 :(得分:2)

使用empty功能:

if (empty($_POST['query'])) {

    // Set error and return to form

}

高度建议阅读mysql_real_escape_string

答案 2 :(得分:1)

您可以检查输入值是否填充:

<?php
  if(!empty($_POST['url'])){
    // Do something 
  }
?>

答案 3 :(得分:1)

$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;
}

Little Bobby Tables