gpt4 book ai didi

php - 验证 HTML 中的信息 - 代码定位

转载 作者:可可西里 更新时间:2023-10-31 23:38:27 26 4
gpt4 key购买 nike

我无法让我的代码验证正常工作。我已经为名字、姓氏和电子邮件地址编写了验证,但是,我不知道在哪里插入要在我的主 html 中调用的 php 代码的命令。

我想我必须在这样的表单中添加一个 Action :

<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 都位于顶部的那个页面上。你好像有太多<form actions - 你只能提交一次。最好将清理代码放在 insert_data.php 的顶部并提交给它。

如果它在同一页面上,则需要将其包装在

    if( isset($_POST["first_name"])){
// do the cleanup
}

否则您将收到有关空输入的消息,这些消息在页面加载时没有机会提交。如果您随后要将其用于邮件表单的 Reply-To:,则对您绝对不想留空的电子邮件地址执行相同的操作。地址(From: 应该始终是您服务器上的地址,否则您会回到这里发帖,想知道为什么它不起作用!)

你可以 include验证脚本,但这可能有点冒险,而且对于代码的长度来说,将它作为包含可能没有什么优势。不安全地包含的风险:http://www.webhostingtalk.com/showthread.php?t=199419

然后您将使用 - 假设您的包含文件位于名为 inc/ 的文件夹中

include "inc/validate_data.php";

在你的 insert_data.php 的顶部page - 没有那篇文章中显示的括号 - 它是一个声明,而不是一个函数。

关于 includes 的另一篇好文章:

http://green-beast.com/blog/?p=144

例如,如果您要循环发布帖子,则执行此操作的代码将位于 div 中您希望它们出现的 HTML 中的某个位置。

关于php - 验证 HTML 中的信息 - 代码定位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34321429/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com