如何将脚本变量值导入php

时间:2016-04-13 08:55:23

标签: php wordpress

    <tr class="form-field">
    <th valign="top" scope="row">
    <label for="email"><?php _e('E-Mail', 'custom_table_example')?></label>
        </th>
         <td>
    <input id="email" name="email" type="email" style="width: 95%" value="<?php echo esc_attr($item['email'])?>"
               size="50" class="code" placeholder="<?php _e('Your E-Mail', 'custom_table_example')?>" onchange="myFunction();"  required>
         </td>
</tr>

   <?php
echo'<script>
function myFunction() {
var x = document.getElementById("email").value;
alert(x);
}             
</script>';
?>
<?php
$content = "<script>document.write(x)</script>";
echo $content;
?>
<?php
 $user = get_user_by( 'email', 'abc@a.com' );
 $userId = $user->ID;

echo "That E-mail is registered to user number " . $userId;

?>

如何将javascript变量导入php?       我已尝试使用上面的代码。我正在收到javascript警报,但我需要php中的变量值。      如果我得到变量需要与userid进行比较。如果存在userid,我需要将其存储到db,否则它不应保存到db并提供错误消息....需要在提交之前检查。     在此先感谢!!!

1 个答案:

答案 0 :(得分:0)

您对服务器端语言的工作方式感到困惑。

在生成的HTML返回给客户端之前,服务器会处理页面中存在的任何php。因此,javascript无法以您尝试过的方式与服务器通信。

你需要做的是使用javascript(可能带有jquery)向服务器发送ajax请求,这会将数据发送到服务器并等待答案,然后你可以根据答案做一些事情。 / p>

以下是ajax调用的示例(来自jquery docs):

$.ajax({
  method: "POST",
  url: "some.php",
  data: { name: "John", location: "Boston" }
})
  .done(function( msg ) {
    alert( "Data Saved: " + msg );
});