Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jQuery从PHP获取变量值_Php_Jquery - Fatal编程技术网

使用jQuery从PHP获取变量值

使用jQuery从PHP获取变量值,php,jquery,Php,Jquery,那么,如何使用jquery从php文件中获取变量值。。。? jquery代码位于其他文件(tpl)中 例如,我有register.php和register.tpl(register.php的模板文件) register.php ...some includes here... if(isset($_POST['submit'])) { $username = mysql_real_escape_string(trim($_POST['username'])); $emai

那么,如何使用jquery从php文件中获取变量值。。。? jquery代码位于其他文件(tpl)中

例如,我有register.php和register.tpl(register.php的模板文件)

register.php

 ...some includes here...



if(isset($_POST['submit'])) {
    $username = mysql_real_escape_string(trim($_POST['username']));
    $email = mysql_real_escape_string(trim($_POST['email']));
    $check = $mysql->query("SELECT username FROM ".TBL_USERS." WHERE username = '".$username."' OR email = '".$email."'");
$rows_check = mysql_num_rows($check);
if($rows_check > 0) {
    echo 1;
} else {
    $password = mysql_real_escape_string($_POST['password']);
        $salt = generate_salt($email);
        $hash = hash_password($password, $salt);
        $q = $mysql->query("INSERT INTO ".TBL_USERS." (username, password, email, salt) VALUES ('".$username."', '".$hash."', '".$email."', '".$salt."')");
        if($q) {
            header("Location: index.php");
        } else {
            die(mysql_error());
        }   
    }
} else {
.. calling parse template function ...
}
register.tpl

 ..jquery library included..
    <form id="register" action="register.php" method="post">
       <tr>
       <td>Username</td>
       <td><input type="text" id="username" name="username" class="register" style="width: 200px;" />
    </td>
。包含jquery库。。
用户名
电子邮件 …其他输入。。。 $(“#用户名”).blur(函数() {

var email_v=$(“#email”).val();
$(“#msgbox”).removeClass().addClass('messagebox').text('Checking…').fadeIn(“slow”);
$.post(“register.php”,{username:$(this.val(),email:email_v,submit:true},函数(数据)
{
如果(数据==“1”)
{
$(“#msgbox”).fadeTo(200,0.1,函数()
{
$(this.html('此用户名已存在').addClass('messageboxerror').fadeTo(900,1);
});
}
其他的
{
$(“#msgbox”).fadeTo(200,0.1,函数()
{
$(this).html('Username available to register').addClass('messageboxok').fadeTo(900,1);
});
}
});
});
当我为了测试目的将整个register.php更改为 或
该脚本工作正常…但在原始版本中,它始终显示用户名可用…

最好的办法是将PHP变量作为隐藏字段或JavaScript变量输出:

<input type="hidden" id="my_var" name="my_var" value="<?php echo($my_var); ?>" />

// access it like this:    
alert($('#my_var').val());

最好将PHP变量作为隐藏字段或JavaScript变量输出:

<input type="hidden" id="my_var" name="my_var" value="<?php echo($my_var); ?>" />

// access it like this:    
alert($('#my_var').val());
要么创建一个请求php页面的脚本,该页面将返回您想要的任何内容,要么使用php回显一个javascript变量

<?php 
  echo '<script> var javascript_variable = "whatever"; </script>'; 
?>

要么创建一个请求php页面的脚本,该页面将返回您想要的任何内容,要么使用php回显javascript变量

<?php 
  echo '<script> var javascript_variable = "whatever"; </script>'; 
?>

如果您这样做,它将起作用

echo "1";
然后

if(result == "1") {
如果没有(但我已经检查了我的一个没有引号的代码,它不起作用,有,它还可以),请检查Firebug控制台的响应。

如果您这样做,它将起作用

echo "1";
然后

if(result == "1") {

如果没有(但我检查了我的一个没有引号的代码,它不起作用,有,没问题),检查Firebug控制台的响应。

如果我公司的应用程序需要在动态元素上调用Jquery,并且我们在php文件中有Jquery调用,我们将在Jquery调用中直接调用php

例如:

警报($('#').val())


当然,并非所有情况都适用。如果必须在没有PHP访问权限的情况下调用变量(可能是.tpl文件,具体取决于您的设置)您可以按照上面的详细说明设置隐藏输入。

如果我公司的应用程序需要在动态元素上调用Jquery,并且我们在php文件中有Jquery调用,我们将在Jquery调用中直接调用php

例如:

警报($('#').val())


当然,并非所有情况都适用。如果您必须在没有PHP访问权限的情况下调用变量(可能是.tpl文件,具体取决于您的设置),您可能会求助于如上所述设置隐藏输入。

有几种方法可以将值从PHP传递到Jquery,但是您需要发布一些代码,以便为您的案例提供更好的方法……您使用的模板库是什么?如何在模板中包含PHP值?你能在tpl文件中提供一个变量的例子吗?这真的很重要吗?其他jquery函数也在工作,模板系统也在工作……正如我所说,我尝试用以下代码对php进行clear测试:它工作了……所以echo可能有问题……我考虑将变量中的值作为一种解决方案进行传递(+echo对我来说太糟糕了)。有几种方法可以将值从php传递到jquery,但是您需要发布一些代码,以便为您的案例提供更好的方法……您使用的模板库是什么?如何在模板中包含PHP值?你能在tpl文件中提供一个变量的例子吗?这真的很重要吗?其他jquery函数也在工作,模板系统也在工作……正如我所说,我尝试用以下代码对php进行clear测试:它工作了……所以echo可能有问题……我考虑将变量的值作为解决方案传递(+echo对我来说太糟糕了),然后在register.php页面中,除了echo“1”(检查您的包含项)之外,您还必须有其他元素。firebug控制台在响应部分告诉您什么?我看到在您的$.post中没有submit:true ou submit:*,因此$\u post['submit']不存在。然后在register.php页面中,除了echo“1”(检查您的包含项)之外,您还必须有其他元素。firebug控制台在响应部分告诉您什么?我看到在您的$.post中没有提交:true ou submit:*,所以$\u post['submit']不存在。但事实并非如此……我需要先发布,然后获取值……现在的问题是如何以正确的方式在jquery中设置post值,但事实并非如此……我需要先发布,然后获取值……现在的问题是如何以正确的方式在jquery中设置post值