我有一个用户登录的login.html页面及其信息;名称和邮政编码显示。此信息显示在login.php页面上。
<?php
session_start();
echo "systemResult=Success";
$row=mysql_fetch_array($result);
echo $row['Name']." is located at".$row['Postcode'];
$_SESSION['name'] = $row['User_id'];
我希望此信息以不同页面的形式显示,而不是在此时显示的页面上显示。 (如下所示)
<form name="form1" method="post" action="info.php">
<strong>info</strong>
<br />
<br />
Name: <input name="name" type="text" id="name" />
<br />
Postcode: <input name="postcode" type="text" id="postcode" />
<br />
</form
<div data-role="content">
<?php
session_start();
echo $_SESSION['user_id']
我已经在login.php页面上设置了会话,但它仍然显示错误页面上的信息。在“信息”页面上,信息会显示,但不会显示在表单中。
总而言之,我希望login.php中显示的信息显示在info.php中,这样当用户登录时,它会自动将它们带到info.php,显示它们的信息。
该信息来自phpmyadmin数据库。
提前致谢
Info.php页面
<!DOCTYPE html>
<?php
session_start();
echo $_SESSION['user_id']
?>
<html>
</head>
<body>
<!-- Home -->
<div data-role="page" id="page1">
<div data-theme="a" data-role="header">
<a data-role="button" data-theme="c" href="menu.html" data-icon="arrow-l" data-iconpos="left" class="ui-btn-left">
Main Menu
</a>
<h3>
Your info
</h3>
</div>
<form name="form1" method="post" action="login.php">
<strong>Details</strong>
<br />
<br />
Name: <input name="name" type="text" id="name" />
<br />
Postcode: <input name="postcode" type="text" id="postcode" />
</form
</div>
</body>
</html>
答案 0 :(得分:3)
首先,您的网页必须为.php
其次,在页面上呈现ANYTHING之前,您必须使用session_start()
启动会话。在页面开头的标题上方开始会话。
<强>更新强>
将您的info.php
代码更改为:
<?php
session_start();
// This needs to go before ANYTHING else on the page.
?>
<!DOCTYPE html>
<html>
</head>
<body>
<!-- Home -->
<div data-role="page" id="page1">
<div data-theme="a" data-role="header">
<a data-role="button" data-theme="c" href="menu.html" data-icon="arrow-l" data-iconpos="left" class="ui-btn-left">
Main Menu
</a>
<h3>
Your info
</h3>
<p>
<?php // Put this where you want to echo the user_id on the page
echo $_SESSION['user_id']; ?>
</p>
</div>
<form name="form1" method="post" action="login.php">
<strong>Details</strong>
<br />
<br />
Name: <input name="name" type="text" id="name" />
<br />
Postcode: <input name="postcode" type="text" id="postcode" />
</form
</div>
</body>
</html>
答案 1 :(得分:0)
亲爱的朋友,我认为你对会话变量感到困惑。请记住,你应该开始
session_ start( );
在你的php页面的最前面,在任何事情开始之前。 您可以将值存储到会话变量中,如下面的showm
$_SESSION['demo'] = 'Hello';
您可以将会话变量检索为showm
echo $_SESSION['demo'];
就是这样。 仔细检查你在分配到会话变量
之前从db获取值答案 2 :(得分:0)
您的会话变量名为$ _SESSION ['name'],在login.php文件中将其更改为$ _SESSION ['user_id'] = $ row ['User_id']。也许你想要多个会话变量?如:
$_SESSION['user_id'] = $row['User_id'];
$_SESSION['name'] = $row['name'];
$_SESSION['postcode'] = $row['code'];
如前所述,session_start()需要在其他任何事情之前完成,将php代码移到DOCTYPE之前。