我需要帮助为我的PHP表单添加安全性,例如表单验证,当用户提交电子邮件时,该表单会在csv上写入新行。我是一个完全的PHP新手,需要一些帮助。我需要:
- 请确保电子邮件字段不是空的,并且是一个实际有效的地址
- 确保按下提交按钮时,该字段不是空的,并且是有效的电子邮件地址
我确实想添加用户反馈,例如当表单提交且有效时,用户会收到一条消息,说"您的电子邮件地址已添加"然而,我希望这是在同一页,这样它就可以在按钮下面。
我该怎么做?我将感谢您的所有帮助代码如下。
<form action='proces.php' method='post'>
<p><label>Email</label><br><input type='text' name='email' value=''></p>
<p><input type='submit' name='submit' value='Submit'></p>
</form>
<?php
//read data from form
$lName = filter_input(INPUT_POST, "name");
$fName = filter_input(INPUT_POST, "email");
$email = filter_input(INPUT_POST, "email");
$phone = filter_input(INPUT_POST, "phone");
$output = $fName . "t";
$output .= $lName . "t";
$output .= $email . "t";
$output .= $phone . "n";
if(empty($fname) || empty($ln) || empty($phone)){//show the form
$message = 'Fill in areas in red!';
$aClass = 'errorClass';
}
//open file for output
$fp = fopen("contacts.csv", "a");
//write to the file
fwrite($fp, $output);
fclose($fp);
?>
http://php.net/manual/en/filter.examples.validation.php
您可以将其用作验证电子邮件的一种方式,也可以创建一个注册和登录页面,并将电子邮件发送给他们进行验证。你可以简单地把required
放在电子邮件输入的某个地方,它会在成功提交之前确保它不是空的,或者你可以做一个if语句,我看到你在上面做了。对于提交按钮,您还需要一个if语句。我没有看到正在建立DB连接,也没有看到插入语句。我建议先做!empty
,然后做echo successful submit
之类的,然后再做一个else语句,声明字段是必需的。不过,你可以走近路,把required
放进去。(:不确定它是否应该是proces.php
,只是指出了它……也许你拼错了它,或者只是这样命名。:/