Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 30

Discussione: controllo sul form

  1. #1

    controllo sul form

    salve volevo sapere come mai questo controllo non funziona
    Codice PHP:
    <?php
    if ((isset($_POST['username'])) || (isset($_POST['password'])))
    {
        echo 
    "manca user o pass";
    }
    else {
        echo 
    "tutto ok";
        }

    ?>
    praticamente voglio che se un utente non mette o l'username o la password da errore.
    se invece l'inserisce entrambi da tutto ok
    il fatto che se non metto entrambi i dati o singolarmente funziona
    se metto username e password da sempre la frase manca user o pass

  2. #2
    poi dimenticavo come è possibile che la frase
    manca user o pass
    esce già sotto al form senza che io ho ancora inserito i dati ma appena ricarico la pagina esce?


  3. #3
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    gli stai dicendo il contrario, se vuoi che non proceda devi usare il "!" prima della funzione (in pratica verifica che il valore restituito dalla funzione sia FALSO). Ti conviene anche verificare che i campi non siano passati vuoti
    Codice PHP:
     <?php
    if ((!isset($_POST['username'])) || (!isset($_POST['password'])))
    {
        echo 
    "manca user o pass";
    }
    else {
        echo 
    "tutto ok";
        }

    ?>
    per il secondo post, non ho capito cosa fai: considera che se ricarichi la pagina usando la funzione del browser eventuali campi dei form vengono rispediti al server.

  4. #4
    Utente di HTML.it L'avatar di Fractals87
    Registrato dal
    Apr 2008
    Messaggi
    1,202
    da quanto ho capito, per il risultato che vuoi ottenere, non è sufficiente il controllo isset.
    Se l'input è presente nella form il controllo sarà sempre valido.
    oltre al isset devi controllare che il campo non sia vuoto

    Codice PHP:
     <?php
    if ( !isset($_POST['username']) || $_POST['username']=="" || !isset($_POST['password']) || $_POST['password']=="")
    {
        echo 
    "manca user o pass";
    }
    else {
        echo 
    "tutto ok";
        }

    ?>
    Che mestiere difficile.....essere da soli ancora di più

  5. #5
    basta solo

    Codice PHP:
    if ( !empty( $_POST['username'] ) || !empty( $_POST['password'] ) ) 

    empty() is essentially the concise equivalent to !isset($var) || $var == false.
    Questa volta, più che un voto.. è favoreggiamento.

  6. #6
    ho provato isset e esce sempre la frase manca user e pass
    mentre nell'empty quando invio il modulo esce questo va ad una pagina con questo url
    POST?username=&password=&submit=Invia+richiesta


    mentre dovrebbe dare l'echo assegnato come mai?

  7. #7
    posta il codice....
    Questa volta, più che un voto.. è favoreggiamento.

  8. #8
    Quote Originariamente inviata da Al_katraz984 Visualizza il messaggio
    posta il codice....
    il file si chiama login.php
    Codice PHP:
     <?php


    ?>
    <form action="POST" method="login.php">
    <input type="text" name="username" />
    <input type="password" name="password" />
    <input type="submit" name="submit" />

    <?php
    if ( !empty( $_POST['username'] ) || !empty( $_POST['password'] ) ){
    $controllo_username=strlen($_POST['username']);
    $controllo_username=htmlspecialchars($_POST['username']); 
    $controllo_username=trim($_POST['username']); 
    $controllo_username=addslashes($_POST['username']); 
    $controllo_username=stripslashes($_POST['username']);  

    echo 
    "manca user o pass";
    }
    else{
    echo 
    "tutto ok";
    }
    ?>
    ovviamente il problema sorgeva già prima che io aggiungessi questi controlli
    $controllo_username=strlen($_POST['username']);
    $controllo_username=htmlspecialchars($_POST['username']);
    $controllo_username=trim($_POST['username']);
    $controllo_username=addslashes($_POST['username']);
    $controllo_username=stripslashes($_POST['username']);

  9. #9
    Secondo te cosa dovrebbe restituire la funzione !empty()
    Ti consiglio di formulare a parole la condizione che vuoi verificare e poi tradurla in codice!

    P.S.
    Sul $controllo_username preferisco soprassedere!
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  10. #10
    vorrei che se non viene compilato entrambi i campi username e password da errore
    se solo 1 dei due campi manca da errore
    se entrambi i campi son compilati da "tutto ok"
    e poi volevo inserire i vari controlli sull'username la password

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.