Javascript Can';t将php变量传递给JS,然后JS调用php文件来更新sql

Javascript Can';t将php变量传递给JS,然后JS调用php文件来更新sql,javascript,php,mysql,Javascript,Php,Mysql,我修这个有困难。我想把一个php变量传递给一些JS。JS然后使用php变量调用一个php文件。在本例中,domain.com/updatesql.php?userid=USERNAME 下面是我的index.php,它会将用户ID传递给fixer.php //////////////////Index.php//////////////////// <?php $err_msg = ''; if( isset($_POST['submit'])) { if($_POST['us

我修这个有困难。我想把一个php变量传递给一些JS。JS然后使用php变量调用一个php文件。在本例中,domain.com/updatesql.php?userid=USERNAME

下面是我的index.php,它会将用户ID传递给fixer.php

//////////////////Index.php////////////////////
<?php
$err_msg = '';

if( isset($_POST['submit'])) {

    if($_POST['userid'] == '')
    {
        $err_msg = 'Please enter userid<br>';
    }

   if($err_msg == '')
   {
            $data_frm = '<form name="frm1" id="frm1" action="fixer.php" method="get">
            <input type="hidden"  name="userid" id="userid" value="'.$_POST['userid'].'">
            </form>';
        echo $data_frm.=" <script language='Javascript'> document.frm1.submit();</script>";
   }
}
?>

<div id="signup">
     <form method="post" method="frm" id="frm" >
        <p class="form-field"><div align="center">

         <input type="text" size="46" name="userid" id="userid" value="<?php if(isset($_POST['userid'])) echo $_POST['userid']; ?>" placeholder="Your userid" />
        </p>
</div>
<div align="center">
        <p class="form-submit">
<input type="submit" name="submit" value="Submit userid" >
</div>
        </p>
    </form>
//Index.php////////////////////

这可能对你有用,修复你的php
echo
,然后看看你的
GET
数组包含什么?试着这样做

//fixer.php

<?php   $subid = $_GET['userid']; ?> //but set your $subid first    
//但是首先设置$subid
//js函数

function doSomething2(){
        $.ajax
            { url: '/updatesql.php',
                data: { userid : <?php echo $subid; ?> },  //you missed echo here
                type : 'GET',
                dataType: 'json',
                success : function (jsXHR) {
                 // console.log('success');
                },
                failed : function(status,data){ 
                 //console.log('error');     
                 }
               }
         );
    }
函数doSomething2(){
$.ajax
{url:'/updatesql.php',
数据:{userid:},//您错过了这里的echo
键入:“GET”,
数据类型:“json”,
成功:函数(jsXHR){
//console.log('success');
},
失败:函数(状态、数据){
//console.log('error');
}
}
);
}
//在updatesql.php上,出于调试目的

 echo '<pre>';
 print_r($_GET);
 echo '</pre>';
echo';
打印(美元);;
回声';

有两件事出错,首先,在定义JavaScript之前,您试图在JavaScript中使用
$subid
。您需要执行
$subid=$\u GET['userid']在JavaScript之前


其次是
,它完全不起任何作用。您需要回显PHP,因此当页面加载时,它是JavaScript中的一个变量。

您有几个关于代码安全问题的警告。首先,切勿将用户内容直接打印到浏览器。不要直接使用SQL,从用户处连接值。

在定义
$subid=$\u GET['userid']之前,您正在调用
,并且您需要它仍然有问题。它本来是有回声的。谢谢,我已经做了修改,但还是没有运气。
function doSomething2(){
        $.ajax
            { url: '/updatesql.php',
                data: { userid : <?php echo $subid; ?> },  //you missed echo here
                type : 'GET',
                dataType: 'json',
                success : function (jsXHR) {
                 // console.log('success');
                },
                failed : function(status,data){ 
                 //console.log('error');     
                 }
               }
         );
    }
 echo '<pre>';
 print_r($_GET);
 echo '</pre>';