Controllo elseif su un array

elpirata

Utente Attivo
18 Mar 2009
264
7
18
Buongiorno a tutti,
ho questo codice che mi permette di autenticare gli utenti e contestualmente registrare la sessione:

Questo è il codice perfettamente funzionante.

PHP:
...

// preparo ed invio la query
	$query = "SELECT * FROM utenti WHERE username = '$username' AND password = MD5('$password')";
	$result = mysql_query($query);
	
	// controllo l'esito
	if (!$result) {
		die("Errore nella query $query: " . mysql_error());
	}

	$record = mysql_fetch_array($result);

	if(!$record) {
		$messaggio = urlencode('Nome utente o password errati');
		header("location: $_SERVER[PHP_SELF]?msg=$messaggio");
		
	} else {
		session_start();
		$_SESSION['username'] = $record['username'];
		$messaggio = urlencode('Login avvenuto con successo');
		header("location: home.php");
}
}
?>

Il problema nasce nell'implementazione di un elseif all'interno del codice, che sostanzialmente dovrebbe intercettare l'utente che si logga e in base al suo nome mostrargli un header location diversa. Questo il codice:

PHP:
	// preparo ed invio la query
	$query = "SELECT * FROM utenti WHERE username = '$username' AND password = MD5('$password')";
	$result = mysql_query($query);
	
	// controllo l'esito
	if (!$result) {
		die("Errore nella query $query: " . mysql_error());
	}

	$record = mysql_fetch_array($result);

	if(!$record) {
		$messaggio = urlencode('Nome utente o password errati');
		header("location: $_SERVER[PHP_SELF]?msg=$messaggio");
		
	} 		
		elseif (in_array("pippo", $record, TRUE)){
		session_start();
		$_SESSION['username'] = $record['username'];
		$messaggio = urlencode('Login avvenuto con successo');
		header("location: pippo.php");
}
	 else {
		session_start();
		$_SESSION['username'] = $record['username'];
		$messaggio = urlencode('Login avvenuto con successo');
		header("location: default.php");
}

?>

Mi dareste una mano a capire dove sbaglio, visto che ottengo sempre un errore alla riga di chiusura ?

Codice:
unexpected $end

:byebye:
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
generalmente l'errore unexpected $end avviene quando php non trova la fine di un'istruzione es. graffa aperta, ma non chiusa e quindi procede sino al ?> dandoti quell'errore
ora nella parte dello script che hai postato non vedo cosa può produrre quell'errore
comunque io modificherei lo script così
PHP:
<?php
//..........
// preparo ed invio la query
$query = "SELECT * FROM utenti WHERE username = '$username' AND password = MD5('$password')";
$result = mysql_query($query);
// controllo l'esito
if (!$result) {
	die("Errore nella query $query: " . mysql_error());
	//e qui un rimando a dove vuoi
}else{
	$record = mysql_fetch_array($result);
	if(mysql_num_rows($result)==0){
			$messaggio = urlencode('Nome utente o password errati');
			header("location:". $_SERVER['PHP_SELF']."?msg=$messaggio");
			exit(); 
	}else{
		session_start();
		if(in_array("pippo", $record, TRUE)){
			$_SESSION['username'] = $record['username'];
			$messaggio = urlencode('Login avvenuto con successo');
			header("location: pippo.php");
			exit();
		}else{
			$_SESSION['username'] = $record['username'];
			$messaggio = urlencode('Login avvenuto con successo');
			header("location: default.php");
			exit();
		}
	}
}
?>
anche se, come ho detto, l'errore probabilmente non si trova nello script che hai postato, ma prima.
p.s.
dopo l'header che riinvia conviene mettere exit()
nella parte ok a cosa ti serve $messaggio se poi non lo trasmetti?
ultimo: passa a mysqli
 
Discussioni simili
Autore Titolo Forum Risposte Data
M pulsante per aprire una maschera che contiene controllo schede MS Access 0
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
Z Controllo giorni MYSQL PHP 0
M Problema con controllo form in real time jQuery 6
MarcoGrazia jquery validate() controllo checkbox jQuery 2
M Controllo del codice fiscale/partita iva PHP 11
S Software windows10 per controllo contenuti web Windows e Software 6
S Controllo appuntamenti disponibili sul db PHP 5
L input (controllo se è stato modificato o no). PHP 1
W Controllo competitors serp SEO e Posizionamento 2
bubino8 [Javascript] popup di controllo elimina dopo window.print(); Javascript 0
M [MS Access] controllo valido se MS Access 8
MarkRed Come indicare, in una maschera, il primo controllo d'input, tipo "SetFocus" jQuery 9
C [PHP] Controllo <select> comportamento anomalo PHP 2
elpirata [Javascript] Controllo campi required non effettuato Javascript 2
A [PHP] Controllo nome utente form di registrazione PHP 4
L [PHP] controllo dimensione immagine per il resize PHP 2
M [ASP] Upload file da form controllo Classic ASP 5
P [PHP] Controllo al checkbox privacy PHP 6
S [MySQL] Controllo dati di una tabella in tempo reale MySQL 0
T [php] controllo su estensione file PHP 7
M [PHP] Script per controllo disponibilitá negozio in citta PHP 4
I Recupero accesso pannello di controllo dominio Leggi, Normative e Fisco 2
F Controllo dati sui campi di input tramite php PHP 1
R [MS Access] CONDIZIONE CHE CAMBIA PROPRIETA' DI UNA CONTROLLO MS Access 7
M [PHP] Dubbio controllo IF PHP 15
M [PHP] Controllo campo cap con trattino oltre ai numeri PHP 3
Fede72 Controllo registrazioni PHP Mysql PHP 5
L jquery e json controllo valori da determinate chiavi - keys jQuery 0
T [Javascript] un controllo con checkbox che non... controlla... Javascript 3
bubino8 [PHP] Controllo Log e Modifiche Utenti PHP 5
P [PHP] Realizzare un controllo accessi cantiere, problema lettore Qrcode... PHP 0
M [PHP] Controllo inserimento in tempo reale PHP 0
M [PHP] Help: controllo valori inseriti in un campo PHP 1
M [PHP] Impedire di digitare determinati caratteri nell’input (controllo in tempo reale) PHP 4
giancadeejay [PHP] Controllo inserimento tot caratteri PHP 5
giancadeejay [PHP] Controllo su quantita' di caratteri inseriti, in colonna db PHP 5
F [Javascript] Controllo stringa jquery Javascript 4
B [MySQL] CONTROLLO SE CAMPO1 > CAMPO2 MySQL 0
CristianB72 [PHP] Controllo sintassi indirizzo email non funziona PHP 13
M [PHP] controllo inserimento dati un un form PHP 4
ANDREA20 [PHP] Controllo email se e valida PHP 5
elpirata [Javascript] Controllo su campo ricerca data Javascript 1
P scavalca il controllo dello username PHP 1
A problema controllo Javascript 2
C controllo con metodo text non funzionante Javascript 7
P Controllo valori duplicati in un campo a Maschere continue MS Access 0
P controllo browser sul server o in php? PHP 2
P Controllo estensione di un file PHP 1
G ACCESS 2013 controllo TreeView MS Access 0

Discussioni simili