• User Newbie

    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?


  • User Newbie

    Nessuno può aiutarmi?


  • ModSenior

    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.


  • User Newbie

    Sì certo scusami ecco il mio codice:
    [PHP]<form method="post" action="pagina.php">
    <?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

    {

        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?


  • ModSenior

    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>
    
    

  • User Newbie

    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


  • User Newbie

    Nessuno può aiutarmi?


  • ModSenior

    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?


  • User Newbie

    Sì hai ragione scusami.., l'ho scritto esattamente come me lo hai dato tu, la pagina bianca me la da subito