如何在没有形式的情况下传递变量


How to pass variable through without form

我正在尝试维护一个定制的PHP名册系统。我正在尝试将变量传递给第二个 PHP 页面。以前,这是通过带有下拉列表的表单完成的:

<form METHOD=POST ACTION='"awardedit.php'">
<input TYPE='"hidden'" NAME='"pagestep'" value='"1'">
<select name='"username'">
<option value='"" . $username . "'">" . $username;
</select>
</form>

(不知何故,即使不关闭选项标签,这仍然有效)

这些

按钮后面是单独的按钮,这些按钮决定了它的位置 "获奖编辑.php"

但是,当我们有大量用户时,下拉列表不是要走的路。可用性不是很好。

我正在尝试查询数据库以获取用户列表,然后在表格中显示用户,以及那些将您带到 awardedit.php 不同部分的按钮。

我只是无法弄清楚如何在没有"表单方法 = 后期操作 = awardedit.php的情况下传递 $username 变量

我知道如何回显用户名以显示用户的用户名,但我不知道通过变量传递的代码。

很抱歉这太糟糕了,但我真的非常业余,并且一直在阅读和阅读以试图解决这个问题,(会话,ajax,_POST 美元),但我就是不知道如何实现此更改。

通过 url、href="localhost/myphp.php?name=jake" 传递变量,并在 myphp.php 文件中使用 GET 来获取 var,echo $_GET["name"];//jake

以下是针对您的问题的以下解决方案:

获取:

使用 GET 将变量传递到您的另一个页面:

这里作为:

<a href="/awardedit.php?username=<?php echo $username; ?>" >Submit Username</a>

注意:现在,当您单击它时,它就会变成一个链接,以便它将username变量数据传递到awardedit.php页面。

然后在该页面上,您可以使用以下代码捕获变量值:

<?php $username = $_GET["username"];
//And then do whatever you want to do with it
?>
如果你想这样做,那么

你可以使用以下方法来做到这一点:

饼干:

如果您不想做任何不安全的事情,请使用COOKIES

setcookie("username", $username, time()+5);
header("Location: awardedit.php");

然后在您的awardedit.php页面上获取cookie:

if (isset($_COOKIE['username'])) {
$username = $_COOKIE['username'];
}

不过,如果您不想这样做,那么您可以通过以下方式进行操作,并且更安全:

会话:

像这样设置会话:

$_SESSION['username'] = $username;

并在您的awardedit.php页面上获取值,您可以像这样操作:

$username = $_SESSION['username'];
echo $username;

请记住在尝试访问 $_SESSION 数组之前以及在将任何输出发送到浏览器之前,在这两个页面上运行 session_start() 语句。

相关文章: