problema login con variabili

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
42
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.046
150
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.086
1
38
42
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.046
150
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.086
1
38
42
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.046
150
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
I Sto progettando nuovi siti utilizzando bootstrap e devo dire funziona bene, l'unico problema e la maschera -moz- HTML e CSS 0
K Problema form update PHP 2
O problema con dvr dahua xvr5116 IP Cam e Videosorveglianza 0
S Problema nel ciclare un json Javascript 0
G Problema con Xampp Web Server 1
andrea barletta Problema con miniature comandi Photoshop 0
I problema con alice Posta Elettronica 0
K Problema Inner join PHP 1
F firefox problema http Linux e Software 0
N Problema con position absolute e overflow HTML e CSS 4
E Problema jquery Success jQuery 2
L Problema con inner join PHP 11
K [php] Problema con inner join PHP 4
E problema selezione sfumata Photoshop 2
K [PHP] Problema con variabili concatenate. PHP 1
A Problema filtro fluidifica Photoshop Photoshop 1
H Problema Bordi Scontorno Photoshop 1
O problema con query PHP 4
R Problema installazione Realtek WiFi USB rtl8821 Reti LAN e Wireless 0
I problema con 2 account Posta Elettronica 1
L problema collegamento file css con html HTML e CSS 1
Y Problema percorso file in rete PHP 1
N Problema SEO "L'URL non si trova su Google" SEO e Posizionamento 4
E Problema accesso a file con app sviluppata con MIT APP INVENTOR 2 Sviluppo app per Android 0

Discussioni simili