我需要将值从javascript传递给php。我怎么能实现这个,因为一个在客户端运行,另一个在服务器上运行?或其他任何替代方案?我是编程的新手,所以如果我错了,请提出正确的建议。
<html>
<head>
<SCRIPT language="JavaScript">
var q1=Math.floor(Math.random()*11)
<?php
$ff = q1;
?>
</SCRIPT>
</head>
<body>
<?php
echo $ff ;
?>
</body>
</html>
答案 0 :(得分:3)
由于PHP代码(服务器端)在javascript代码(客户端)之前运行/解析是不可能的。所以尽管可以反转,你所做的事情是不可能的。您也可以使用:
将javascipt变量值发送到php。
答案 1 :(得分:2)
PHP是服务器端语言,用于在HTML中呈现输出,因此您可以将JavaScript变量中的PHP变量而不是JavaScript分配给php,您可以通过AJAX将JavaScript变量发送到服务器
试试这种方式
<SCRIPT language="JavaScript">
var q1=Math.floor(Math.random()*11)
function sendAJAX(q1)
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
alert('posted value' + xmlhttp.responseText);
}
}
xmlhttp.open("GET","http://yourdomain.com/?q=" + q1 ,true);
xmlhttp.send();
}
</SCRIPT>
在PHP代码中
<?php
$ff = $_GET['q'];
echo $ff;
?>
答案 2 :(得分:1)
HTML文件:
<script src='http://code.jquery.com/jquery-1.10.2.min.js'></script>
<script>
var q1=Math.floor(Math.random()*11);
$(document).ready(function(){
$.ajax({url:"ajax.php",data: {"q1":q1}}).done(function(data){console.log(data)});
});
</script>
PHP文件:ajax.php
<?php
$ff = filter_input(INPUT_GET, 'q1', FILTER_VALIDATE_INT);
echo $ff;
?>
参考文献:
答案 3 :(得分:0)
you can use like this.
<html>
<head>
<script type="text/javascript">
var q1="hello";
<?php
$ff ="<script>document.write(q1)</script>";
?>
</script>
</head>
<body>
<?php echo $ff; ?>
</body>
</html>
答案 4 :(得分:0)
$userdata = get( 1 from "users" where user = "$_SESSION['user']"); //don't mind the get function. Use your own QUERIES. Just mind the logic.
$post_access = $userdata['post_access'];
if($post_acess == 1){
//post the data
}else{
//Bro you are blocked
}