Visualizzazione dei risultati da 1 a 5 su 5

Discussione: problema form php

  1. #1

    problema form php

    Ho questo script php che invia la mail all'utente mediante l'utilizzo del campo che ha compilato, e una mail a me, la mail per l'utente è scritta in html, ora io vorrei inserire in questo script il controllo dei campi obbligatori e della valità della mail.
    Per favore quest'altra funzione potete integrarla al codice gia in mio possesso?
    Qui c'è il codice:
    <?php
    $mail = strip_tags($_POST['mail']);
    $data_server = date("d-m-Y");
    $ora_server = date("H:i:s");
    $mia_mail = strip_tags($obj->mail);

    $a = $mail;
    $oggetto = "Richiesta Preventivo";
    $messaggio = '
    <html>
    <head>
    <title>Richiesta Preventivo</title>
    </head>
    <body>


    Gentile Cliente</p>


    La sua Richiesta di preventivo è stata presa in carico, al più presto la ricontatteremo per fornirle le informazioni richieste</p>


    Cordiali saluti</p>
    </body>
    </html>
    ';
    $intestazioni = "MIME-Version: 1.0\r\n";
    $intestazioni .= "Content-type: text/html; charset=iso-8859-1\r\n";

    $intestazioni .= "From: Mio nome<mia@mail.it>\r\n";
    $intestazioni .= "Reply-To: mia@mail.it <$mail> \r \n";
    $intestazioni .= "X-Mailer: PHP/" . phpversion();
    mail($a, $oggetto, $messaggio, $intestazioni);
    ?>
    <?php
    // ************Inizio Configurazione***************
    //Indirizzo emai a cui inviare i msg
    $mailto = "mia@mail.it";
    //Oggetto della mail
    $subject = "preventivo";
    //Pagina da mostrare dopo l'invio
    $redirect = "conferma.html";
    // ************Fine Configurazione****************


    foreach($HTTP_POST_VARS as $key => $value) {

    $message .= $key . ': ' . $value;
    $message .= "\n";

    }
    if (@mail($mailto, $subject, $message)) {

    header("Location: $redirect");
    } else {
    // Messaggio in caso di errore
    echo('

    Impossibile inviare. Torna nella pagina precedente e prova ancora, grazie.</p>');
    }
    ?>

  2. #2
    Utente di HTML.it L'avatar di LuckySevenRoX
    Registrato dal
    Sep 2011
    residenza
    Foligno
    Messaggi
    361
    Solitamente i moderatori non approvano che si chieda un codice "su misura", dovresti chiedere dei consigli e capire da dove cominciare per poi arrivarci da solo.. anche perchè sicuramente non è 1 cosa difficile, ma non è nemmeno immediata..

    per quanto riguarda la validità dei campi la cosa migliore da fare è utilizzare javascript (anche se è meglio Jquery), in modo da controllare i valori inseriti e permettere il submit (invio) del form solo se sono rispettate tutte le regole di inserimento dati.

    sicuramente googlando qualcosa tipo "verifica inserimento javascript" o "controllo inserimento javascript" troverai molti esempi che potrai utilizzare nella tua pagina.

    se poi hai problemi più specifici chiedi pure!

  3. #3
    Mi sarebbe piaciuto usare php anche perchè unsando javascript l'utente disattivando la lettura degli script in javascript va ad eludere il controllo .
    Come faccio, perchè io non ci riesco, ad inserire le funzioni di questo script che ora posto a quelle di quello che ho postato prima?

    Ecco lo script dei controlli dei campi


    <?

    $nome = $_POST['nome'];
    $cognome = $_POST['cognome'];
    $via = $_POST['via'];
    $mail = $_POST['mail'];
    $leo = "alboscl@teletu.it";
    $testo = stripslashes($testo);
    $email = stripslashes($email);

    if ($nome=="") {
    print "Tutti i campi del form sono obbligatori...Torna indietro e inserisci il tuo nome!! Grazie!!";
    } elseif ($mail=="") {
    print "Tutti i campi del form sono obbligatori...Torna indietro e inserisci il tuo indirizzo e-mail!! Grazie!!";
    } elseif ($cognome=="") {
    print "Tutti i campi del form sono obbligatori...Torna indietro e inserisci l'oggetto del messaggio!! Grazie!!";
    } elseif ($via=="") {
    print "Tutti i campi del form sono obbligatori...Torna indietro e inserisci il testo del messaggio!! Grazie!!";
    } else {

    $subject = "$oggetto ( $mail )";
    $message = "Messaggio proveniente da: $nome ,

    Indirizzo e-mail: $mail ,

    Testo del messaggio:
    $testo" ;

    mail($leo, $subject, $message);
    echo 'E-mail inviata con successo!!';

    include("a.php"); }

    ?>

  4. #4
    Utente di HTML.it L'avatar di LuckySevenRoX
    Registrato dal
    Sep 2011
    residenza
    Foligno
    Messaggi
    361
    un'idea può essere questa:

    inserisci all'interno del form un campo hidden

    <input type ="hidden" value="inviato" name="stato">


    poi includi entrambi i codici php nella stessa pagina e ci indirizzi l'action form.. all'inizio controlli la variabile $_POST['stato']
    se è settata e il suo valore è "inviato", allora vuol dire che il form è stato inviato e puoi passare a controllare le informazioni normalmente.. in poche parole devi strutturare in questo modo:

    inviomail.php:
    <?php
    $_POST['stato']
    $_POST[...] ecc.
    if ($_POST['stato'] == "inviato") {
    controllo i dati inseriti
    if DATI VALIDI stampo "Messaggio inviato"
    else stampo "torna indietro, campo non valido"
    }
    else
    {
    Mostra la pagina con il form:
    "Invia una mail!"
    <form action="inviomail.php" bla bla bla
    }

    capito?

  5. #5
    Ho inserito il campo hidden come mi hai detto tu ed ho impostato la pagina php, ma appena invio il form mi da errore,
    per favore puoi controllare se ho fatto qualche errore?

    <?php
    $stato = $_POST['stato']
    $data_server = date("d-m-Y");
    $ora_server = date("H:i:s");
    $mia_mail = strip_tags($obj->mail);
    $nome = $_POST['nome'];
    $cognome = $_POST['cognome'];
    $via = $_POST['via'];
    $mail = $_POST['mail'];
    $testo = stripslashes($testo);
    $email = stripslashes($email);

    if ($_POST['stato'] == "inviato") {
    if ($nome=="") {
    print "Tutti i campi del form sono obbligatori...Torna indietro e inserisci il tuo nome!! Grazie!!";
    } elseif ($mail=="") {
    print "Tutti i campi del form sono obbligatori...Torna indietro e inserisci il tuo indirizzo e-mail!! Grazie!!";
    } elseif ($cognome=="") {
    print "Tutti i campi del form sono obbligatori...Torna indietro e inserisci l'oggetto del messaggio!! Grazie!!";
    } elseif ($via=="") {
    print "Tutti i campi del form sono obbligatori...Torna indietro e inserisci il testo del messaggio!! Grazie!!";
    }
    else
    {
    $a = $mail;
    $oggetto = "Richiesta Preventivo";
    $messaggio = '
    <html>
    <head>
    <title>Richiesta Preventivo</title>
    </head>
    <body>


    Gentile Cliente</p>


    La sua Richiesta di preventivo è stata presa in carico, al più presto la ricontatteremo per fornirle le informazioni richieste</p>


    Cordiali saluti</p>
    </body>
    </html>
    ';

    $intestazioni = "MIME-Version: 1.0\r\n";
    $intestazioni .= "Content-type: text/html; charset=iso-8859-1\r\n";

    $intestazioni .= "From: me<me@me.it>\r\n";
    $intestazioni .= "Reply-To: me@me.it <$mail> \r \n";
    $intestazioni .= "X-Mailer: PHP/" . phpversion();
    mail($a, $oggetto, $messaggio, $intestazioni);
    // CHIUSURA INVIO MAIL PER CONTANTE
    ?>
    <?php
    // ************Inizio Configurazione***************
    //Indirizzo emai a cui inviare i msg
    $mailto = "me@me.it";
    //Oggetto della mail
    $subject = "preventivo";
    //Pagina da mostrare dopo l'invio
    $redirect = "conferma.html";
    // ************Fine Configurazione****************


    foreach($HTTP_POST_VARS as $key => $value) {

    $message .= $key . ': ' . $value;
    $message .= "\n";

    }
    if (@mail($mailto, $subject, $message)) {

    header("Location: $redirect");
    } else {
    // Messaggio in caso di errore
    echo('

    Impossibile inviare. Torna nella pagina precedente e prova ancora, grazie.</p>');
    }
    ?>

    Grazie per tutti i consigli

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.