我正在尝试维护自定义构建的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),但我只是想不通如何实施这一改变。
答案 0 :(得分:1)
以下是您的问题的解决方案:
使用 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_start()
数组之前,以及在将任何输出发送到浏览器之前,请记住在这两个页面上运行$_SESSION
语句。
答案 1 :(得分:0)
通过Url href="localhost/myphp.php?name=jake"
传递变量,并在myphp.php文件中使用GET来获取var,echo $_GET["name"];//jake