我无法让我的代码验证工作.我已经写了名称,姓氏和电子邮件地址的验证,但是,我不知道在我的主html中为PHP代码插入命令的位置.
<body> <div class="logo"></div> <div class="login-block"> <h1>Create Account</h1> <form action="insert_data.PHP" method="post"> <form action="validate_data.PHP"> <input type="text" value="" placeholder="First Name" name="first_name" /> <input type="text" value="" placeholder="Last Name" name="last_name" /> <input type="email" value="" placeholder="E-mail Address" name="email_address" />
但是,我不知道这是否正确.所有三个验证说明都保存在名为“validate_data.PHP”的文件中.
<?PHP $first_name = test_input($_POST["first_name"]); if (!preg_match("/^[a-zA-Z ]*$/",$first_name)) { $first_nameErr = "Incorrect name format."; } ?>
并为我的电子邮件:
<?PHP $email_address = test_input($_POST["email_address"]); if (!filter_var($email_address,FILTER_VALIDATE_EMAIL)) { $email_addressErr = "Invalid email format."; } ?>
解决方法
除非您将页面发送给自己,否则不要将其放在HTML中,在这种情况下,通常最好将PHP放在页面顶部.它需要被命名为.PHP页面而不是.html.这样,例如,如果您希望使表单的值保持为提交的内容,则可以通过设置文本框值来清除它们之后回显它们
value="<?PHP echo $first_name; ?>"
例如.如果您要提交insert_data.PHP,那么所有PHP都只位于顶部的页面上.您似乎有太多<表单操作 - 您只能提交一次.最好将清理代码放在insert_data.PHP的顶部并提交给它. 如果它在同一页面上,则需要将其包装
if( isset($_POST["first_name"])){ // do the cleanup }
或者您将获得空页输入的消息,这些空输入在页面加载时没有机会被提交.如果您随后要将其用于邮件表单的回复:地址(来自:应该始终是您服务器上的地址,或者您将使用它),那么对于您绝对不希望空白的电子邮件地址也一样回到这里张贴想知道为什么它不起作用!)
您可以包含验证脚本,但这可能有点风险,并且对于代码的长度,将其作为包含可能没什么优势.包括不安全的风险:http://www.webhostingtalk.com/showthread.php?t=199419
然后你会使用 – 假设你的包含在名为inc /的文件夹中
include "inc/validate_data.PHP";
在insert_data.PHP页面的顶部 – 没有该文章中显示的括号 – 它是一个声明,而不是一个函数.
http://green-beast.com/blog/?p=144
例如,如果您正在循环发布帖子,那么执行该操作的代码将位于div中您希望它们出现的HTML中.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。