gpt4 book ai didi

javascript - 使用表单提交操作传递 $_GET 变量

转载 作者:行者123 更新时间:2023-11-29 07:40:48 24 4
gpt4 key购买 nike

我正在尝试通过 URL 将表和数据库变量传递到新页面,以便我可以使用 $_GET 动态查询指定的数据库和表。我尝试使用 JavaScript 来保存变量并将它们附加到页面 window.onloaderror_logUndefined index: db & tbl我认为这意味着变量没有正确传递。

因此我问是否可以使用提交表单操作而不是使用 JavaScript 来传递这些变量?或者如何修复脚本以正确传递变量?

我的表单

    <form method="post" action="db_search.php">
Search : <input type="text" name="name" id="name" autocomplete="off"
value="<?php echo $val;?>"> <input type="submit" name="submit"
id="submit" value="Search">
</form>

db_search.php 中的脚本

function pageSet () {
var yourTbl = window.sessionStorage.getItem("tbl");
var yourDB = window.sessionStorage.getItem("db");
window.location.href ='db_search.php?db=' + yourDB + '&tbl=' + yourTbl ;
};
window.onload=pageSet();

db_search.php 加载时,变量会附加到 URL,但页面会不断刷新。

最佳答案

您可以调整 PHP 以使用 $_REQUEST 并调整表单,如下所示:

<form method="post" action="db_search.php">
<input type="hidden" name="db" value="<?php echo $_REQUEST['db'] ?>" />
<input type="hidden" name="tbl" value="<?php echo $_REQUEST['tbl'] ?>" />
Search : <input type="text" name="name" id="name" autocomplete="off"
value="<?php echo $val;?>"> <input type="submit" name="submit"
id="submit" value="Search">
</form>

这会将 $_GET 参数添加为 $_POST 参数。您的脚本将匹配 $_REQUEST 参数,因此 $_POST$_GET 出现的“db”都会被使用。在 $_REQUEST 中,$_POST 优先于 $_GET

具体化:

//You now match db like:
$db = $_GET['db'];

// Change that to
$db = $_REQUEST['db'];

这样无论是通过GET还是POST发送db,都会被填满

关于javascript - 使用表单提交操作传递 $_GET 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29118313/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com