如何将JavaScript确认变量传递给php变量
这是我的示例代码,希望您能帮助我。如何将JavaScript变量传递给php变量?为什么即使选择“取消”,它仍会显示为真 JavaScript如何将JavaScript确认变量传递给php变量,javascript,php,Javascript,Php,这是我的示例代码,希望您能帮助我。如何将JavaScript变量传递给php变量?为什么即使选择“取消”,它仍会显示为真 JavaScript var jsChoose = confirm("are you sure?"); PHP $phpChoose = "<script>document.write(jsChoose);</script>"; if($phpChoose==True){ echo "true"; } else{ echo "false";
var jsChoose = confirm("are you sure?");
PHP
$phpChoose = "<script>document.write(jsChoose);</script>";
if($phpChoose==True){
echo "true";
}
else{
echo "false";
}
$phpChoose=“document.write(jsChoose);”;
如果($phpChoose==True){
呼应“真”;
}
否则{
呼应“假”;
}
使用ajax函数并通过该函数将变量发送到php
$.ajax({
type: "POST",
url: "file url with php",
data: {myVariable:value},
complete: function(data){
console.log(data);
}
});
使用ajax函数并通过它向php发送变量
$.ajax({
type: "POST",
url: "file url with php",
data: {myVariable:value},
complete: function(data){
console.log(data);
}
});
将信息从客户端(JS)传递到服务器端(PHP)的最佳方法之一是使用
html表单
。如果您不想让用户看到html表单,则可以从网页中隐藏它。
您希望此表单将所需信息发布到PHP脚本中。
例如,您希望将从确认框捕获的布尔
变量传递到服务器端。因此,让我们使用确认框返回的值创建一个表单,并将其发布到服务器端
html表单:
<form id="myForm" action="testBoolean.php" method="post">
<input type="hidden" id="inputBoolean" value="5" name="boolean">
</form>
javascript(将其放在表单下方,否则可能会出错)
var jsChoose=confirm(“您确定吗?”);
document.getElementById(“inputBoolean”).value=jsChoose;
document.getElementById(“myForm”).submit();
现在您需要一个名为“testBoolean.php”的php页面,并在其中检索发布的信息。对于本演示,它将简单地回显由确认框给出的已发布布尔变量的值
testBoolean.php:
<?php
$boolean= htmlspecialchars($_POST['boolean']);
echo $boolean;
?>
记住,$\u POST['']
括号内是您提交的输入字段的名称。
希望这对你有所帮助,祝你好运,并致以良好的祝愿 将信息从客户端(JS)传递到服务器端(PHP)的最佳方法之一是使用html表单
。如果您不想让用户看到html表单,则可以从网页中隐藏它。
您希望此表单将所需信息发布到PHP脚本中。
例如,您希望将从确认框捕获的布尔
变量传递到服务器端。因此,让我们使用确认框返回的值创建一个表单,并将其发布到服务器端
html表单:
<form id="myForm" action="testBoolean.php" method="post">
<input type="hidden" id="inputBoolean" value="5" name="boolean">
</form>
javascript(将其放在表单下方,否则可能会出错)
var jsChoose=confirm(“您确定吗?”);
document.getElementById(“inputBoolean”).value=jsChoose;
document.getElementById(“myForm”).submit();
现在您需要一个名为“testBoolean.php”的php页面,并在其中检索发布的信息。对于本演示,它将简单地回显由确认框给出的已发布布尔变量的值
testBoolean.php:
<?php
$boolean= htmlspecialchars($_POST['boolean']);
echo $boolean;
?>
记住,$\u POST['']
括号内是您提交的输入字段的名称。
希望这对你有所帮助,祝你好运,并致以良好的祝愿 还有一种使用查询字符串的方法,如下所示:
<?php
if ( isset($_SERVER['QUERY_STRING']) && $_SERVER['QUERY_STRING'] != null ) {
$qs = htmlentities($_SERVER['QUERY_STRING']);
list(,$ans) = explode("=",$qs);
if ($ans) {
echo "Your answer is $ans. ";
}
exit("Thank you");
}
?>
<?php
error_reporting(E_ALL);
if ( isset($_SERVER['QUERY_STRING']) && ($_SERVER['QUERY_STRING'] != NULL))
{
$url = 'http://www.example.com/some_page.php';
$qs = htmlentities($_SERVER['QUERY_STRING']);
list($key,$value) = explode("=",$qs);
$arr = array($key => $value);
$options = array(
'http'=>array(
'method'=>"POST",
'header'=>
"Accept-language: en\r\n".
"Content-type: application/x-www-form-urlencoded\r\n",
'content'=>http_build_query( $arr )
));
$context = stream_context_create($options);
$fp=fopen($url,'rb',false,$context);
fpassthru($fp);
fclose($fp);
exit;
}
?>
您可以将PHP代码放在网页顶部,然后是包含以下JavaScript的HTML:
<script>
var ans = false;
if( ans = confirm("Are you sure?")) {
this.location += "?answer=" + ans;
}
else
{
document.write("Action cancelled since you seem unsure");
}
</script>
var ans=假;
如果(ans=确认(“您确定吗?”){
此.location+=“?answer=“+ans;
}
其他的
{
写下(“因为您似乎不确定,所以取消了操作”);
}
虽然Ajax无疑是优雅的,但动态生成包含变量的查询字符串也是可行的选择。如果需要,可以利用stream_context_create()将查询字符串发布到另一个页面,而无需硬编码表单,如下所示:
<?php
if ( isset($_SERVER['QUERY_STRING']) && $_SERVER['QUERY_STRING'] != null ) {
$qs = htmlentities($_SERVER['QUERY_STRING']);
list(,$ans) = explode("=",$qs);
if ($ans) {
echo "Your answer is $ans. ";
}
exit("Thank you");
}
?>
<?php
error_reporting(E_ALL);
if ( isset($_SERVER['QUERY_STRING']) && ($_SERVER['QUERY_STRING'] != NULL))
{
$url = 'http://www.example.com/some_page.php';
$qs = htmlentities($_SERVER['QUERY_STRING']);
list($key,$value) = explode("=",$qs);
$arr = array($key => $value);
$options = array(
'http'=>array(
'method'=>"POST",
'header'=>
"Accept-language: en\r\n".
"Content-type: application/x-www-form-urlencoded\r\n",
'content'=>http_build_query( $arr )
));
$context = stream_context_create($options);
$fp=fopen($url,'rb',false,$context);
fpassthru($fp);
fclose($fp);
exit;
}
?>
在所需的url处,您只需要添加一个显示内容的脚本,例如:
<?php
var_dump($_POST['answer']);
还有一种使用查询字符串的方法,如下所示:
<?php
if ( isset($_SERVER['QUERY_STRING']) && $_SERVER['QUERY_STRING'] != null ) {
$qs = htmlentities($_SERVER['QUERY_STRING']);
list(,$ans) = explode("=",$qs);
if ($ans) {
echo "Your answer is $ans. ";
}
exit("Thank you");
}
?>
<?php
error_reporting(E_ALL);
if ( isset($_SERVER['QUERY_STRING']) && ($_SERVER['QUERY_STRING'] != NULL))
{
$url = 'http://www.example.com/some_page.php';
$qs = htmlentities($_SERVER['QUERY_STRING']);
list($key,$value) = explode("=",$qs);
$arr = array($key => $value);
$options = array(
'http'=>array(
'method'=>"POST",
'header'=>
"Accept-language: en\r\n".
"Content-type: application/x-www-form-urlencoded\r\n",
'content'=>http_build_query( $arr )
));
$context = stream_context_create($options);
$fp=fopen($url,'rb',false,$context);
fpassthru($fp);
fclose($fp);
exit;
}
?>
您可以将PHP代码放在网页顶部,然后是包含以下JavaScript的HTML:
<script>
var ans = false;
if( ans = confirm("Are you sure?")) {
this.location += "?answer=" + ans;
}
else
{
document.write("Action cancelled since you seem unsure");
}
</script>
var ans=假;
如果(ans=确认(“您确定吗?”){
此.location+=“?answer=“+ans;
}
其他的
{
写下(“因为您似乎不确定,所以取消了操作”);
}
虽然Ajax无疑是优雅的,但动态生成包含变量的查询字符串也是可行的选择。如果需要,可以利用stream_context_create()将查询字符串发布到另一个页面,而无需硬编码表单,如下所示:
<?php
if ( isset($_SERVER['QUERY_STRING']) && $_SERVER['QUERY_STRING'] != null ) {
$qs = htmlentities($_SERVER['QUERY_STRING']);
list(,$ans) = explode("=",$qs);
if ($ans) {
echo "Your answer is $ans. ";
}
exit("Thank you");
}
?>
<?php
error_reporting(E_ALL);
if ( isset($_SERVER['QUERY_STRING']) && ($_SERVER['QUERY_STRING'] != NULL))
{
$url = 'http://www.example.com/some_page.php';
$qs = htmlentities($_SERVER['QUERY_STRING']);
list($key,$value) = explode("=",$qs);
$arr = array($key => $value);
$options = array(
'http'=>array(
'method'=>"POST",
'header'=>
"Accept-language: en\r\n".
"Content-type: application/x-www-form-urlencoded\r\n",
'content'=>http_build_query( $arr )
));
$context = stream_context_create($options);
$fp=fopen($url,'rb',false,$context);
fpassthru($fp);
fclose($fp);
exit;
}
?>
在所需的url处,您只需要添加一个显示内容的脚本,例如:
<?php
var_dump($_POST['answer']);
验证密码的简单方法
我们在javascript中使用自定义有效性
在这里,我刚刚创建了一个带有姓名、电子邮件和密码的注册表
为了确认密码,我使用了一个简单的方法
var password=document.getElementById(“密码”),confirm_password=document.getElementById(“confirm_密码”);
函数validatePassword(){
if(password.value!=确认密码.value){
确认_password.setCustomValidity(“密码不匹配”);
}否则{
确认密码。设置自定义有效性(“”);
}
}
password.onchange=validatePassword;
确认\u password.onkeyup=validatePassword代码>验证密码的简单方法
我们在javascript中使用自定义有效性
在这里,我刚刚创建了一个带有姓名、电子邮件和密码的注册表
为了确认密码,我使用了一个简单的方法
var password=document.getElementById(“密码”),confirm_password=document.getElementById(“confirm_密码”);
函数validatePassword(){
if(password.value!=确认密码.value){
确认_password.setCustomValidity(“密码不匹配”);
}否则{
确认