- Home
- Categorie
- Coding e Sistemistica
- PHP
- Registrazione PHP
-
Registrazione PHP
Ciao 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