Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Come rendere obbligatori i campi di questo form?

    Premettendo che è la primissima volta che ho a che fare con un codice in php, stranamente sono riuscita a far funzionare un modulo contatti semplicemente copiandolo da un sito. Questo è il codice che ho inserito:

    Codice PHP:
    <?php 
    $mailto 
    "indirizzo@email.it";
    $subject "Modulo contatti";
    $redirect "pagina.html";
    foreach(
    $HTTP_POST_VARS as $key => $value) {
    $message .= $key ': ' $value;
    $message .= "\n";
    }
    if (@
    mail($mailto$subject$message)) {
    header("Location: $redirect");
    } else {
    echo(
    '  Non è stato possibile inviare il modulo. Torna alla pagina precedente e riprova, grazie!</p>');
    }
    ?>
    Adesso, però, avrei bisogno di rendere obbligatori alcuni campi del form. Potreste postarmi direttamente il codice corretto ? I campi che voglio rendere obbligatori hanno questi nomi:

    Nome e cognome
    Telefono
    E-mail
    Privacy

    Un'altra domanda: è possibile far comparire direttamente una pagina personalizzata al posto del messaggio di errore?

    Grazie mille!^^

  2. #2
    Stando a quello che hai scritto, dovrebbe essere pressapoco così:

    Codice PHP:
    <?php
    $mailto 
    "indirizzo@email.it";
    $subject "Modulo contatti";
    $redirect "pagina.html";
    if(
    $_POST['Nome e cognome']=='' && $_POST['Telefono']=='' && $_POST['E-mail']=='' && $_POST['Privacy']=='') {
    echo 
    "Il nome e cognome, il telefono, l'email e la privacy sono obbligatori";
    }
    else
    {
    foreach(
    $HTTP_POST_VARS as $key => $value) {
    $message .= $key ': ' $value;
    $message .= "\n";
    }
    if (@
    mail($mailto$subject$message)) {
    header("Location: $redirect");
    } else {
    echo(
    '  Non è stato possibile inviare il modulo. Torna alla pagina precedente e riprova, grazie!</p>');
    }
    }
    ?>

  3. #3
    Innanzitutto grazie per avermi risposto!^^ Ho inserito il codice che mi hai postato, ma son riuscita ad inviare ugualmente il form lasciando vuoti tutti i campi e senza che mi uscisse fuori alcun errore... Dove sta il problema? Io non posso mettere mano perchè non ci capisco nulla !

  4. #4
    Ciao,
    anzichè verificare che una variabile $_POST o $_GET sia uguale a una stringa vuota ($_POST['Nome'] == '') prova a utilizzare un codice tipo:
    Codice PHP:

     
    if(isset($_POST['Nome']) && !empty($_POST['Nome']))
     {
      
    /* 
        qui istruzioni nel caso in cui le variabili siano complete
        isset() verifica che l'indice 'Nome' in $_POST esiste
        !empty() verifica che non sia vuota
       */
     
    }
     else
     {
     
    /* qui il codice nel caso la verifica fallisca*/
     

    questo perchè a mio avviso un campo vuoto non viene effettivamente inviato, dunque $POST['Nome'] == ' ' è falso perchè $_POST['Nome'] non esiste nemmeno
    MR. PINK
    "Like a Virgin" is all about a girl who digs a guy with a big dick.
    The whole song is a metaphor for big dicks.

  5. #5
    Non è che potresti postarmi il codice completo come ha fatto Samleo? Come detto sopra, io non ci capisco niente, perciò mi è impossibile "provare ad utilizzare un codice tipo questo", so fare solo copia e incolla.

  6. #6
    Codice PHP:

    <?php
    $mailto 
    "indirizzo@email.it";
    $subject "Modulo contatti";
    $redirect "pagina.html";

    if(isset(
    $_POST['Nome e cognome']) && !empty($_POST['Nome e cognome']) && isset($_POST['Telefono']) && !empty($_POST['Telefono']) && isset($_POST['Privacy']) && !empty($_POST['Privacy'])) {
      foreach(
    $HTTP_POST_VARS as $key => $value)
      {
        
    $message .= $key ': ' $value;
        
    $message .= "\n";
       }
       
    $mail = @mail($mailto,$subject,$message);
       
       if(
    $mail)
        {
         
    header("Location: ".$redirect);
         exit;
        }
        else
         {
         echo 
    "Non è stato possibile inviare il messaggio di posta";
         }
       
    }
    else
    {
    echo 
    "Il nome e cognome, il telefono, l'email e la privacy sono obbligatori";

    }
    ?>
    MR. PINK
    "Like a Virgin" is all about a girl who digs a guy with a big dick.
    The whole song is a metaphor for big dicks.

  7. #7
    Evviva la pappa pronta!
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  8. #8
    @AnFrusg: cmq la variabile post viene inviata lo stesso...anche se la lasci vuota

    Ciao!

  9. #9
    Quindi il codice scritto da AnFrusch non va bene? Adesso sto staccando e non ho il tempo di provarlo, potrò farlo solo domattina.

    Evviva la pappa pronta!
    Non so se hai letto tutta la discussione, ma ti riporto comunque alcune parti della stessa:
    è la primissima volta che ho a che fare con un codice in php [...] Io non posso mettere mano perchè non ci capisco nulla [...] Come detto sopra, io non ci capisco niente, perciò mi è impossibile "provare ad utilizzare un codice tipo questo"
    Questo per far capire che non sono un programmatore e non ho alcuna base di php, ma sono stata costretta ad usare il suddetto codice a me sconosciuto per motivi che non credo interessino agli utenti che si sono gentilmente offerti a darmi una mano. Il forum serve anche a questo, no? :]

  10. #10
    Originariamente inviato da C.S.Talete
    Il forum serve anche a questo, no? :]
    No.
    Per quello che serve a te, c'è il forum "Cerco/Offro Collaborazione".

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

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 © 2025 vBulletin Solutions, Inc. All rights reserved.