- Home
- Categorie
- Coding e Sistemistica
- Coding
- Registrazione PHP
- 
							
							
							
							
							
Registrazione PHPCiao ragazzi, ho creato perfettamente una registrazione in php e ogni volta che c'è un errore questa rimanda l'utente in una pagina dove appunto è scritto l'errore commesso, ma vorrei modifcarla in modo che se l'utente commette un errore, l'input di testo diventa con un background-color diverso dal precedente (magari rosso) e quindi cambia solamente il colore della casella ma non riporta ad un'altra pagina, come fare? 
 
- 
							
							
							
							
							
Nessuno può aiutarmi? 
 
- 
							
							
							
							
							Ciao, 
 sarebbe utile vedere lo script che hai fatto. In ogni caso l'action del form dovrebbe essere sempre nella stessa pagina in modo da variare esclusivamente il colore.
 
- 
							
							
							
							
							
Sì certo scusami ecco il mio codice: 
 [PHP]<form method="post" action="pagina.php">
 <?phpsession_start(); 
 include ("connessione.php");$nome_utente = ($_POST['nome_utente']); 
 $password = ($_POST['password']);$sql = "SELECT * FROM users WHERE nome_utente = '$nome_utente' 
 and password = '$password'";
 $result = mysql_query($sql);$count= mysql_num_rows($result); if ($count == 1) 
 {
 $_SESSION['nome_utente'] = $nome_utente;
 $_SESSION['password'] = $password;
 header("location:pagina_log.php");
 exit;} else { echo '<input placeholder="Nome utente" tabindex="1" onBlur="if (this.placeholder=='') {this.placeholder="Password"}; class="nuvola_rossa" name="nome_utente" type="text" maxlength="40"/>'; exit;} ?> 
 <fieldset class="nuvola">
 <input placeholder="Nome utente" tabindex="1" onBlur="if (this.placeholder=='') {this.placeholder="Password"}; class="nuvola" name="nome_utente" type="text" maxlength="40"/>
 <input placeholder="Password" tabindex="2" onBlur="if (this.placeholder=='') {this.placeholder="Password"}; class="nuvola_1" type="text" name="password" maxlength="20"/>
 <button style="cursor:pointer;" tabindex="3" id="login" class="entra" type="submit" size="10px">ENTRA</button>
 </fieldset>
 </form>[/PHP]
 In parole povere, questo codice php funzionava, in una pagina esterna e mi reindirizzava benissimo ad un'altra pagina con header(), ora l'ho messso invece sulla pagina stessa e ho messo l'action del form su action="pagina.php" (la pagina stessa).
 Se il login funziona reindirizza su la pagina di log avvenuto con successo, mentre se il login non funge, l'input di "nome_utente" diventa rosso, la class="nuvola_rossa" è proprio settata con backgroun-color: red;
 Però tutto questo non funziona, cosa ho sbagliato?
 
- 
							
							
							
							
							Ad esempio puoi fare cosi: <form method="post" action=""> <?php session_start(); include ("connessione.php"); $nome_utente = ($_POST['nome_utente']); $password = ($_POST['password']); $sql = "SELECT * FROM users WHERE nome_utente = '$nome_utente' and password = '$password'"; $result = mysql_query($sql); $count= mysql_num_rows($result); if ($count == 1) { $_SESSION['nome_utente'] = $nome_utente; $_SESSION['password'] = $password; header("location:pagina_log.php"); exit; } else { $error = true; } ?> <fieldset class="nuvola"> <?php if(empty($error)) echo '<input placeholder="Nome utente" tabindex="1" onBlur="if (this.placeholder==\'\') {this.placeholder="Password"}; class="nuvola" name="nome_utente" type="text" maxlength="40"/>'; else echo '<input placeholder="Nome utente" tabindex="1" onBlur="if (this.placeholder==\'\') {this.placeholder="Password"}; class="nuvola_rossa" name="nome_utente" type="text" maxlength="40"/>'; ?> <input placeholder="Password" tabindex="2" onBlur="if (this.placeholder=='') {this.placeholder="Password"}; class="nuvola_1" type="text" name="password" maxlength="20"/> <button style="cursor:pointer;" tabindex="3" id="login" class="entra" type="submit" size="10px">ENTRA</button> </fieldset> </form>
 
- 
							
							
							
							
							
Provato come dici tu, ma mi da pagina bianca.. 
 Anche perchè riflettendoci... i due input login e password devono esserci sempre, e solo quando tu invii il form alla pagina se i dati sono errati la pagina ri risponderà, facendoti diventare il form rossi
 
- 
							
							
							
							
							
Nessuno può aiutarmi? 
 
- 
							
							
							
							
							Devi avere un pò di pazienza, in un forum è impossibile avere risposte nel giro di 3 ore. La pagina bianca te la da una volta inviato il form o da subito? 
 Il codice lo hai messo esattamente come ti ho scritto io, o hai aggiunto qualcosa?
 
- 
							
							
							
							
							
Sì hai ragione scusami.., l'ho scritto esattamente come me lo hai dato tu, la pagina bianca me la da subito