Php 创建会话,建立变量并将变量转移到下一页

Php 创建会话,建立变量并将变量转移到下一页,php,session,session-variables,Php,Session,Session Variables,我正在处理的这个页面有一个我不想附加url变量(.html?id=12345)的链接列表,所以我认为第一次尝试会话可能值得一试 该页面对数据库进行查询,获取行,然后将它们显示在列表中。我遇到的问题是会话变量被while结果中的下一行覆盖。因此,无论用户单击什么,会话都会携带页面上的最后一个变量 我认为这是一个放置代码(重新排列)的问题,但我还没有幸运地将正确的变量正确地传递到下一页 <?php session_start(); ?> <!DOCTYPE html PUB

我正在处理的这个页面有一个我不想附加url变量(.html?id=12345)的链接列表,所以我认为第一次尝试会话可能值得一试

该页面对数据库进行查询,获取行,然后将它们显示在列表中。我遇到的问题是会话变量被while结果中的下一行覆盖。因此,无论用户单击什么,会话都会携带页面上的最后一个变量

我认为这是一个放置代码(重新排列)的问题,但我还没有幸运地将正确的变量正确地传递到下一页

<?php
    session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<?php
$tourQuery = mysql_query("SELECT * table WHERE ID = '".$page['main_id']."' AND DateTime >= CurDate() ORDER BY DateTime ASC");
$tourcount = mysql_num_rows($tourQuery);
while($tour = mysql_fetch_array($tourQuery))
    {
        $_SESSION['sessionname'] = $tour['EventID'];
    ?>
            <div class="schedule-row vevent" style="overflow:auto;"> 
                <div class="schedule-button">
                    <a class="schedlink url" href="<?=$pg['request']?>.html">
                        View
                    </a>
                </div>
                <br clear="all" /> 
            </div>
<?php       
}


如果您不想向url添加变量,并且页面
$pg['request']
与循环中的值
$tour['EventID']
之间没有任何关系,那么将用户发送到下一页并带有相应值的唯一方法是使用表单,发布它并将
$tour['EventID']
添加为(隐藏)表单字段

比如:

<form action="<?php echo $pg['request']; ?>" method="post">
  <input type="hidden" name="id" value="<?php echo $tour['EventID']; ?>">
  <input type="submit" value="View">
</form>

如果您不想向url添加变量,并且页面
$pg['request']
与循环中的值
$tour['EventID']
之间没有任何关系,那么将用户发送到下一页并带有相应值的唯一方法是使用表单,发布它并将
$tour['EventID']
添加为(隐藏的)表单字段

比如:

<form action="<?php echo $pg['request']; ?>" method="post">
  <input type="hidden" name="id" value="<?php echo $tour['EventID']; ?>">
  <input type="submit" value="View">
</form>

如果您不想向url添加变量,并且页面
$pg['request']
与循环中的值
$tour['EventID']
之间没有任何关系,那么将用户发送到下一页并带有相应值的唯一方法是使用表单,发布它并将
$tour['EventID']
添加为(隐藏的)表单字段

比如:

<form action="<?php echo $pg['request']; ?>" method="post">
  <input type="hidden" name="id" value="<?php echo $tour['EventID']; ?>">
  <input type="submit" value="View">
</form>

如果您不想向url添加变量,并且页面
$pg['request']
与循环中的值
$tour['EventID']
之间没有任何关系,那么将用户发送到下一页并带有相应值的唯一方法是使用表单,发布它并将
$tour['EventID']
添加为(隐藏的)表单字段

比如:

<form action="<?php echo $pg['request']; ?>" method="post">
  <input type="hidden" name="id" value="<?php echo $tour['EventID']; ?>">
  <input type="submit" value="View">
</form>
而不是使用此选项:

$_SESSION['sessionname'] = $tour['EventID'];
使用以下命令:

$_SESSION['EventID'][$tour['EventID']] = $tour['EventID'];

如果不管理Cookie,则不需要会话名称。

请不要使用此名称:

$_SESSION['sessionname'] = $tour['EventID'];
使用以下命令:

$_SESSION['EventID'][$tour['EventID']] = $tour['EventID'];

如果不管理Cookie,则不需要会话名称。

请不要使用此名称:

$_SESSION['sessionname'] = $tour['EventID'];
使用以下命令:

$_SESSION['EventID'][$tour['EventID']] = $tour['EventID'];

如果不管理Cookie,则不需要会话名称。

请不要使用此名称:

$_SESSION['sessionname'] = $tour['EventID'];
使用以下命令:

$_SESSION['EventID'][$tour['EventID']] = $tour['EventID'];



如果不管理cookies,则不需要会话名称。

会话不是这样工作的<代码>$\u会话
是一个在请求之间共享的数组。您可以在其中放入任何内容,包括
key=>value
对。但您需要以某种方式将链接与会话项相关联。您可以使用GET或POST数据来实现这一点。意思是,
$\u会话
在这里是多余的。坚持使用
?EventID=$tour['EventID']
。如果您不想使用
GET
,那么您肯定必须选择
POST
方法,因为使用会话您无法唯一地识别ID以显示值。会话不是这样工作的<代码>$\u会话
是一个在请求之间共享的数组。您可以在其中放入任何内容,包括
key=>value
对。但您需要以某种方式将链接与会话项相关联。您可以使用GET或POST数据来实现这一点。意思是,
$\u会话
在这里是多余的。坚持使用
?EventID=$tour['EventID']
。如果您不想使用
GET
,那么您肯定必须选择
POST
方法,因为使用会话您无法唯一地识别ID以显示值。会话不是这样工作的<代码>$\u会话
是一个在请求之间共享的数组。您可以在其中放入任何内容,包括
key=>value
对。但您需要以某种方式将链接与会话项相关联。您可以使用GET或POST数据来实现这一点。意思是,
$\u会话
在这里是多余的。坚持使用
?EventID=$tour['EventID']
。如果您不想使用
GET
,那么您肯定必须选择
POST
方法,因为使用会话您无法唯一地识别ID以显示值。会话不是这样工作的<代码>$\u会话
是一个在请求之间共享的数组。您可以在其中放入任何内容,包括
key=>value
对。但您需要以某种方式将链接与会话项相关联。您可以使用GET或POST数据来实现这一点。意思是,
$\u会话
在这里是多余的。坚持使用
?EventID=$tour['EventID']
。如果你不想使用
GET
,那么你肯定必须选择
POST
方法,因为使用会话你无法唯一地识别ID来显示值。我喜欢这个想法。。。我将尝试一下。那么,保持文本链接可以做到这一点吗?我不希望有提交按钮。@NotJay如果
没有提供足够的可能性使用css样式,您可以使用
。但我认为两者都可以看起来像一个链接。这几乎起作用了。。。变量传递到的页面是一个php页面,但我们使用.htaccess将url的结尾改为.html而不是.php。变量未显示在第2页上。这是否可能是由于.html扩展名造成的?另外,使用$\u POST获取变量?@NotJay
POST
重写url时通常会传递变量,除非执行类似
http://www....
而不是像
/path/to/file.php这样的重写。我喜欢这个想法。。。我将尝试一下。那么,保持文本链接可以做到这一点吗?我不希望有提交按钮。@NotJay如果
没有给你足够的可能性,你可以使用