我有一个页面来获取用户event_id,然后用于从mysql中检索所有user_id和与该event_id相关的信息。然后,数据显示在一个表中,其中一行代表一个用户。所以,现在我想当用户在另一个页面中点击某个用户时,显示该用户的其他信息。
这是一个代码示例,用来说明我试图处理的内容。代码可能没有实际代码那么准确,因为实际代码太长,无法显示。
main.php
<form name="input" method="post">
<input type="text" id="event_id" name = "event_id" value = "" /><br>
<input type="submit" name="Submit" value="Submit" />
</form>
//$user_main is an associative array generated when event_id
//is entered into input text box and user click submit
<?php $user_main = array(); ?>
<table>
<?php
//Loop through and print all user_id associated with event_id entered
foreach(user_main as main)
{ ?>
<tr>User ID: <?php echo $main['user_id'];?></tr>
<tr>User Name: <?php echo $main['user_name'];?></tr>
<tr>User Info: <a href = "display.php">Contact</a></tr>
<?php } ?>
</table>
显示.php
//Pass user_id to display.php page that correspond to the user id clicked
user_id = {{ 111 }}
//retrieve contact info from mysql for user_id = 111 and display below
<table>
<tr>User ID: </tr>
<tr>Mobile: </tr>
<tr>Address: </tr>
<tr>Email: </tr>
</table>
我的问题是如何将一个变量传递到另一个页面。例如,如果用户单击user_id=111的链接,我如何将值"111"传递到display.php页面,以便从mysql中检索数据以显示信息?
对于这类任务,URI参数是非常常用的。在这种情况下,可以使用$_GET
超全局。
<tr>User Info: <a href = "display.php?userid=<?php echo $main['user_id'];?>">Contact</a></tr>
在display.php
中,您可以访问如下变量:
<?php
echo $_GET['userid'];
从现在开始应该是清楚的。您可以根据$_GET
数据获取记录。别忘了在这里增加额外的安全性。您永远不应该信任用户输入。
这是非常基本的东西,所以,我建议你读一点超级全局,直到你感到自信。
- http://php.net/manual/en/language.variables.superglobals.php
- http://php.net/manual/en/reserved.variables.get.php
我想到的最简单的解决方案就是将用户id和url
一起作为参数传递。这显然是假定user_id
值不是机密的。因此,如果您这样定义href
标签:
<tr>User Info: <a href = "display.php?id="<?php echo $main['user_id'];?>>Contact</a></tr>
在display.php
中,您可以通过执行以下操作来获取id
:
$user_id = $_GET["id"]; //And do the relevant database lookups and display the info
但是,如果您想传递user_id
,使其在浏览器的地址栏中不可见,则可以发出一个简单的post
请求,并在该请求中传递相关的user_id
。希望它能让你朝着正确的方向开始。
<tr>User Info: <a href = "display.php">Contact</a></tr>
将该行更改为该
<tr>User Info: <a href = "display.php?id=<?php $main['user_id']?>">Contact</a></tr>
然后您可以在isset函数中运行查询。
<?php
isset($_GET['id'])
{
$id=$_GET['id'];
//Run your query here, include $id in where clause in your query
}
在PHP发布到的页面上,使用$_REQUEST
或$_POST
变量来获取数据。例如,在显示页面上,您可以使用$event_id = $_REQUEST["event_id"]
正如您所指的,Get或Request变量可以在php中使用。
GET方法发送附加到页面请求的编码用户信息。页面和编码信息由?分隔?性格例如
www.example.com/display.php?id='111'
并在CCD_ 16中将其检索为CCD_$_REQUEST变量
PHP$_REQUEST变量包含两个$_GET, $_POST, and $_COOKIE
的内容。PHP $_REQUE
ST变量可用于从使用get和POST方法发送的表单数据中获取结果。