Form Content not being sent

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
ptityop
Forum Newbie
Posts: 13
Joined: Thu May 07, 2009 1:48 pm

Form Content not being sent

Post by ptityop »

Hi all!
I found a php script for a contact form that I have slightly modified in order to accomodate more fields....
Everything seems to be working fine BUT, only the message field content gets sent in the email ...I do not know what I should be doing so that the others also get sent ..if anyone could help withe the foloowing piece of code that'll be great ! Thanks in advance

Code: Select all

<?php
    /*
        ********************************************************************************************
        CONFIGURATION
        ********************************************************************************************
    */
    // destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
    $destinataire = 'ptityop@hotmail.com';
 
    // copie ? (envoie une copie au visiteur)
    $copie = 'non'; // 'oui' ou 'non'
 
    // Messages de confirmation du mail
    $message_envoye = "Gracias por su mensaje !";
    $message_non_envoye = "Error , Intenta otra vez.";
 
    // Messages d'erreur du formulaire
    $message_erreur_formulaire = "Send <a href=\"contact.html\">form first</a>.";
    $message_formulaire_invalide = "Hay un error en el formulario, verifica que el email esta bien escrito !.";
 
    /*
        ********************************************************************************************
        FIN DE LA CONFIGURATION
        ********************************************************************************************
    */
 
    // on teste si le formulaire a été soumis
    if (!isset($_POST['envoi']))
    {
        // formulaire non envoyé
        echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
    }
    else
    {
        /*
         * cette fonction sert à nettoyer et enregistrer un texte
         */
        function Rec($text)
        {
            $text = trim($text); // delete white spaces after & before text
            if (1 === get_magic_quotes_gpc())
            {
                $stripslashes = create_function('$txt', 'return stripslashes($txt);');
            }
            else
            {
                $stripslashes = create_function('$txt', 'return $txt;');
            }
 
            // magic quotes ?
            $text = $stripslashes($text);
            $text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
            $text = nl2br($text);
            return $text;
        };
 
        /*
         * Cette fonction sert à vérifier la syntaxe d'un email
         */
        function IsEmail($email)
        {
            $pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
            return (eregi($pattern,$email)) ? true : false;
        };
 
        // formulaire envoyé, on récupère tous les champs.
        $name     = (isset($_POST['name']))     ? Rec($_POST['name'])     : '';
        $email   = (isset($_POST['email']))   ? Rec($_POST['email'])   : '';
        $tourlist   = (isset($_POST['tourlist']))   ? Rec($_POST['tourlist'])   : '';
        $message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
        $room     = (isset($_POST['room']))     ? Rec($_POST['room'])     : '';
        $pax     = (isset($_POST['pax']))     ? Rec($_POST['pax'])     : '';
        $date     = (isset($_POST['date']))     ? Rec($_POST['date'])     : '';
        $visa     = (isset($_POST['visa']))     ? Rec($_POST['visa'])     : '';
 
        // On va vérifier les variables et l'email ...
        $email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
 
        if (($name != '') && ($email != '') && ($tourlist != '') && ($message != ''))
        {
            // les 4 variables sont remplies, on génère puis envoie le mail
            $headers = 'From: '.$name.' <'.$email.'>' . "\r\n";
 
            // envoyer une copie au visiteur ?
            if ($copie == 'oui')
            {
                $cible = $destinataire.','.$email;
            }
            else
            {
                $cible = $destinataire;
            };
 
            // Remplacement de certains caractères spéciaux
            $message = str_replace("'","'",$message);
            $message = str_replace("&#8217;","'",$message);
            $message = str_replace(""",'"',$message);
            $message = str_replace('<br>','',$message);
            $message = str_replace('<br />','',$message);
            $message = str_replace("<","<",$message);
            $message = str_replace(">",">",$message);
            $message = str_replace("&","&",$message);
 
            // Envoi du mail
            if (mail($cible, $tourlist, $message, $headers))
            {
                echo '<p>'.$message_envoye.'</p>'."\n";
            }
            else
            {
                echo '<p>'.$message_non_envoye.'</p>'."\n";
            };
        }
        else
        {
            // une des 3 variables (ou plus) est vide ...
            echo '<p>'.$message_formulaire_invalide.' <a href="contact.php">Back</a></p>'."\n";
        };
    }; // fin du if (!isset($_POST['envoi']))
?>
<script type="text/javascript">
<!--
window.location = "contact.php"
//-->
</script>
 
sureshmaharana
Forum Commoner
Posts: 30
Joined: Thu Jul 03, 2008 4:20 am
Contact:

Re: Form Content not being sent

Post by sureshmaharana »

Hey,

Actually you are sending only the value of $message in mail content, if u want to send another value along with this then add this just befor the commented line i.e. // Remplacement de certains caractères spéciaux:

$message.= $room;

Now you will be able to send the content on $room also.
Post Reply