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言語で働いています。値、つまり face を保存した session[id] を作成しました。今、ADMIN textboxのフォームで、私は session[id]チェックいます。値の代わりに数字が表示される理由を誰か説明してください........

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"orを使用します<textarea> </textarea>(コンテンツはその間にあります)

編集: セッション ID

本当にセッション ID を上書きしたい場合は、関数 session_id(sid) を使用します。どちらの方法でも、セッションを開始する前にのみセッション ID を設定できるため、コードは次のようになります。

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