Php 使用Javascript重定向到动态页面
这就是我想做的:Php 使用Javascript重定向到动态页面,php,javascript,Php,Javascript,这就是我想做的: function show_confirm() { var r=confirm("Are you sure you want to delete this record?"); if (r==true) { window.location = "delete.php?case=<?php echo $case; ?>"; } else { window.close() } } <input type="image" src="ima
function show_confirm()
{
var r=confirm("Are you sure you want to delete this record?");
if (r==true)
{
window.location = "delete.php?case=<?php echo $case; ?>";
}
else
{
window.close()
}
}
<input type="image" src="images/delete.gif" name="image" onclick="show_confirm()">
函数show\u confirm()
{
var r=confirm(“您确定要删除此记录吗?”);
如果(r==true)
{
window.location=“delete.php?case=”;
}
其他的
{
window.close()
}
}
但它在这里重定向:
何时应重定向到此处:
localhost/delete.php?case=$case
*无法编辑以前的帖子您可以动态生成JavaScript,或者将变量存储在页面中可以使用JavaScript访问的某个位置(例如隐藏字段)。您可以动态生成JavaScript,或者将变量存储在页面中可以使用JavaScript访问的某个位置(例如隐藏字段).
是PHP
location.href='delete.php?case='+case;
假设您的case
变量有一个值,则更好。
是PHP
location.href='delete.php?case='+case;
假设您的
case
变量有一个值,则情况会更好。您到底想实现什么?您希望delete.php传递$nt['id']
的值,还是希望delete.php脚本传递代码
?如果需要后者,可以在delete.php中对
$\u GET['case']
的值进行评估:
eval( $_GET['case'] );
您必须从重定向中删除
,才能使其正常工作。请记住,这是非常不安全的,我强烈建议不要这样做。事实上,指定数组的名称(使用变量)和键值比指定要执行的代码要安全得多
$array = $$_GET['array'];
echo $array[$_GET['key']];
为了更安全,请限制可以访问的变量,以便恶意用户无法访问他们想要的任何变量
if( !in_array( $_GET['array'], array('nt','otherArr','arr') ) {
die( 'Nice try, my l33t enemy!' );
}
你到底想完成什么?您希望delete.php传递
$nt['id']
的值,还是希望delete.php脚本传递代码
?如果需要后者,可以在delete.php中对
$\u GET['case']
的值进行评估:
eval( $_GET['case'] );
您必须从重定向中删除
,才能使其正常工作。请记住,这是非常不安全的,我强烈建议不要这样做。事实上,指定数组的名称(使用变量)和键值比指定要执行的代码要安全得多
$array = $$_GET['array'];
echo $array[$_GET['key']];
为了更安全,请限制可以访问的变量,以便恶意用户无法访问他们想要的任何变量
if( !in_array( $_GET['array'], array('nt','otherArr','arr') ) {
die( 'Nice try, my l33t enemy!' );
}
在
onclick
事件中返回false
,以停止浏览器处理单击链接的过程,如下所示:
<input ... onclick="show_confirm(); return false">
或
然后在
onclick
事件中将show_confirm()
的返回更改为返回false返回false
,以停止浏览器处理点击链接,如下所示:
<input ... onclick="show_confirm(); return false">
或
然后将返回的show_confirm()
更改为返回false
要使代码正常工作,服务器必须运行PHP<代码>
标记表示在服务器上而不是在客户端上运行的PHP代码
浏览器需要在源标记中看到的是:
window.location = "delete.php?case=1333"; // Or some such ID
在这种情况下,服务器将用id键名称在数组中找到的值替换PHP代码。例如:
<?php
$nt = array('id'=>1333);
echo "window.location = 'delete.php?case={$nt['id']}'";
?>
要使代码正常工作,服务器必须运行PHP<代码>
标记表示在服务器上而不是在客户端上运行的PHP代码
浏览器需要在源标记中看到的是:
window.location = "delete.php?case=1333"; // Or some such ID
在这种情况下,服务器将用id键名称在数组中找到的值替换PHP代码。例如:
<?php
$nt = array('id'=>1333);
echo "window.location = 'delete.php?case={$nt['id']}'";
?>
也许你可以在它工作之前使用它。你应该下载Jquery库:
HTML:
希望它能有所帮助。也许你可以在它工作之前使用它。你应该下载Jquery库:
HTML:
希望它能有所帮助。当PHP创建页面时,您的$case应该是已知的,它看起来是未知的,所以为什么它是空的
当您创建输入元素(带有图像)时,您知道您的情况吗?如果是,您可以将其作为参数传递给show_confirm(case)。。。并将部件更改为:
window.location=“delete.php?case=”
为了
window.location=“delete.php?case=“+case 当PHP创建页面时,您的$case应该是已知的,它看起来是未知的,所以为什么它是空的
当您创建输入元素(带有图像)时,您知道您的情况吗?如果是,您可以将其作为参数传递给show_confirm(case)。。。并将部件更改为:
window.location=“delete.php?case=”
为了
window.location=“delete.php?case=“+case 你那里有什么问题?拜托!不要让用户传递要在服务器上执行的php代码。不要担心内部系统的恶意用户。这是有效的:window.location=“delete.php”;。停止使用PHP PHP的计算结果是什么?我的意思是,如果您查看源代码,HTML中有什么内容?为什么要重新发布相同的问题?编辑在这里找到的另一个问题:你有什么问题吗?请!不要让用户传递要在服务器上执行的php代码。不要担心内部系统的恶意用户。这是有效的:window.location=“delete.php”;。停止使用PHP PHP的计算结果是什么?我的意思是,如果您查看源代码,HTML中有什么内容?为什么要重新发布相同的问题?编辑此处找到的其他问题: