PHP变量未正确传递到Javascript

PHP变量未正确传递到Javascript,php,javascript,jquery,Php,Javascript,Jquery,我试图通过传递PHP变量通过javascript验证输入登录。由于某种原因,我不能正确地执行它。谢谢你的评论。代码如下: PHP: Javascript/jQuery: function enter_log() { var login_username = $("#username_field_log"); var pass_password = $("#pass_field_log"); var button = $("#enter_field_log");

我试图通过传递PHP变量通过javascript验证输入登录。由于某种原因,我不能正确地执行它。谢谢你的评论。代码如下:

PHP:

Javascript/jQuery:

function enter_log() { 
    var login_username =  $("#username_field_log");
    var pass_password =  $("#pass_field_log");
    var button =  $("#enter_field_log");
    var php = "<?= echo $user; ?>";

    if ((login_username.val() == "") || (pass_password.val() == "")) { 
        $("#user_log_info").fadeIn('slow');
        $("#user_log_info").text("Not a proper login input");
        login_username.addClass("error");
        pass_password.addClass("error");
        return false;
    }
    else if ((login_username.val() != php ) || (pass_password.val() == "")) { 
        $("#user_log_info").fadeIn('slow');
        $("#user_log_info").text("Not a proper login input");
        login_username.addClass("error");
        pass_password.addClass("error");
        return false;
    } 
}
换句话说,代码应该返回false,当字段为空时返回false,但当输入正确时不返回TRUE,我的意思是当用户名正确时,因此我假设PHP变量$user没有正确地传递到javascript?

它应该是var PHP=


echo和是一个简单、可靠的PHP到Javascript编码器


我同意你不应该验证这样的事情

在提交时使用JS验证表单,以确保表单已完成且所有部分都已完成,然后使用php或任何脚本语言进行服务器端验证

如果需要,那么如果失败,JS将显示一条消息,而不是传递用户详细信息等,然后将一个简单的php布尔值传递给一个变量

比如说

var userValid=

php$valResult将是数据库检查等给出的结果


然后使用这个js变量。

验证不应该通过Javascript完成。无论出于什么原因,我都可以打开Firebug或Chrome,如果你验证了你的网页,我就可以攻击你的网页。您应该使用PHP代码进行验证,并确保正确清理输入

关于PHP标记的使用:

 var php = "<?php echo $user; ?>";
这是您应该如何编写代码。根据PHP手册

项目1实际上是首选格式


短标记示例三仅在通过Short_open_tag php.ini配置文件指令启用它们时可用,或者如果php配置了-enable Short tags选项。

我建议不要在响应中通过线路发送它们的密码。好吧,您正在通过循环多次重置$user。那似乎没用。另外,如何将输入发送到PHP?你似乎说,一旦他们输入正确的条目,它就应该进行验证,但这不起作用,因为页面没有提交。看起来你可能没有包含足够的javascript代码,我们无法提供帮助。您的代码片段不包含任何类似于返回true的内容;语句,函数将返回true。您可以查看页面源代码,查看JS块中嵌入了什么。你知道,这不是一个黑匣子。密码是md5加密的。是的,谢谢!我很清楚你不应该通过javascript进行验证——不管怎样——为什么正确的用户名输入会返回false??这是我的问题-谢谢…谢谢大家的评论@Cfreak json_encode也正确地编码标量,因此您不必担心引用字符串。
var php = "<?= $user; ?>";
var jsVal = <?php echo json_encode($phpVal); ?>; // note trailing semicolon!
 var php = "<?php echo $user; ?>";
1.  <?php echo 'if you want to serve XHTML or XML documents, do it like this'; ?>

2.  <script language="php">
        echo 'some editors (like FrontPage) don\'t
              like processing instructions';
    </script>

3.  <? echo 'this is the simplest, an SGML processing instruction'; ?>
    <?= expression ?> This is a shortcut for "<? echo expression ?>"

4.  <% echo 'You may optionally use ASP-style tags'; %>
    <%= $variable; # This is a shortcut for "<% echo . . ." %>