我对php真的很陌生,所以请听我说。我用一个表单制作了一个简单的页面,用于验证您发送的数据是否可以发送,但它给了我一个验证错误,甚至在我输入任何内容之前就犯了。这是代码:
<html>
<body>
<form action="first.php" method="post">
Username:<input type="text" name="username"><br />
Password:<input type="password" name="password"><br />
<input type="submit" name="submit"><br />
</form>
<?php
$errors = array();
$username = $_POST['username'];
$password = $_POST['password'];
$errors = array();
if(!isset($username) || empty($username)){
$errors = "Empty username<br />";
}
if ($username > 10){
$errors['username'] = "Username out of range<br />";
}
if (!empty($errors)){
echo "Error<br />";
print_r ($errors);
}
?>
</body>
</html>
将
PHP 代码包装成if()
条件:
if( isset($_POST['submit']) )
{
$errors = array();
(...)
}
如果没有这个,即使没有提交表单,你的代码也会被执行。
试试这个:
<html>
<body>
<form action="first.php" method="post">
Username:<input type="text" name="username"><br />
Password:<input type="password" name="password"><br />
<input type="submit" name="submit"><br />
</form>
<?php
if(isset($_POST['submit']))
{
$errors = array();
$username = $_POST['username'];
$password = $_POST['password'];
$errors = array();
if(!isset($username) || empty($username)){
$errors = "Empty username<br />";
}
if ($username > 10){
$errors['username'] = "Username out of range<br />";
}
if (!empty($errors)){
echo "Error<br />";
print_r ($errors);
}
}
?>
</body>
</html>