繁体   English   中英

通过PHP将“表单”详细信息发送到SQL数据库,但需要以正确格式发送详细信息

[英]Sending “form” details to SQL database via PHP, but need to send details in CORRECT format

我已经用PHP编写了一个“表单”,并且可以通过输入form.php在浏览器上查看结果。 该代码的一部分(下面显示的代码是高度截断的形式)涉及电子邮件验证:

<?php
  if (empty($_POST["date"])) {
     .........
     $dateErr = "Invalid date format";
  }
?>

如果用户以错误的格式输入电子邮件,则会生成警告。 我还有一个名为link.php的PHP文件,该文件接受用户在表单中键入的详细信息,然后将其传输到SQL数据库(此处仅显示部分代码):

<?php  //link.php
    $con=mysqli_connect("host_name","user_name","passwd","db_name");
    ...........
    $mail = ....($con, $_POST['mail']);

    $sql="INSERT INTO table_name (mail,......)
          VALUES (...............)";
 ?>

我输入的电子邮件故意以错误的格式写成,它出现在SQL数据库中-这不是我想要的。 是的,我的代码告诉我何时以错误的格式编写电子邮件,但这不会阻止错误编写的电子邮件最终出现在数据库中。 你们中的PHP专家能否就如何编写一段代码以防止以错误的格式编写的电子邮件到达SQL数据库提供建议? 那段代码去哪儿了? 在“ form.php”或“ link.php”中?

if(!empty($_POST['mail']))
    $mail=strip_tags(stripslashes($_POST['mail']));
else
   echo "No email provided";


if(isset($mail)){
    if (!filter_var($mail, FILTER_VALIDATE_EMAIL)){
         echo "Email is in invalid format";
    }else{
         $con=mysqli_connect("host_name","user_name","passwd","db_name");
         $sql="INSERT INTO table_name (mail,......)
                           VALUES (...............)";
    } 
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM