获取一个javascript变量到PHP变量
我有一个代码,我必须把PHP变量放在JS中,以其他方式放在同一个文件中 从PHP到JS没有问题,但是从JS到PHP有点困难 也许你能帮忙获取一个javascript变量到PHP变量,javascript,php,mysql,Javascript,Php,Mysql,我有一个代码,我必须把PHP变量放在JS中,以其他方式放在同一个文件中 从PHP到JS没有问题,但是从JS到PHP有点困难 也许你能帮忙 <?php if($freischaltung==1){ ?> <tr><th><a type="button" name="msg" href="Nachrichten.php?ID=<?php echo $id; ?>">Nachricht senden</a></th>
<?php
if($freischaltung==1){
?>
<tr><th><a type="button" name="msg" href="Nachrichten.php?ID=<?php echo $id; ?>">Nachricht senden</a></th></tr>
<tr><th>
<?php
} else {
?>
<button onclick="freischalten()">Freischalten</button>
<p id="FreischaltungAusgabe"></p>
<?php
echo "<script>
var krone =".$kronen.";
</script>";
?>
<script>
function freischalten() {
var x;
if (confirm("Das Freischalten kostet dich 2 Kronen!") == true) {
krone = krone -2;
if(krone<2){
x = "Du hast zu wenige Kronen um eine Freischaltung durchzuführen!";
document.getElementById("FreischaltungAusgabe").innerHTML = x;
} else {
x = "Erfolgreich freigeschaltet! Restliche Kronen = "+krone;
$freischalten = 1; // This should be a PHP Variable
//Also I want to do at this part a INSERT INTO friends Where....
document.getElementById("FreischaltungAusgabe").innerHTML = x;
}
} else {
x = "Vielleicht beim nächsten mal!";
document.getElementById("FreischaltungAusgabe").innerHTML = x;
}
}
</script>
弗赖斯卡尔滕
函数freischalten(){
var x;
如果(确认(“Das Freischalten kostet Dic 2 Kronen!”)==true){
克朗=克朗-2;
如果(kroneJS是客户端语言,PHP是服务器端语言。您不能将JS变量直接设置为PHP变量。请使用隐藏形式或Ajax在PHP变量中获取JS变量。JS是客户端语言,PHP是服务器端语言。您不能将JS变量直接设置为PHP变量。请使用隐藏形式或Ajax获取JS变量n一个PHP变量。我很确定您想要做的是可能的,但是您必须重新加载页面,或者使用ajax调用,或者刷新角色页面
默认情况下,网页是静态的,在浏览器加载页面后,页面会按原样显示,您可以激活javascript和其他内容,但要将JS变量解析为PHP,您必须提交表单或使用Ajax调用另一个PHP脚本,并将结果返回到当前页面
根据:
AJAX是开发人员的梦想,因为您可以:
- 在不重新加载网页的情况下更新网页
- 从服务器请求数据-页面加载后
- 从服务器接收数据-页面加载后
- 在后台向服务器发送数据
您应该在主php表单中执行以下操作:
function parseVariable() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
// the element this.responseText will be all the content returned by your php script called by the xhttp.open
document.getElementById("myelement").innerHTML = this.responseText;
}
};
// the method can be either GET or POST
xhttp.open("GET", "myphpscript.php?myvariable=" + document.getElementById("myfield").value , true);
xhttp.send();
}
之后,必须使用javascript在HTML中调用parseVariable()
函数
<input type="text" name="myfield" id="myfield">
<button type="button" onclick="parseVariable()">Parse</button>
<p id="myelement"> </p>
我非常确定您想要做的是可能的,但是您必须重新加载页面,或者使用ajax调用,或者刷新角色页面
默认情况下,网页是静态的,在浏览器加载页面后,页面会按原样显示,您可以激活javascript和其他内容,但要将JS变量解析为PHP,您必须提交表单或使用Ajax调用另一个PHP脚本,并将结果返回到当前页面
根据:
AJAX是开发人员的梦想,因为您可以:
- 在不重新加载网页的情况下更新网页
- 从服务器请求数据-页面加载后
- 从服务器接收数据-页面加载后
- 在后台向服务器发送数据
您应该在主php表单中执行以下操作:
function parseVariable() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
// the element this.responseText will be all the content returned by your php script called by the xhttp.open
document.getElementById("myelement").innerHTML = this.responseText;
}
};
// the method can be either GET or POST
xhttp.open("GET", "myphpscript.php?myvariable=" + document.getElementById("myfield").value , true);
xhttp.send();
}
之后,必须使用javascript在HTML中调用parseVariable()
函数
<input type="text" name="myfield" id="myfield">
<button type="button" onclick="parseVariable()">Parse</button>
<p id="myelement"> </p>
你的设计…基本上是错误的。当你需要像这样混合JS和PHP时,你应该回到绘图表,重新思考你在做什么。也许,你应该做的是保留JS(不,你应该确保你的JS在一个单独的外部文件中,并在JS中捕获点击/事件,而不是使用onclick和类似的东西),并使用AJAX向PHP发送/接收信息。您可以通过AJAX保存值并将其保存到会话中,或者尝试将其保存到Cookies中。您应该通过AJAX将值发送到适当的PHP代码文件PHP存在于服务器上,javascript存在于浏览器中(实际上是任何Web客户端,如手机甚至桌面),当你想与他们交流时,你发送/接收HTTP请求/响应:)你的设计…基本上是错误的。当你需要像这样混合JS和PHP时,你应该回到绘图表,重新思考你在做什么。也许,你应该做的是保留JS(不,您应该确保您的js位于单个外部文件中,并在js中捕获单击/事件,而不是使用onclick和类似的东西),并使用AJAX向PHP发送/接收信息。您可以通过AJAX保存值并将其保存到会话中,或者尝试将其保存到Cookies中。您应该通过AJAX将值发送到适当的PHP代码文件PHP存在于服务器上,javascript存在于浏览器中(实际上是任何Web客户端,如手机甚至桌面),当您想要与他们通信时,您可以发送/接收HTTP请求/响应:)