如何在php中保存会话,这样当我点击td标签中的值时,它会保存一个会话并重定向到另一个页面? 这是我的代码:
<?
$sql = "SELECT * from members";
$result = mysql_query($sql);
while($row1 = mysql_fetch_array($result)){
echo '<tr><td><img src='. $row1['propict'] .' width="70" height="70" /></td><td name="frnd"><a href="fprofile.php">' . $row1['name'] . '</td>';
}
?>
我想要的是当我点击从td显示的名称时,我将被重定向到fprofile.php,其中包含我点击的名称的信息库。 请帮助我们这样做我真的需要知道这些信息。
答案 0 :(得分:0)
<?
$sql = "SELECT * from members";
$result = mysql_query($sql);
while($row1 = mysql_fetch_array($result)){
echo "<tr><td><img src='. $row1['propict'] .' width='70' height='70' /> </td>";
echo "<td name='frnd'><a href='fprofile.php?name=". $rows['name']. "'>" .
$row1['name'] . '</td>';
}
?>
和fprofile.php
$_SESSION['name']= $_GET['name'];
现在点击的名称位于$_SESSION['name']
的变量中
告诉我是否存在语法错误
答案 1 :(得分:0)
你有2种方法可以做同样的事情: -
1)。您也可以遵循此方法,但用户名将显示在URL中。 如: -
<?
$sql = "SELECT * from members";
$result = mysql_query($sql);
while($row1 = mysql_fetch_array($result)){
echo '<tr>
<td><img src='. $row1['propict'] .' width="70" height="70" /></td>
<td name="frnd" onClick="showUserInfo('$row1[name]')"><a href="fprofile.php">' . $row1['name'] . '</td>';
}
?>
Js函数写在你的代码下面..
function showUserInfo(name) {
window.location= <YOUR BASE URL>+'user_info.php?name='+name;
}
2)。该名称也可以通过AJAX在SESSION中设置。这是一个很长的方法,但名称不会显示在网址中。
您需要按照以下步骤操作。
<?
$sql = "SELECT * from members";
$result = mysql_query($sql);
while($row1 = mysql_fetch_array($result)){
echo '<tr>
<td><img src='. $row1['propict'] .' width="70" height="70" /></td>
<td name="frnd" onClick="showUserInfo('$row1[name]')"><a href="fprofile.php">' . $row1['name'] . '</td>';
}
?>
JS功能:---
在set_name_in_session.php文件中的会话中写入名称,然后将控件重定向到user_info.php页面。在user_info.php页面中读取用户名并获取用户详细信息..
function showUserInfo(user_name) {
$.ajax({
url: <BASE_URL_OF_YOUR_SITE>+'set_name_in_session.php', //SET THE SESSION IN THIS FILE
data: {name: user_name},
method:'post',
success:function(response) {
window.location = <BASE_URL_OF_YOUR_SITE>+"user_info.php";
}
});
}
答案 2 :(得分:-1)
更新链接,使其传递您要存储在会话中的名称。
<a href="fprofile.php?name=' . $row1['name'] . '">' .$row1['name'] . '</td>
在fprofile.php中,检测是否已设置$ _GET [&#39; name&#39;],并将其存储在会话中。
if (isset($_GET['name']) && !empty($_GET['name'])) {
$_SESSION['name'] = $_GET['name'];
}
这假设您正在自动启动会话。
您可以使用$ _REQUEST而不是$ _GET来同样处理POST和GET请求。