-1

ログインページを作りたいです。詳細を入力すると、問題が表示されます。

ログイン.php

<?php
session_unset ();
?>
<html> 
<head>
</head>
<body>
<form action="movie1.php" method="post">
<p>Enter username:
<input type="text" name="user"/>
</p>
<p>Enter Password:
<input type="password" name "pass"/></p>
<p>
<input type="submit" name="submit" value="Submit" /></p>
</form>
</body>
</html>

movie1.php

<?php
session_start();
$_SESSION['username'] = $_POST['user'];
$_SESSION['userpass'] = $_POST['pass'];
$_SESSION['authuser'] = 0;
if (($_SESSION['username'] == 'Joe') and ($_SESSION['userpass'] == '12345'))
{
$_SESSION ['authuser']=1;
}
else {
echo 'you can not enter here.';
exit ();
}

?>

<html>

<?php
$myfavmovie = urlencode ('Life of brain');
echo "<a href=\"moviesite.php?favmovie=$myfavmovie\">";
echo "click here for more information";
echo "</a>"; 
?>

</html>

ユーザー名: Joe とパスワード: 12345 でログインしようとすると、エラーが発生します。Notice: Undefined index: pass in C:\xampp\htdocs\book\book\movie1.php 行 4 私の PHP バージョンは 5.4.7 です。

moviesite.php

<?php
session_start();
if ($_SESSION['authuser'] != 1)
{echo "you don't enter here.";
exit();
}

?>
<html>
<head >
<title > My Movie Site - <?php echo $_GET['favmovie']; ?> </title>
</head >
<?php 
echo "welcome our website, " ;
echo $_SESSION['username'];
echo "."."<br>";
echo "my favorite film is ";
echo $_GET['favmovie'];
echo "<br>";
$movierate= 5;
echo "my point is"." ".$movierate;

?>
</html>
4

1 に答える 1

2

変化する、

<input type="password" name "pass"/></p>

<input type="password" name="pass"/></p>

無効な HTML マークアップ (= がない) のため、PHP は入力 "pass" を認識しません。$_POST 配列には表示されないため、存在しないものを参照しようとしているため、未定義のインデックス エラーが発生します。

于 2013-07-07T14:01:45.580 に答える