Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在没有表单的情况下传递变量_Php_Html - Fatal编程技术网

Php 如何在没有表单的情况下传递变量

Php 如何在没有表单的情况下传递变量,php,html,Php,Html,我试图维护一个定制的PHP花名册系统。我试图将一个变量传递到第二个PHP页面。以前,这是通过带有下拉列表的表单完成的: <form METHOD=POST ACTION=\"awardedit.php\"> <input TYPE=\"hidden\" NAME=\"pagestep\" value=\"1\"> <select name=\"username\"> <option value=\"" . $username . "\">" . $

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

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

“$username;
(不知何故,即使没有关闭选项标记,这仍然有效)

这些按钮之后是单独的按钮,这些按钮决定了它的位置 “awardedit.php”

然而,当我们有大量的用户时,下拉列表并不是我们的选择,可用性也不是很好

我试图查询数据库以获得一个用户列表,然后在一个表中显示用户,以及那个些按钮,这些按钮可以让您访问awardedit.php的不同部分

如果没有“form method=post action=awardedit.php”,我就无法理解如何传递$username变量

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


很抱歉,这太糟糕了,但我真的非常业余,一直在阅读并试图弄明白这一点,(sessions,ajax,$\u POST),但我就是不知道如何实现这一更改。

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

获取: 使用GET将变量传递到另一页:

以下为:

<a href="/awardedit.php?username=<?php echo $username; ?>" >Submit Username</a>
如果您想这样做,那么可以使用以下方法:

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

setcookie("username", $username, time()+5);
header("Location: awardedit.php");
然后在
awardedit.php
页面获取cookie,如下所示:

if (isset($_COOKIE['username'])) {
$username = $_COOKIE['username'];
}
但是,如果您不想这样做,那么您可以按照以下方式进行操作,而且这是一种更安全的方式:

会议: 按如下方式设置会话:

$_SESSION['username'] = $username;
$username = $_SESSION['username'];
echo $username;
然后在
awardedit.php
页面上获取值。您可以这样做:

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

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

通过Url传递变量,
href=“localhost/myphp.php?name=jake”
并在myphp.php文件中使用GET获取变量,
echo$\u GET[“name”]问题是,你已经在PHP中使用这个表单了吗?转义的引号表明了这一点。是的,我刚刚编辑掉了所有的“echo”“作为下面的答案,我也建议你使用GET方法而不是form,因为下拉列表太长了,这并不意味着你不能使用表单。@DavidLavieri:正如我对另外两个人说的,请不要这样做,也不要教别人这样做。不,不要这样做。使用不适当的HTML
表单
操作不仅在理论上是错误的,而且也是错误的。GET和POST是两件不同的事情,这是有原因的!您可以将您的值保存在会话变量中,并在下一页中获取。@LightnessRacesinOrbit:是否还有其他方法可以做到这一点,以便我也可以学到一些东西,但如果这是安全的方法,并且是更流行和常见的方法,请不要这样做。使用不适当的HTML
表单
操作不仅在理论上是错误的,而且也是错误的。GET和POST是两件不同的事情,这是有原因的!