Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 32
  1. #1

    Script PHP che da errore se uno degli input è vuoto?

    Come faccio a fare in modo che se uno degli input è vuoto appare un messaggio di errore e non fa proseguire? (Spiegate in modo semplice, non sono molto esperto in campo PHP)

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,448
    Se ad esempio hai un campo "nome" e questo non viene riempito, supponendo inoltre che i dati li invii tramite metodo POST
    Codice PHP:
    if($_POST['nome'] != "") {
       
    //tutto ok, codice per andare avanti
    }
    else {
       echo 
    "Fermi tutti! Nel campo nome ci devi scrivere qualcosa!!!";


  3. #3
    Non funziona, appare echo normale , cioè appare sempre quella frase ma la mail viene inviata ugualmente (nel codice php ho messo la funzione della mail per chiarire) .. :S

  4. #4
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    sei sicuro che spedisci con il metodo post ?

    stampa i parametri:

    print_r($_POST);

    se è zero non invii con post.
    2000 post e sono più vecchio di 4 anni...
    grazie a tutti....

  5. #5
    agenti nel codice html ho scritto:

    <form method="POST" action="dati.php">

    non vedo per cui non dovrebbe essere così

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,448
    Io ti ho scritto la struttura, ovvio che solo con quello non ti funziona, ma una volta che sai distinguere se il campo è vuoto o no dovrebbe essere facile decidere se inviare la mail o no, basta eseguire l'invio solo se dopo tutti i controlli non sei mai entrato in un else.
    Ad esempio se negli else metti un redirect invece di un semplice echo sei a posto.
    Ovviamente puoi fare anche in altri modi, dipende da come preferisci tu.

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    218
    Il modo migliore per aiutarti è avere il tuo script sotto gli occhi.

  8. #8
    Codice PHP:

    Codice PHP:
    <?php

    $nickname 
    $_POST['nickname'];
    $centro $_POST['centro'];
    $nomecentro $_POST['nomecentro'];
    $ruolo $_POST['ruolo'];
    $candidatura $_POST['candidatura'];
    $ip $_SERVER['SERVER_ADDR'];
    $destinatario "provamail@hotmail.com";
    $oggetto "Candidatura Security Expert";

    $testo "Nickname: $nickname

    Ha lavorato in un centro aiuti? 
    $centro

    Nome del center: 
    $nomecentro

    Ruolo nel center: 
    $ruolo

    Candidaura:

    $candidatura


    IP: 
    $ip ";

    mail($destinatario,$oggetto,$testo);

    if(
    $_POST['nickname'] != "") { 
       
    //tutto ok, codice per andare avanti 

    else { 
        echo 
    "Riempi i campi richiesti per favore!; 
    }

    if(
    $_POST['centro'] != "") { 
       //tutto ok, codice per andare avanti 

    else { 
       echo "
    Riempi i campi richiesti per favore!"; 
    }

    if(
    $_POST['candidatura'] != "") { 
       //tutto ok, codice per andare avanti 

    else { 
       echo "
    Riempi i campi richiesti per favore!"; 
    }
    ?>
    Codice HTML:

    codice:
    <html>
    <head>
    <title>Security Expert</title>
    </head>
    <body>
    <center>
    
    
    
    <font color="red">
    <form method="POST" action="dati.php">
    Inserisci il tuo nickname in Habbo.it
    
    <input type="text" name="nickname">
    
    
    Hai fatto parte di un centro aiuti?(Se sì specificane il nome, proprietario e il tuo ruolo in esso)
    
    <input type="radio" value="Sì" name="centro">Sì
    
    <input type="radio" value="No" name="centro">No
    
    <table style="text-align: center"><tr><td><font color="red">Help Center - Proprietario
    
    <input type="text" name="nomecentro"></font></td>
    <td><font color="red">Ruolo
    
    <input type="text" name="ruolo"></font></td></tr></table></div>
    
    
    Lascia qui la tua candidatura
    
    <textarea name="candidatura" cols="54" rows="15"></textarea>
    
    
    <center><input type="submit" value="Invia"></center></form>
    </font>
    </center>
    </body>
    </html>

  9. #9
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    cambia gli if in questo modo

    Codice PHP:
    if(isset($_POST['nickname']) && $_POST['nickname'] != ""

  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    218
    Se metti i controlli dopo l'invio della mail non ha molto senso.

    Prova una cosa del genere:

    Codice PHP:

    if ( ! empty($_POST))
    {
         foreach (
    $_POST as $chiave=>$valore)
         {
               if (
    $valore == "")
               {
                     
    $validato FALSE;
                     echo 
    "Tutti i campi devono essere riempiti.";
                     break;
                }
                
                
    $validato TRUE;
         }
     
    }

    if (
    $validato)
    {
    $testo "Nickname: $nickname 

    Ha lavorato in un centro aiuti? 
    $centro 

    Nome del center: 
    $nomecentro 

    Ruolo nel center: 
    $ruolo 

    Candidaura: 

    $candidatura 


    IP: 
    $ip "

    mail($destinatario,$oggetto,$testo); 


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.