如何使用php更改div的内容

如何使用php更改div的内容,php,html,Php,Html,它不一定非得是一个div,它可以是任何东西,一篇文章一节 我正在为一个大学项目制作一个网站,该网站类似于DropBox(文件托管网站)。非商业 我现在在注册页面上,我想做的是在用户按下提交按钮后,我想更改错误输入字段旁边的div标签的内容 例如,如果用户键入的密码长度小于3个字符,则密码字段旁边的div标记中将显示“X”,并且在提交按钮下将显示一条消息,说明“密码必须超过3个字符” 这是代码的一部分,不是全部发布,因为它太长了 <form action="register.php" met

它不一定非得是一个div,它可以是任何东西,一篇文章一节

我正在为一个大学项目制作一个网站,该网站类似于DropBox(文件托管网站)。非商业

我现在在注册页面上,我想做的是在用户按下提交按钮后,我想更改错误输入字段旁边的div标签的内容

例如,如果用户键入的密码长度小于3个字符,则密码字段旁边的div标记中将显示“X”,并且在提交按钮下将显示一条消息,说明“密码必须超过3个字符”

这是代码的一部分,不是全部发布,因为它太长了

<form action="register.php" method="post" >
  <section>
    <article>Password*</article>
    <input type="text" name="password" id="password" required="required"/>
    <div id="right_or_wrong"></div> <!-- tick - &#10003; , wrong - X -->
  </section>
  <input type="submit" name="register" value="Register" />
<div id="error_msg"></div>
</form>

密码*
我试图搜索如何做到这一点,但我找不到任何东西,我就是想不出来


我知道我可以将PHP代码放在div标记中,并从那里对其进行评估,但我希望将代码放在表单的底部,使其更整洁

因此,在register.php中,当您验证表单并发现密码太短时,可以设置一个变量,如
$password\u error=“password必须超过3个字符。”

然后您可以重新渲染窗体并

<div id="right_or_wrong"><?php echo $password_error; ?></div> 


PHP无法单独完成这项工作。PHP是服务器脚本——它不能在用户的机器上运行并处理实时事件


相反,使用并调用一个php文件,该文件将返回文本。然后,使用Javascript将该文本附加到div或任何您想要的内容。

在将表单发送到服务器之前,您可以使用简单的onsubmit函数进行验证:

<script>
function validate(){
    // here, check the password and other answers
    if( /* check password here */ ){
        document.getElementById("right_or_wrong_password").innerHTML="X";
        document.getElementById("error_msg").innerHTML="Password must be more than 3 characters.";
        return false; // prevent from submitting form
    }else if( /* check field1 here */ ){
        document.getElementById("right_or_wrong_field1").innerHTML="X";
        document.getElementById("error_msg").innerHTML="Error in the field......";
        return false; // prevent from submitting form
    }else{
        return true; // the form can be submitted
    }
}
</script>
<form action="register.php" method="post" >
  <section>
    <article>Password*</article>
    <input type="password" name="password" id="password" required="required"/>
    <div id="right_or_wrong_password"></div> <!-- tick - &#10003; , wrong - X -->
  </section>
  <input type="submit" name="register" value="Register" onsubmit="validate()" />
<div id="error_msg"></div>
</form>

函数验证(){
//在这里,检查密码和其他答案
如果(/*请在此处检查密码*/){
document.getElementById(“密码正确或错误”).innerHTML=“X”;
document.getElementById(“error_msg”).innerHTML=“密码必须超过3个字符。”;
返回false;//禁止提交表单
}否则如果(/*检查此处的字段1*/){
document.getElementById(“对”或“错”字段1”).innerHTML=“X”;
document.getElementById(“error_msg”).innerHTML=“字段中的错误……”;
返回false;//禁止提交表单
}否则{
return true;//可以提交表单
}
}
密码*

通过这种方式,您可以验证表单的每个字段(仅答案结构)。然后,始终需要服务器验证。

用于验证密码字符。您在错误的林中吠叫。使用php(服务器端),如果密码错误,您可以在提交后更新表单-在这种情况下,您正在修改响应。你真的很想了解javascript。使用jquery之类的简单工具来监视
密码的值,并做出相应的反应。简单的回答是,您只需将
放在
if
语句中……但这就撇开了如何在PHP中使用表单以及如何测试值是否与模式匹配的所有问题。你真的应该从介绍PHP教程开始。如果你阅读了我写的内容,你会看到“在用户按下提交按钮后”,因此如果用户在密码字段中输入“abc”并按下提交或我的示例注册表,那么页面将像往常一样重新加载,div元素现在将包含一个“X”在它没有包含任何内容之前,它是空的。很多人都在挥舞JavaScript。JavaScript在方便用户方面非常好,但您确实需要在服务器上执行这些测试(您不能相信用户的浏览器能让用户符合您的要求,它由用户控制)。这是我尝试做的合乎逻辑的事情,但它没有更新它:|