如何在会话中保存?

时间:2014-06-25 03:14:06

标签: php mysql

如何在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,其中包含我点击的名称的信息库。 请帮助我们这样做我真的需要知道这些信息。

3 个答案:

答案 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中。 如: -

http://googl.com/aba.php?name=dinesh

<?
$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请求。