Visualizzazione risultati 1 fino 14 di 14

Discussione: Come faccio a controllare che i campi di testo siano pieni?

  1. #1
    Guest

    Exclamation Come faccio a controllare che i campi di testo siano pieni?

    Ho il seguente codice e vorrei che prima di inviare i dati al database il form controllasse che tutti i campi di testo fossero pieni è possibile? Aiutatemi Grazie
    Codice PHP:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Login</title>
    </head>
    <body>
    <div id="container">
    <div id="main-body">
    <form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>" id="form_autenticazione" name="autenticazione">
    <div class="head"><h1>Login</h1></div>
    <label>Inserisci l'Email o l'Username:</label><br/>
    <input type="text" name="email_o_nome_utente" /><br/>
    <label>Inserisci la password:</label><br/>
    <input type="password" name="password" id="password" /><br/>
    <input type="submit" name="invio_dati" value="Invia"/><br/><br/>
    <label><a href="iscrizione.php" title="Registrazione">Se non sei registrato puoi farlo adesso</a></label>
    </form>
    </div>
    </div>
    </body>
    </html>
    <?php
    # inizializzazione della sessione
    @session_start();
    # inclusione del file di funzione
    @include_once 'functions.php';
    # istanza della classe
    $obj = new Iscrizioni();
    # chiamata al metodo per la verifica della sessione
    if ($obj->verifica_sessione())
    {
    # redirect in caso di esito positivo
    @header("location:area_riservata.php");
    }
    # chiamata al metodo per l'autenticazione
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $login = $obj->verifica_login(htmlentities($_POST['email_o_nome_utente'], ENT_QUOTES), htmlentities($_POST['password'], ENT_QUOTES));
    # controllo sull'esito del metodo
    if ($login) {
    # redirect in caso di esito positivo
    @header("location:area_riservata.php");
    }else{
    # notifica in caso di esito negativo
    echo 'I dati indicati non sono corretti.';
    }
    # form per l'autenticazione
    }
    ?>
    Ultima modifica di tuttopc84 : 21-04-2013 alle ore 19.44.46

  2. #2
    Guest

    Predefinito

    Ciao, potresti fare una cosa di questo tipo per controllare se i campi siano pieni:
    Codice PHP:
    <?php
    if(isset($_POST['submit']))
    {
    if(
    trim($_POST['email_o_nome_utente']) == '')
    echo
    "Errore!";
    }
    ?>

    <label>Inserisci l'Email o l'Username:</label><br/>
    <input type="text" name="email_o_nome_utente" value="<?= $_POST['email_o_nome_utente'];?>" /><br/>
    Dovrebbe funzionare :)
    Fammi sapere ;)

  3. #3
    Guest

    Predefinito

    Grazie ma mi potresti correggere il codice che ho messo prima per favore
    Grazie :))))

    EDIT:

    Non mi funziona il codice nn so perchè????
    Ultima modifica di alemoppo : 23-04-2013 alle ore 16.03.17 Motivo: Non fare post consecutivi: usa il tasto "Edita" per modificare i messaggi!

  4. #4
    Guest

    Predefinito

    Codice PHP:
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Login</title>
    </head>
    <body>
    <?php
    $avvisi
    = array('email_o_nome_utente'=>false, 'password'=>false);
    if(isset(
    $_POST['submit']))
    {
    if(
    trim($_POST['email_o_nome_utente']) == '')
    $avvisi['email_o_nome_utente'] = print "<style type=\"text/css\">#email_o_nome_utente{border-color: #DEEF40;}</style> <h4><p>Inserisci email o username!</p></h4>";

    else if(
    trim($_POST['password']) == '')
    $avvisi['password'] = print "<style type=\"text/css\">#password{border-color: #DEEF40;}</style> <h4><p>Inserisci password!</p></h4>";
    ?>
    <div id="container">
    <div id="main-body">
    <form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>" id="form_autenticazione" name="autenticazione">
    <div class="head"><h1>Login</h1></div>
    <label>Inserisci l'Email o l'Username:</label><br/>
    <input type="text" name="email_o_nome_utente" value="<?= $_POST['email_o_nome_utente'];?>" <?= ($avvisi['email_o_nome_utente'])?> /><br/>
    <label>Inserisci la password:</label><br/>
    <input type="password" name="password" id="password" value="<?= $_POST['password'];?>" <?= ($avvisi['password'])?> /><br/>
    <input type="submit" name="invio_dati" value="Invia"/><br/><br/>
    <label><a href="iscrizione.php" title="Registrazione">Se non sei registrato puoi farlo adesso</a></label>
    </form>
    </div>
    </div>
    </body>
    </html>
    <?php
    # inizializzazione della sessione
    @session_start();
    # inclusione del file di funzione
    @include_once 'functions.php';
    # istanza della classe
    $obj = new Iscrizioni();
    # chiamata al metodo per la verifica della sessione
    if ($obj->verifica_sessione())
    {
    # redirect in caso di esito positivo
    @header("location:area_riservata.php");
    }
    # chiamata al metodo per l'autenticazione
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $login = $obj->verifica_login(htmlentities($_POST['email_o_nome_utente'], ENT_QUOTES), htmlentities($_POST['password'], ENT_QUOTES));
    # controllo sull'esito del metodo
    if ($login) {
    # redirect in caso di esito positivo
    @header("location:area_riservata.php");
    }else{
    # notifica in caso di esito negativo
    echo 'I dati indicati non sono corretti.';
    }
    # form per l'autenticazione
    }
    ?>
    Prova così, ti ho fatto anche un po di estetica per la segnalazione di quale form si deve correggere l'inserimento...
    Comunque ti consiglio di andarti a studiare PHP e non fare copia e incolla
    PS: Non so di che colore ti si illuminerà il form in caso di errore, poi cambialo a tuo piacimento o non farlo proprio..

  5. #5
    Guest

    Predefinito

    mi dice:" ( ! ) Parse error: syntax error, unexpected $end in C:\wamp\www\autenticazione.php on line 59"

  6. #6
    Guest

    Predefinito

    Si scusa.. Mi sono dimenticato di chiudere la parentesi graffa..
    Codice PHP:
    <?php
    $avvisi
    = array('email_o_nome_utente'=>false, 'password'=>false);
    if(isset(
    $_POST['submit']))
    {
    if(
    trim($_POST['email_o_nome_utente']) == '')
    $avvisi['email_o_nome_utente'] = print "<style type=\"text/css\">#email_o_nome_utente{border-color: #DEEF40;}</style> <h4><p>Inserisci email o username!</p></h4>";

    else if(
    trim($_POST['password']) == '')
    $avvisi['password'] = print "<style type=\"text/css\">#password{border-color: #DEEF40;}</style> <h4><p>Inserisci password!</p></h4>";
    }
    ?>

  7. #7
    Guest

    Predefinito

    non funziona nn c'è un modo più semplice ?
    Grazie

  8. #8
    Guest

    Predefinito

    La condizione è questa, con la funzione trim() va ad eliminare eventuali spazi iniziali/finali e tramite $_POST['email_o_nome_utente'] Prelevi il valore inserito e controlli se è vuoto (uguale a '')
    Codice PHP:
    if(trim($_POST['email_o_nome_utente']) == '')
    Mi sembra strano che non funzioni.. Ti da un qualche errore o comunque ti continua con l'operazione?

    ----EDIT----
    In ogni campo di imput aggiungi:
    Codice HTML:
    <input id="email_o_nome_utente"/>
    <input id="password" />
    Ultima modifica di mathis : 21-04-2013 alle ore 20.30.58

  9. #9
    Guest

    Predefinito

    Mi puoi correggere il codice che ti ho dato prima ?
    Grazie mille

  10. #10
    Guest

    Predefinito

    Ok, ma se vuoi fare un sito, impara a correggere anche queste cose basilari..

    Codice PHP:
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Login</title>
    </head>
    <body>
    <?php
    $avvisi
    = array('email_o_nome_utente'=>false, 'password'=>false);
    if(isset(
    $_POST['submit']))
    {
    if(
    trim($_POST['email_o_nome_utente']) == '')
    $avvisi['email_o_nome_utente'] = print "<style type=\"text/css\">#email_o_nome_utente{border-color: #DEEF40;}</style> <h4><p>Inserisci email o username!</p></h4>";

    else if(
    trim($_POST['password']) == '')
    $avvisi['password'] = print "<style type=\"text/css\">#password{border-color: #DEEF40;}</style> <h4><p>Inserisci password!</p></h4>";
    ?>
    <div id="container">
    <div id="main-body">
    <form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>" id="form_autenticazione" name="autenticazione">
    <div class="head"><h1>Login</h1></div>
    <label>Inserisci l'Email o l'Username:</label><br/>
    <input type="text" name="email_o_nome_utente" value="<?= $_POST['email_o_nome_utente'];?>" id="email_o_nome_utente" <?= ($avvisi['email_o_nome_utente'])?> /><br/>
    <label>Inserisci la password:</label><br/>
    <input type="password" name="password" id="password" value="<?= $_POST['password'];?>" <?= ($avvisi['password'])?> /><br/>
    <input type="submit" name="invio_dati" value="Invia"/><br/><br/>
    <label><a href="iscrizione.php" title="Registrazione">Se non sei registrato puoi farlo adesso</a></label>
    </form>
    </div>
    </div>
    </body>
    </html>
    <?php
    # inizializzazione della sessione
    @session_start();
    # inclusione del file di funzione
    @include_once 'functions.php';
    # istanza della classe
    $obj = new Iscrizioni();
    # chiamata al metodo per la verifica della sessione
    if ($obj->verifica_sessione())
    {
    # redirect in caso di esito positivo
    @header("location:area_riservata.php");
    }
    # chiamata al metodo per l'autenticazione
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $login = $obj->verifica_login(htmlentities($_POST['email_o_nome_utente'], ENT_QUOTES), htmlentities($_POST['password'], ENT_QUOTES));
    # controllo sull'esito del metodo
    if ($login) {
    # redirect in caso di esito positivo
    @header("location:area_riservata.php");
    }else{
    # notifica in caso di esito negativo
    echo 'I dati indicati non sono corretti.';
    }
    # form per l'autenticazione
    }
    ?>
    Ciao.

  11. #11
    Guest

    Predefinito

    Mi dice Parse error: syntax error, unexpected $end in C:\wamp\www\autenticazione.php on line 59

  12. #12
    Guest

    Predefinito

    Esiste una proprietà dei tag input di testo introdotta con HTML5 che si chiama required il quale obbliga l'utente a riempire i campi prima dell'invio dei dati.
    Codice:
    <input type="text" name="nome_reale" required/>
    Quarda questa guida http://www.html.it/pag/19283/nuovi-a...a-validazione/

  13. #13
    Guest

    Predefinito

    Grazie milleeee!!!!!!!

  14. #14
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,709

    Predefinito

    Citazione Originalmente inviato da cmprogrammers Visualizza messaggio
    Esiste una proprietà dei tag input di testo introdotta con HTML5 che si chiama required il quale obbliga l'utente a riempire i campi prima dell'invio dei dati.
    Però non ci si può fidare di quella proprietà, perché è molto facile fare una richiesta alla pagina settando una variabile nulla, anche se c'é "required".
    In altre parole, mai fidarsi dei controlli fatti lato client!

    La soluzione è quella scritta mathis (anche se non l'ho letta bene). "required" volendo si può anche aggiungere, ma dev'essere un "di più".

    Ciao!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •