2
<?php
session_start();
$_SESSION['id']='face';

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
    <form action="check.php" method="post">
            Admin:    <input type="text" name="uname" value="<?php if(isset($_SESSION['id']) && !empty($_SESSION['id'])) { echo $_SESSION['id']; }  ?>" /><br />
            Password: <input type="password" name="pword" /><br />
                      <input type="hidden" name="login" value="1" />
                      <input type="submit" value="Login" />
 </form>
</body>
</html>

我正在使用 php 语言。我已经创建了 session[id],我在其中存储了值,即 face 。现在在表单中,ADMIN 文本框,我正在检查 session[id],如果isset或不为* echo * session[id] 但如果不是isset,则回显文本框值而不是它向我显示的数字。请任何人解释一下为什么它向我显示数字.......而不是价值

4

2 回答 2

2

首先,更正您的html,如下所示:

<input type="text" name="uname" value="<?php if(isset($_SESSION['id']) && !empty($_SESSION['id'])) { echo $_SESSION['id']; }  ?>" />

如果您遇到相同的错误,则需要在显示表单之前检查您的会话值。您可以使用:

var_dump($_SESSION);

以确保您的会话没有被其他地方覆盖。

于 2013-08-22T16:55:32.873 回答
1

<input type="textbox"html中没有!

使用<input type="text"<textarea> </textarea>(内容介于两者之间)

编辑:会话 ID

如果您真的想覆盖会话 ID,请使用函数 session_id(sid)。无论哪种方式,您只能在开始会话之前设置会话 ID ,因此您的代码应如下所示:

session_id("face");
session_start();
于 2013-08-22T16:47:14.530 回答