需要将一个变量从PHP头()重定向传递到OnLoad()
Need to pass a variable to OnLoad() from a PHP header() redirect
我在网站的DoStuff.PHP文件中有一个PHP变量PHPvar。HPvar被设置为字符串。
然后,DoStuff.php中的代码执行
header("Location: http://localhost/theWebite/index.php");
我需要在index.php的body标记中的onLoad处理程序中有两件事:
<body onload="doLoad()">
我的doLoad()函数必须能够做两件事:
1) 访问'HPPvar'变量,该变量也是在header()重定向之前在DoStuff.PHP中的PHP代码中设置的字符串(路径名)。
2) 此外,doLoad()必须能够检测"pHPvar"何时为空,这样才能避免尝试使用'HPvar',并跳过使用该字符串的逻辑。
我是php和javascript的新手,现在的工作给我留下了深刻的印象,但我花了半天的时间在这上面,在SO上读到了很多类似的问题。
我必须能够重定向回index.php,获取这个字符串变量,如果它被设置(不是null),执行一些javascript代码。
现在,这就是我的onLoad()所做的一切,嘿,它起作用了。但这还不是正确的方式。
<head>
<script type="text/javascript">
function doLoad()
{
alert("Page is loaded");
}
</script>
</head>
如果不介绍一些我必须学习的新东西,比如Ajax等,我如何用javascript、html、php和我在这里的东西来完成这项工作?
如果这个myPHPVar是特定于用户的,您可以使用Jorge所说的会话变量。否则,在头重定向中传递变量:
header("Location: http://localhost/theWebite/index.php?myVar=" . $myPHPVar);
作为一个初学者,您可能不想使用JSON将变量从PHP转换为Javascript,但如果您必须将大量数据传递给Javascript代码,请查找它。
<script>
var myPHPVar="<?php echo $_GET['myVar']; ?>";
</script>
如果用户对该PHP变量有任何影响,请确保清除该变量以防XSS攻击。
要在doLoad
方法中检查myPHPVar是否为空,只需使用if (!myPHPVar) { .... }
在重定向到的页面的查询字符串中包含$thePHPvar
是否可以接受?
header("Location: http://localhost/theWebite/index.php?$thePHPvar");
然后在javascript中,您只需查找document.location.search
,例如
<head>
<script type="text/javascript">
function doLoad()
{
alert('thePHPvar is ' + document.location.search.substring(1));
}
</script>
</head>
我建议您使用所需的变量设置一个会话,然后使用该会话在下一页上获取变量。在重定向到的页面上初始化会话后,您可以在javascript上使用它,如下所示:
var variableFromPhp = "<?php echo $the_variable ;?>";
alert(variableFromPhp);
您可以将其作为GET参数传递,但由于它是可篡改的,因此通常不太安全。
上一页:
然后在页面上重定向到:
<head>
<?php
session_start();
$the_var=(isset($_SESSION['a_var']) && $_SESSION['a_var'])) ?
$_SESSION['a_var']
: false;
?>
<script type="text/javascript">
function doLoad(the_var)
{
if(the_var){ alert("Page is loaded"); }
}
window.onload=function(){ doLoad(<?php echo var_export($the_var,true);?>); }
</script>
</head>
- 通过javascript重定向html传递php变量
- JavaScript下拉菜单-点击按钮并根据所选值重定向到url
- 使用angular重定向到html页面
- 如何在chrome扩展中重定向到html页面
- 无法从jquery Mobile导航栏重定向到另一个页面
- ng视图外的链接重定向到ng视图内的页面
- 在phonegap应用程序内部重定向不起作用
- CORS-重定向到第二个GET正在接收的页面
- AJAX不会在文件上传后重定向到网页-POST方法
- 重定向时角度刷新浏览器
- 通过链接重定向不;我不在jstree中工作
- 根据select选项元素将表单重定向到不同的URL
- 通过JQuery重定向到另一个页面
- 重定向到“父窗口”
- 重定向iFrame中的父URL
- PHP-如何重定向到同一页面并更改DOM's
- chrome.tabs.update() 重定向到 'chrome-extension://invalid/'
- 需要将一个变量从PHP头()重定向传递到OnLoad()
- 是否有一种方法来检测src的iframe将被重定向到onload之前
- 重定向锚从URL指定Onload