2

用户查询数据库和某些表字段必须在其他页面中存储和使用。

在第 1 页中,查询发生并且处方字段保存在变量 $_SESSION 中:

$query = " 
    SELECT 
        id, 
        full_name,
        address,
        email,
        telephone,
        prescription
    FROM patients 
    WHERE id 
    LIKE '%" . $patient_id . "%'";

    $PRESCRIPTION = 'prescription';


    $_SESSION['memory1'] = $PRESCRIPTION;

在第 2 页变量需要重用的地方,我正在使用这个:<?php echo "Our patient's prescription is: ".$_SESSION['memory1'];?></b>

问题是在第一页我使用了这样的变量:<?php echo htmlentities ($row[$PRESCRIPTION], ENT_QUOTES, 'UTF-8'); ?>它正确地输出了实际的字段结果。但在第 2 页上,它是“字面上”显示字符处方而不是存储的内容。它在第 2 页的“处方”已经失去了它的意义。

我正在编辑问题以确认我<?php echo "Our patient's prescription is: ".$_SESSION['memory1'];?>在第 2 页中使用了此代码。因此指的是存储的变量。

关于回复说我在第 1 页太字面的帖子,那么当使用 $PRESCRIPTION 变量时,它为什么在第一页回显正常?如果文字被存储。在第 1 页我还会得到第 2 页的概率,它返回单词处方。但是不,在第 1 页中,我得到了我需要的实际表字段数据。在第 2 页中,我得到了处方词。

最后一件事,我没有使用 session_start,而是在每个文档的开头使用 ($_SESSION['user']),因为我使用了 require("common.php"); 指定 conn 等

希望这进一步澄清。

谢谢,等待您的意见

4

2 回答 2

1

不确定,但我认为你想要的是:

第 1 页:

//Query goes here...

session_start();
$_SESSION['memory1'] = $row[$PRESCRIPTION];  //Store original value in session
echo htmlentities($row[$PRESCRIPTION], ENT_QUOTES, 'UTF-8');  //Display value

第2页:

session_start();
echo htmlentities($_SESSION['memory1'], ENT_QUOTES, 'UTF-8');  //Display value

重要的是您不要在会话中存储字符串的编码版本,您只需在第二页上显示该值时重新编码该值。

于 2013-04-12T09:01:23.620 回答
0

始终确保您有

session_start();

在每个文件的顶部,以确保您维护会话。

于 2013-04-12T00:16:11.110 回答