problema login con variabili

luigi777

Utente Attivo
14 Feb 2008
1.085
1
38
39
Massa, Italy
Salve, ho un problema che non so come mai se inserisco un username sbagliato mi da undifined index all'if che verifica l'esistenza dell'username e la password.
ecco il codice:
PHP:
<?php 
session_start(); 
include_once("include.php"); 

if (isset($_POST["Login"])) {
    if(empty($_POST["username"]))
    {
    
        $error = "Non hai inserito l'username";
            
    }elseif(empty($_POST["password"]))
    {
        $error = "Non hai inserita la password";
    }else
    { 
	
		if ($USERS[$_POST["username"]]['pass'] == $_POST["password"]) {        // MI DA QUI IL NOTICE E MI SCRIVE CHE I DATI SONO SBAGLIATI MA MI FA VEDERE IL NOTICE SU $_POST["username"] == //
			$_SESSION["logged"] = true;
			$_SESSION["username"] = $_POST["username"];
			$_SESSION["immagine"] = $USERS[$_POST["username"]]['img'];

			$msg = "Aspetta il redirezzamento";
			redirect("home.php", 2);   
		} else {
			$error = 'Incorrect username/password. Please, try again.';
		}
}
}
?> 
 
<?php 
     if(isset($error)){ echo "<p style=\"color:red;background-color:black;\">".$error."</p>";} 
    if(isset($msg)){ echo $msg;} else { 
    ?> 
<form action="login.php" method="post">
   <table>
   <tr>
   <td>
   <input type="text" name="username" size="20" value="<?php if(isset($_POST["username"])){echo $_POST["username"];} ?>" />
   </td>
   <td>
   <input type="password" name="password" size="20">
   </td>
   <td>
   <input type="submit" id="login" value="Login" name="Login"/> 
   </td>
        </tr>
    </table>
</form>
    <?php 
    } 
?>
la passwords.php è cosi:
$USERS["thor"]['pass'] = "pippo";
$USERS["thor"]['img'] = "thor.jpg";
avete idee?

grazie mille.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
metti dei vardump e guarda cosa ti danno
PHP:
<?php
//...
echo "<pre>";
var_dump($_POST["username"]);
var_dump($USERS[$_POST["username"]]['pass']);
echo "</pre>";
if ($USERS[$_POST["username"]]['pass'] == $_POST["password"]){
//...
?>
 

luigi777

Utente Attivo
14 Feb 2008
1.085
1
38
39
Massa, Italy
ok,
se scrivo male il nome e la password giusta mi salta fuori questo:
Notice: Undefined index: thors in D:\xampp\htdocs\webgame\login.php on line 17
e la linea è questa:
if ($USERS[$_POST["username"]]['pass'] == $_POST["password"]) {
idee?
PHP:
<?php 
session_start(); 
include_once("include.php"); 

if (isset($_POST["Login"])) {
    if(empty($_POST["username"]))
    {
    
        $error = "Non hai inserito l'username";
            
    }elseif(empty($_POST["password"]))
    {
        $error = "Non hai inserita la password";
    }else
    { 
	
		if ($USERS[$_POST["username"]]['pass'] == $_POST["password"]) {
			$_SESSION["logged"] = true;
			$_SESSION["username"] = $_POST["username"];
			$_SESSION["immagine"] = $USERS[$_POST["username"]]['img'];

			$msg = "Aspetta il redirezzamento";
			redirect("home.php", 2);   
		} else {
			$error = 'Incorrect username/password. Please, try again.';
		}
}
}
?> 
 
<?php 
     if(isset($error)){ echo "<p style=\"color:red;background-color:black;\">".$error."</p>";} 
    if(isset($msg)){ echo $msg;} else { 
    ?> 
<form action="login.php" method="post">
   <table>
   <tr>
   <td>
   <input type="text" name="username" size="20" value="<?php if(isset($_POST["username"])){echo $_POST["username"];} ?>" />
   </td>
   <td>
   <input type="password" name="password" size="20">
   </td>
   <td>
   <input type="submit" id="login" value="Login" name="Login"/> 
   </td>
        </tr>
    </table>
</form>
    <?php 
    } 
?>
grazie mille.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
appunto per questo ti avevo detto di mettere i var dump, per capire quale variabile si perde quando scrivi errato.
non so da dove prendi le pass, comunque al posto dell'empety potreti mettere !isset || empety
 

luigi777

Utente Attivo
14 Feb 2008
1.085
1
38
39
Massa, Italy
ciao ho messo come mi hai detto tu:
echo "<pre>";
var_dump($_POST["username"]);
var_dump($USERS[$_POST["username"]]['pass']);
echo "</pre>";
if ($USERS[$_POST["username"]]['pass'] == $_POST["password"]) {

e la cosa è cosi:
Codice:
string(4) "dede"


Notice:  Undefined index: dede in D:\xampp\htdocs\webgame\login.php on line 18

NULL

Notice: Undefined index: dede in D:\xampp\htdocs\webgame\login.php on line 20

idee?
grazie mille.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
la $USERS[$_POST["username"]]['pass'] risulta inesistente (NULL)
sei sicuro che esista l'array
$USERS['dede']['pass']
?
coumunque fai una prova così
PHP:
<?php
<?php 
session_start(); 
include_once("include.php"); 

if (isset($_POST["Login"])){
    if(empty($_POST["username"])){
        $error = "Non hai inserito l'username";
    }elseif(empty($_POST["password"])){
        $error = "Non hai inserita la password";
    }else{ 
    	if(isset($USERS[$_POST["username"]]['pass'])){
        	if ($USERS[$_POST["username"]]['pass'] == $_POST["password"]) {
            	$_SESSION["logged"] = true;
            $_SESSION["username"] = $_POST["username"];
            	$_SESSION["immagine"] = $USERS[$_POST["username"]]['img'];
            	$msg = "Aspetta il redirezzamento";
            	redirect("home.php", 2); 
        	}else{
            	$error = 'Incorrect username/password. Please, try again.';
        	}
		}else{
			$error = 'inesistenti username/password. Please, try again.';
		}
	}
}
?>
 
Discussioni simili
Autore Titolo Forum Risposte Data
A Problema login con Safari PHP 14
F Problema con pagine login in PHP PHP 2
Fuego2806 [Joomla] Problema di login con il nuovo template Joomla 0
S problema con ajax semplice login script Javascript 8
S Problema con login e cookie PHP 5
S Problema di login con PDO PHP 2
P Problema con login e password PHP 54
L Problema con login in Dreamweaver CS5 PHP 2
I [PHP]Problema sito con form login in ogni pagina PHP 7
T problema con la finestra di login riservata PHP 1
B Problema con login pagina web-collegamento al db Classic ASP 7
Web93 PROBLEMA SITO WEB WORDPRESS - LOGIN DASHBOARD Programmazione 3
A problema form login sicuro PHP 0
S problema form login PHP 3
otto9due [risolto] Problema sessioni php e login PHP 5
S Problema nella pagina di registrazione e login PHP 2
M Email non valida - Problema login PHP 3
L problema login fatto da javascript PHP 1
A Problema SESSION e LOGIN PHP 1
P Problema di login jQuery 21
F problema login PHP 2
Web Designer Soluzione al problema Login su MyBB CMS (Content Management System) 0
Longo8 Problema al login su forum mrwebmaster Discussioni Varie 2
SolidSnake4 problema login php+ajax PHP 2
N Problema login.php help PHP 0
luix login. problema?. Classic ASP 27
F NetBeans problema creazione progetto Java Windows e Software 0
M Problema con Try Catch PHP 0
C problema seo + cerco esperto SEO e Posizionamento 1
Sergio Unia Problema con gli eventi del mouse su una data table: Javascript 2
T PROBLEMA CON SESSIONI PHP 3
A Problema, non so, di scale() o transform, oppure altro? HTML e CSS 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
T PROBLEMA CON ARRAY PHP 8
L problema con query select PHP 2
R Problema query con ricerca id numerico PHP 2
F Problema con risposta PHP 0
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 1
I PROBLEMA: Sostituzione sito XAMPP E-Commerce 0
T problema data 30/11/-1 PHP 0
L Problema RAM con Tomcat 8 Apache 0
napuleone problema con sort e asort PHP 4
Y Problema incolonnamento tabella PHP 7
S problema salvataggio immagini Photoshop 0
Z Problema con INT MySQL PHP 1
Z Problema database MySQL con XAMPP PHP 0
M Problema con controllo form in real time jQuery 6
D problema php mysql PHP 1
D problema php mysql PHP 1

Discussioni simili