使用PHP更改元素的内容

时间:2013-09-03 21:26:17

标签: php html dom

对于我的登录页面,目前如果密码不正确,我必须重定向到另一个页面。有没有什么方法我只是插入或显示使用PHP在常规登录页面上的错误页面上显示的错误消息,从而消除了对错误页面的需求?我可以轻松地使用jQuery($("#error").css("visibility","visible");,但我不知道如何使用PHP与DOM交互,因为它是在服务器上执行的。

3 个答案:

答案 0 :(得分:0)

通过简单地回显数据,您可以使用PHP使所有Javascript(包括Jquery)和HTML工作。例如:

<?php
echo "<script>$('#error').css('visibility','visible');</script>
?>

请记住在Javascript中使用单引号,以免与PHP的echo函数的双引号冲突。

答案 1 :(得分:0)

如果我正确理解您的问题,您真的不必隐藏/显示元素。您只需在出现错误时回显错误消息。类似的东西:

<?php
$showErr = false;
if ($err == true) {
    $showErr = true;
}

//Put this part in code where you want content of the #error to be displayed
if ($showErr == true) {
    echo '<div id="error">ERROR MESSAGE HERE</div>';
}
?>

答案 2 :(得分:0)

如果需要在PHP中生成错误消息,您可能需要考虑使用AJAX。它是一种JavaScript方法,用于从服务器获取数据并在客户端代码中执行某些操作,而无需更改Web浏览器的页面。然而,做正确的事情要复杂得多,做错也只会让事情变得更慢,更轻松。

我们的想法是使用AJAX请求(例如jQuery's ajax function)将表单数据提交到特制链接,该链接返回可在JavaScript中解析的片段而不是整个网页。该片段将告诉客户端登录是否成功。如果成功,该片段应包含登录凭据,JavaScript回调应该使用该凭据来设置任何会话cookie并重定向到您应该结束的任何页面。如果不成功,则片段应包含回调应显示给客户端的错误消息。处理AJAX请求的JavaScript还必须考虑任何传输错误,并且应该向用户提供表格实际上已提交的反馈;这些东西是由浏览器提供的正常表单提交但不是AJAX请求。