我试图在用户提交登录表单后,在PHP的echo语句中执行一些简单的JQuery命令。
用户可以使用正确的凭据登录,但如果他们输入错误的凭据,则应显示无效的凭据段落。
以下是代码:
<?php
//PHP code for login in, working, not needed to show
echo 'Testing
<script>
$( ".wrong" ).show( "slow" );
</script>';
?>
<!DOCTYPE html>
<html>
<head>
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body class="login">
<form action="" method="post" class="login-form">
<p class="wrong" style="display: none;">Invalid Credentials</p>
<a class="link" href="#">Forgot your password?</a>
<button type="submit" class="login-btn" name="submitLogin">Log in</button>
</form>
</body>
注意:来自echo的测试值显示,但 JQuery不会执行。
无法将PHP代码放在HTML之后,因为它会为我的登录表单创建会话。
答案 0 :(得分:2)
<?php
echo 'Testing
<script>
$( ".wrong" ).show( "slow" );
</script>';
?>
这不会创建会话,也不需要位于顶部。需要在顶部的是session_start()
调用是,但顶部不需要回显脚本html
例如你可以做
<?php
session_start();
if(attemptLogin()){
//logged in path
} else {
//wrong credentials
$LoginError = true;
}
?>
<!doctype html>
<html>
<head>
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<?php if($LoginError):?>
<script>
jQuery(document).ready(function(){
$( ".wrong" ).show( "slow" );
});
</script>;
<?php endif;?>
</head>
答案 1 :(得分:0)
您需要首先加载您的js文件,然后加载要加载的DOM,然后您可以在</body>
标记之前使用下面的代码,它将起作用。
<?php
//PHP code for login in, working, not needed to show
echo 'Testing
<script>
$( ".wrong" ).show( "slow" );
</script>';
?>