如何通过无形式传递变量

时间:2016-04-23 19:06:47

标签: php html

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

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

(不知怎的,即使没有关闭选项标签,这仍然有效)

其后是单个按钮,用于确定其进入的位置  “awardedit.php”

但是,当我们拥有大量用户时,下拉列表不是可行的方法。可用性不是很好。

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

我无法想象如何在没有“form method = post action = grantedit.php”的情况下传递$ username变量

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

我很抱歉这是非常糟糕的,但我真的非常业余,一直在阅读和阅读,试图弄清楚,(会话,ajax,$ _POST),但我只是想不通如何实施这一改变。

2 个答案:

答案 0 :(得分:1)

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

GET:

使用 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
?>

如果您想这样做,那么您可以使用以下方式执行此操作:

的Cookie:

如果您不想做任何不安全的事情,请使用 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_start()数组之前,以及在将任何输出发送到浏览器之前,请记住在这两个页面上运行$_SESSION语句。

答案 1 :(得分:0)

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