如何将值从php传递到javascript,再从html传递到php
PS:最后是完整的代码 我有两页 php.php js.php 我使用curl将变量从php.php发送到js.php如何将值从php传递到javascript,再从html传递到php,javascript,php,html,curl,Javascript,Php,Html,Curl,PS:最后是完整的代码 我有两页 php.php js.php 我使用curl将变量从php.php发送到js.php function js(){ $ch = curl_init(); curl_setopt($ch , CURLOPT_URL ,"http://localhost/js.php"); curl_setopt($ch , CURLOPT_POST , true); curl_setopt($ch, CURLOPT_POSTFIELDS," "); curl_seto
function js(){
$ch = curl_init();
curl_setopt($ch , CURLOPT_URL ,"http://localhost/js.php");
curl_setopt($ch , CURLOPT_POST , true);
curl_setopt($ch, CURLOPT_POSTFIELDS," ");
curl_setopt($ch , CURLOPT_FOLLOWLOCATION , TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$allaa= curl_exec($ch);
$errorr = curl_error($ch);
echo $allaa;
return $allaa;
}
var variable=<?php echo json_encode($variable); ?>;
<p id="result"> </p>
<?php
global $variable;
$variable=$_POST['variable'];
?>
<html>
<script>
var variable=<?php echo json_encode($variable); ?>;
variable=variable+" world ";
document.getElementById("result").innerHTML = "!!!"+variable+"!!!!";
</script>
<p id="result"> </p>
</html>
js.php包含Javascript代码
function js(){
$ch = curl_init();
curl_setopt($ch , CURLOPT_URL ,"http://localhost/js.php");
curl_setopt($ch , CURLOPT_POST , true);
curl_setopt($ch, CURLOPT_POSTFIELDS," ");
curl_setopt($ch , CURLOPT_FOLLOWLOCATION , TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$allaa= curl_exec($ch);
$errorr = curl_error($ch);
echo $allaa;
return $allaa;
}
var variable=<?php echo json_encode($variable); ?>;
<p id="result"> </p>
<?php
global $variable;
$variable=$_POST['variable'];
?>
<html>
<script>
var variable=<?php echo json_encode($variable); ?>;
variable=variable+" world ";
document.getElementById("result").innerHTML = "!!!"+variable+"!!!!";
</script>
<p id="result"> </p>
</html>
我将从第一页收到的值传递到第二页中的Javascript
<?php
function get_string_between($string, $start, $end){
$string = ' ' . $string;
$ini = strpos($string, $start);
if ($ini == 0) return '';
$ini += strlen($start);
$len = strpos($string, $end, $ini) - $ini;
return substr($string, $ini, $len);
}
function js(){
////////////////
$ch = curl_init();
curl_setopt($ch , CURLOPT_URL ,"http://localhost/js.php");
curl_setopt($ch , CURLOPT_POST , true);
curl_setopt($ch, CURLOPT_POSTFIELDS,"variable=hello");
curl_setopt($ch , CURLOPT_FOLLOWLOCATION , TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$allaa = curl_exec($ch);
$errorr = curl_error($ch);
echo $allaa;
return $allaa;
}
$ff=js();
echo $xb = get_string_between($ff, "!!!", "!!!!");
?>
通过此代码
function js(){
$ch = curl_init();
curl_setopt($ch , CURLOPT_URL ,"http://localhost/js.php");
curl_setopt($ch , CURLOPT_POST , true);
curl_setopt($ch, CURLOPT_POSTFIELDS," ");
curl_setopt($ch , CURLOPT_FOLLOWLOCATION , TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$allaa= curl_exec($ch);
$errorr = curl_error($ch);
echo $allaa;
return $allaa;
}
var variable=<?php echo json_encode($variable); ?>;
<p id="result"> </p>
<?php
global $variable;
$variable=$_POST['variable'];
?>
<html>
<script>
var variable=<?php echo json_encode($variable); ?>;
variable=variable+" world ";
document.getElementById("result").innerHTML = "!!!"+variable+"!!!!";
</script>
<p id="result"> </p>
</html>
js.php包含
html代码
function js(){
$ch = curl_init();
curl_setopt($ch , CURLOPT_URL ,"http://localhost/js.php");
curl_setopt($ch , CURLOPT_POST , true);
curl_setopt($ch, CURLOPT_POSTFIELDS," ");
curl_setopt($ch , CURLOPT_FOLLOWLOCATION , TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$allaa= curl_exec($ch);
$errorr = curl_error($ch);
echo $allaa;
return $allaa;
}
var variable=<?php echo json_encode($variable); ?>;
<p id="result"> </p>
<?php
global $variable;
$variable=$_POST['variable'];
?>
<html>
<script>
var variable=<?php echo json_encode($variable); ?>;
variable=variable+" world ";
document.getElementById("result").innerHTML = "!!!"+variable+"!!!!";
</script>
<p id="result"> </p>
</html>
结果一定是
你好,世界
但事实并非如此
其
“+变量+”
如何解决这个问题
新编辑这是代码
php.php页面代码
<?php
function get_string_between($string, $start, $end){
$string = ' ' . $string;
$ini = strpos($string, $start);
if ($ini == 0) return '';
$ini += strlen($start);
$len = strpos($string, $end, $ini) - $ini;
return substr($string, $ini, $len);
}
function js(){
////////////////
$ch = curl_init();
curl_setopt($ch , CURLOPT_URL ,"http://localhost/js.php");
curl_setopt($ch , CURLOPT_POST , true);
curl_setopt($ch, CURLOPT_POSTFIELDS,"variable=hello");
curl_setopt($ch , CURLOPT_FOLLOWLOCATION , TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$allaa = curl_exec($ch);
$errorr = curl_error($ch);
echo $allaa;
return $allaa;
}
$ff=js();
echo $xb = get_string_between($ff, "!!!", "!!!!");
?>
js.php页面代码
function js(){
$ch = curl_init();
curl_setopt($ch , CURLOPT_URL ,"http://localhost/js.php");
curl_setopt($ch , CURLOPT_POST , true);
curl_setopt($ch, CURLOPT_POSTFIELDS," ");
curl_setopt($ch , CURLOPT_FOLLOWLOCATION , TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$allaa= curl_exec($ch);
$errorr = curl_error($ch);
echo $allaa;
return $allaa;
}
var variable=<?php echo json_encode($variable); ?>;
<p id="result"> </p>
<?php
global $variable;
$variable=$_POST['variable'];
?>
<html>
<script>
var variable=<?php echo json_encode($variable); ?>;
variable=variable+" world ";
document.getElementById("result").innerHTML = "!!!"+variable+"!!!!";
</script>
<p id="result"> </p>
</html>
var变量=;
变量=变量+世界;
document.getElementById(“结果”).innerHTML=“!!!”+变量+”!!!!”;
我认为js.php中的脚本不会在服务器端进行解释,您可以将此脚本作为纯文本,其中“!!!”之间仅为“+variable+”这个问题很难回答,因为它全部被分解了,我们看不到全貌。不过,我会尽力剖析你的问题。首先,在php.php中有以下代码:
function js(){
$ch = curl_init();
curl_setopt($ch , CURLOPT_URL ,"http://localhost/js.php");
curl_setopt($ch , CURLOPT_POST , true);
curl_setopt($ch, CURLOPT_POSTFIELDS," ");
curl_setopt($ch , CURLOPT_FOLLOWLOCATION , TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result= curl_exec($ch);
$errorr = curl_error($ch);
echo $allaa;
return $allaa;
}
我有一些问题。首先,尽管不完全相关,但可以使用curl\u init()
设置CURLOPT\u URL
。第二,您有空的post字段(在编辑之前,它是$post
,这同样是神秘的)。第三,回显并返回一个名为$allaa
的变量。没有人知道这个变量是什么或者来自哪里
无论如何,显然还有第二个页面您称之为js.php,其中包含一些JavaScript。假设正确的信息是通过POST从js()
函数发送的
您的js.php文件代码中有如下内容:
var variable=<?php echo json_encode($variable); ?>;
出于某种原因,您决定使用PHP再次打印:
$x=js();
$xb = get_string_between($x, "!!!", "!!!");
echo xb;
这将返回字符串+变量+。这里的问题很简单。JavaScript在服务器端代码执行后在客户端执行。所以,这段代码也完全按照你说的做变量在浏览器执行客户端JavaScript之前不会被替换。我不认为,我测试了它,并且直接打开了js.php,它毫无问题地打印了值。我认为问题在于在浏览器上显示结果结果必须在浏览器上显示,但我想在不显示值的情况下返回值,谢谢。您是如何打开此文件的,得到的确切信息是什么?我知道执行php+javascriptvar variable=时出现问题;这个代码呢?此代码未将作业的服务器端值传递给javascript@jan199674从javascript到html再到php而不是从php到JavaScription的响应存在问题有没有这样做的原因?是的,主要原因是我想使用一个名为JSEncrypt()的javascript函数这只是javascript,我想用这个值处理php中的一个值,我想在一个页面中处理许多变量和所有这些,而不改变当前页面
!!你好,世界代码>有两个代码>任意一边<代码>获取($x,“!!!”,“!!!”)之间的字符串代码>查找三次代码><代码>通过查找无法找到code>代码>(注意,这个注释看起来像brainf*ck代码!!)现在检查代码:)我的意思是有理由使用curl吗?但在javascript中,您需要使用:var variable=“Hello World”定义变量:谢谢你的重播。我修复了代码你可以在我文章的结尾看到完整的代码,有没有办法不用浏览器修复它?我需要从javascript到php的值,问题是如果我决定在浏览器上显示它,我将无法将其返回到php,因为php代码将被执行并完成,我希望所有这些都在一个页面中完成。如果我是你,我根本不会使用javascript。这似乎毫无意义。用户无论如何都可以禁用JavaScript,而一些旧的或有限的客户端不支持它。为什么不像这样把它保存在PHP中呢
因为有一个专门用于javascript的函数,名为JSEncrypt(),专门用于javascript:(@MohammedNaji在概述您的问题之前,您永远不应该决定要使用的工具。这就像说“我想使用此套接字集来覆盖屋顶”如果你浏览一些PHP文档,你会发现有类似的函数。