2015-12-23 2 views
-1

Когда я запускаю следующий код, я получаю эту ошибку:

Notice: Undefined index: user in C:\wamp\www\moviel.php on line 3 

А также это:

Notice: Undefined index: pass in C:\wamp\www\moviel.php on line 4 

Я не могу найти ошибку , В чем проблема?

<?php 
session_start(); 
$_SESSION['username'] = $_POST['user']; // <- LINE 3 
$_SESSION['userpass'] = $_POST['pass']; // <- LINE 4 
$_SESSION['authuser'] = 0; 
// Check username and password information 
if(($_SESSION['username'] == 'Joe')and 
    ($_SESSION ['userpass'] == '12345')){ 
    $_SESSION['authuser'] = 1; 
}else{ 
    echo "Sorry, but youd don`t have the permission to view this page, you loser!"; 
    exit(); 
} 
?> 
<html> 
<head> 
<title>Find My Favorite Movie!</title> 
</head> 
<body> 
<?php include "header.php"; 
?> 
<?php 
$myfavmovie = urlencode("Life of Brian"); 
echo "<a href='moviesite.php?favmovie=$myfavmovie'>"; 
echo "Click here to see information about my favorite movie!"; 
echo "</a>"; 
echo "<br>"; 
echo "<a href ='moviesite.php?movienum = 5'>"; 
echo "Click here to see my top 5 movies."; 
echo "</a>"; 
echo "</br"; 
echo "<a href ='moviesite.php?movienum = 10'>"; 
echo "Click here to see my top 10 movies" 
?> 
</body> 
</html> 
+0

Можете ли вы предоставить код 'form'? Вам нужно проверить, не являются ли значения $ _POST. – FirstOne

+0

Я не могу придумать никого, кто мог бы обвинить. –

+0

Пожалуйста, объясните, что вы пытаетесь сделать, вместо того, чтобы просто вставлять код и сообщения об ошибках. – orzechow

ответ

2

$_POST['user'] не существует, оно не было опубликовано. Используйте isset, чтобы проверить, существует ли он, прежде чем пытаться установить значение.

if(isset($_POST['user'])) 
    $_SESSION['username'] = $_POST['user']; 
if(isset($_POST['pass'])) 
    $_SESSION['userpass'] = $_POST['pass']; 
+0

Спасибо, товарищи! –