将javascript提示输入传递给PHP变量
所以我正在为iOS开发一个代码签名系统。我需要一个用户的UDID,然后他们才能访问该网站。如何将javascript提示输入传递给php变量 我已尝试将变量发回同一页面将javascript提示输入传递给PHP变量,javascript,php,Javascript,Php,所以我正在为iOS开发一个代码签名系统。我需要一个用户的UDID,然后他们才能访问该网站。如何将javascript提示输入传递给php变量 我已尝试将变量发回同一页面 <?php $udid = $_POST['udid']; if(empty($udid)){ $udid = file_get_contents("saves/" . $ip . ".txt"); } if(empty($udid)){ ?> <script&g
<?php
$udid = $_POST['udid'];
if(empty($udid)){
$udid = file_get_contents("saves/" . $ip . ".txt");
}
if(empty($udid)){
?>
<script>
var udid=prompt("Please enter your UDID");
$.ajax(
{
type: "POST",
url: "app.php",
data: udid,
success: function(data, textStatus, jqXHR)
{
console.log(data);
}
});
</script>
<?php
}
if( strpos(file_get_contents("cert1.txt"),$udid) !== false) {
echo "Device status:<br><span class='badge badge-dark'>Signed</span><br>";
echo "Signed on cert:<br><span class='badge badge-dark'>1</span><br>";
} else {
$t = ' ' . time();
echo "<p>Device status:<br><span class='badge badge-dark'>Unsigned</span><br>You are now<br>on the waitlist</p><script>alert(\"Your device isn't approved yet. We have added you to the waitlist. Check back soon.\");</script>";
$txt = $_GET['udid'] . $t;
$myfile = file_put_contents('notsigned.txt', $txt.PHP_EOL , FILE_APPEND | LOCK_EX);
header("Location: notsigned.php");
}
?>
<br>
<a href="http://get.udid.io" style="text-decoration:none;font-family:arial;font-size:15px;color:#fff;padding:8px;border-radius:5px;background-color:blue;margin-bottom:5px;">Get your udid</a>
<br><br>
<form class='form-horizontal well' action='#' method='post'>
<input type='text' name='udid' class='input-large' size="9" border="2" placeholder="udid" value='<?= $udid ?>'>
<button type="submit" id="submit" style="text-decoration:none;font-family:arial;font-size:15px;color:#fff;padding:8px;border-radius:5px;background-color:springgreen;margin-bottom:5px;" class="badge-primary">Save</button>
</form>
<?php
setcookie("udid", $udid, time()+31536000000, "/");
file_put_contents("saves/" . $ip . ".txt",$udid);
if(empty($udid)){
alert('You cannot access anything till you enter your udid.');
}
?>
var udid=提示(“请输入您的udid”);
$.ajax(
{
类型:“POST”,
url:“app.php”,
数据:udid,
成功:函数(数据、文本状态、jqXHR)
{
控制台日志(数据);
}
});
转载我的评论作为回答(更详细一点):
您应该有data:{udid:udid}
而不是data:udid
。表示数据
应该位于“对象、字符串或数组”上,但它只在显式情况下提到一个字符串,即它是一个查询字符串(例如?key1=value1&key2=value2
)。通过如图所示将其作为对象传递,您可以确保PHP后端能够访问$\u POST['udid']
,并且它将具有预期的值
注意:如果您使用的是ES6,那么这个对象可以缩写为data:{udid}
。将我的评论作为答案重新发布(更详细一些):
您应该有data:{udid:udid}
而不是data:udid
。表示数据
应该位于“对象、字符串或数组”上,但它只在显式情况下提到一个字符串,即它是一个查询字符串(例如?key1=value1&key2=value2
)。通过如图所示将其作为对象传递,您可以确保PHP后端能够访问$\u POST['udid']
,并且它将具有预期的值
注意:如果使用ES6,此对象可以缩写为data:{udid}
。将data
属性更改为:
data: {
udid: udid
},
将data
属性更改为以下内容:
data: {
udid: udid
},
你在问什么?您有一些Ajax,这是传递此消息的一种方式。问题是什么?php没有接收变量。请查看控制台。此外,如果UDID未通过,我还希望其他方面不会继续。为什么不把它存储在会话变量中呢?我想应该是数据:{udid:udid}
而不是数据:udid,
?否则,您的PHP后端如何知道它要查找的键是“udid”
?[注意,如果您使用ES6,这可以缩写为data:{udid}
。]请解释一下会话变量是什么?我会检查控制台。你希望别人不要继续你问的是什么?您有一些Ajax,这是传递此消息的一种方式。问题是什么?php没有接收变量。请查看控制台。此外,如果UDID未通过,我还希望其他方面不会继续。为什么不把它存储在会话变量中呢?我想应该是数据:{udid:udid}
而不是数据:udid,
?否则,您的PHP后端如何知道它要查找的键是“udid”
?[注意,如果您使用ES6,这可以缩写为data:{udid}
。]请解释一下会话变量是什么?我会检查控制台。你所说的你希望别人不要继续下去是什么意思。删除了我的。再次感谢你。删除了我的。再次感谢