Pagine diverse in base ai dati enum

steave67

Utente Attivo
24 Ago 2008
148
0
0
Salve a tutti.
Adesso per imparare meglio ancora il php devo chiedere molto prima di agire!!!
Ecco adesso volevo sapere se in base ai dati enum nel database si potessero visualizzare pagine diverse.
Per esempio se all'utente iscritto è 1 visualizzerà la pagina:
Il tuo account è stato attivato

Al contrario invece se è 0 visualizzerà la pagina:
Il tuo account dev'essere ancora attivato.

Come si può fare?
Attendo risposte
Ciao a tutti
steave67

P.S.: Non è la stessa iscrizione della quale ho chiesto l'aiuto un po' di tempo fa
 
ciao
scusa, vorrei capire.
l'utente si logga?
se è attivato va a una pagina e se no ad un'altra?
nella tabella utente c'è il campo attivato?
se è così mi sembra semplice
 
Sì hai capito bene, però essendo nuovo nella programmazione php molte cose non le so...
 
ciao
io farei così:

PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Documento senza titolo</title>
</head>

<body>
<?php
//connessione al db**********
if(isset($_POST['log']) && $_POST['log']=="log"){
	$usn=$_POST['usn'];//leggo l'username
	$psw=$_POST['psw'];//leggo la password
	$query="SELECT * FROM mia_tabella WHERE usn='$usn' AND psw='$psw'"; //cerco usen e pass
	//$trovata=mysql_query($query); //riga commentata perche non ho il tuo db
	//$esiste=mysql_num_rows($trovata); //guardo se esiste
	if($esiste<1){// se minore di uno non esiste
		echo "ACCESSO NEGATO: username o password non corretti";
		/*
		a me piace utilizzare refresh dove content e il tempo di attesa perima di tornare alla pagina
		indicata in URL, in questo caso la pagina stessa
		*/
		echo "<meta http-equiv='Refresh' content='3; URL=$_SERVER['PHP_SELF']'>";
	}else{//usn e pass esistono verifico se utente attivato
		//$riga=mysql_fetch_array($trovata); // leggo il record
		$attivo=$riga['nome_campo_enum'];
		if($attivo==1){//l'utente è attivato, user e pass ok
			/*prima di refresh puoi mettere messaggio di benvenuto
			in tal caso conviene contetn=3, altimenti content=0 (redir immediato)
			*/
			echo "<meta http-equiv='Refresh' content='0; URL=pagina_utenti_attivi.php'>";
		}else{//usn e pass ok, utente non attivato campo enum !=1
			echo "ATTENZIONE l'account non è stato ancora attivato, tra breve sarai attivato";
			echo "<meta http-equiv='Refresh' content='3; URL=$_SERVER['PHP_SELF']'>";
		}//fine if else verifica campo enum

	}// fine if else usn e pass esistono
}//fine if log
?>
<form action="<?php $_SERVER['PHP_SELF'] ?>" method="post">
inserisci username <input name="usn" type="text">
inserisci password <input name="psw" type="text">
<br>
<input name="log" type="button" id="log" value="log">
<input type="reset" name="Submit" value="reset">
</form>
</body>
</html>


non è detto che sia il sistema migliore.

p.s.
ho commentato tutte le istruzioni che si riferiscona al db se no a me da errorre (non ho fatto il db)
 
Sintatticamente l'esempio di Borgo è corretto, io però vi consiglio di far passare i dati di autenticazione per sessione; diversamente:
  1. dovrete sempre trascinarvi dietro il parametro passato per POST
  2. il sistema di login sarà veramente poco sicuro
 
ciao
eliox ha ragione, però il mio era solo un esempio a livello elementare.
è evidente che passare per sessione è meglio
(il sess..:D)
 
Intanto vorrei esporre un altro problema.
Si può fare uno script whois che parte automaticamente quando un utente clicca ad una parte diversa dal campo dove deve mettere la disponibilità?
Credo di essermi spiegato bene...
ciao
 

Discussioni simili