PHP-html表单的安全性,可动态向CSV添加行


PHP - Security for html form dynamically adding rows to CSV

我需要帮助为我的PHP表单添加安全性,例如表单验证,当用户提交电子邮件时,该表单会在csv上写入新行。我是一个完全的PHP新手,需要一些帮助。我需要:

  1. 请确保电子邮件字段不是空的,并且是一个实际有效的地址
  2. 确保按下提交按钮时,该字段不是空的,并且是有效的电子邮件地址

我确实想添加用户反馈,例如当表单提交且有效时,用户会收到一条消息,说"您的电子邮件地址已添加"然而,我希望这是在同一页,这样它就可以在按钮下面。

我该怎么做?我将感谢您的所有帮助代码如下。

<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,只是指出了它……也许你拼错了它,或者只是这样命名。:/