Formulaire php



  • Bonjour :

    Je voudrais mettre un formulaire qui ne passe pas par la boite mail , je voudrais savoir si le serveur est en php , et quelle lien mettre sur la ligne de traitement des données….
    En sachant que je ne comprend pas grand chose au langage php....
    Ou si des fois quelqu'un aurait un formulaire a copier coller sur mon site et qui envoie les infos sur mon adresse freeheberg , se serait encore mieux , je sais j'en demande beaucoup...

    merci a vous



  • je n'ai pas beaucoup compris ^^ tu veux un formulaire d'envoi d'email en PHP ?



  • Oui c'est tout a fait ca , je souhaite avoir un formulaire tout fait pour moi , car j'y panne keudalle (lol)))



  • Avant de vouloir courir, il faut apprendre à marcher :wink:

    http://www.siteduzero.com/tutoriel-3-14 … c-php.html



  • Une petite recherche sur le forum et BOUM http://www.freeheberg.com/phpbb2/viewtopic.php?t=3012 ^^



  • Je sais , j'ai ete sur zero et le lien , mais je comprend vraiment pas grand chose a tout ca….

    merci a vous....



  • Je comprend toujours pas le scrip php , je suis vraiment une brelle la dedans , je voudrais un formulaire , j'ai vraiment essayer beaucoup de script mais j'arrive pas a les configurer , sa me met toujours une erreur , même avec le site du zéro je nage dedans….J'aurais au moins essayer .....On peux pas être bon en tout hein....

    Je vous remercie quand même d'avoir essayer de m'aider , mais la j'abandonne...



  • Bonjour,

    en fait, il faut avoir un page HTML au moins.
    Cette page contiendra un formulaire (savez-vous comment faire un formulaire ?)

    Ensuite, à la validation du formulaire, il faut renvoyer vers un page PHP.
    Un page PHP est une page contenant du code qui va être exécuté sur le serveur.

    Voici un exemple de page PHP :

    <?php
         $headers ='From: "nom"<adresse@fai.fr>'."n";
         $headers .='Reply-To: adresse_de_reponse@fai.fr'."n";
         $headers .='Content-Type: text/plain; charset="iso-8859-1"'."n";
         $headers .='Content-Transfer-Encoding: 8bit';
    
         if(mail('adresse_du_destinataire@fai.fr', 'Sujet', 'Message de test', $headers))
         {
              echo 'Le message a bien été envoyé';
         }
         else
         {
              echo 'Le message n'a pu être envoyé';
         }
    ?> 
    

    Il faudra récupérer les données du formulaire (savez-vous comment faire ?)



  • Oui, si tu veut faire un formulaire, le mieux c'est d'aller sur le SdZ, de suivre le tuto spécial Formulaire dans la partie PHP/MySQL…

    Si tu ne comprend pas, c'est parce qu'il faut aussi suivre le reste x)

    Allez, comme je suis sympa (et que j'adore les formulaires), dis moi ce que tu veut faire avec ton formulaire, et je te le code (sois precis, hein !)



  • Bonjour,

    Le code php fournit n'est pas adapté pour un formulaire …

    Il faudrait peut-être récupérer ce que l'on post non ? De plus il faudrait un capcha, car formulaire avec envoie de mail derrière sa peut être dangereux. (si c'est dans un espace membre pas la peine).

    Le capcha est un fait maison :) Pas copier sur la toile ...

    Allez on y va le php que j'ai vite fait préparer et commenté pour que tu comprenne. Bien sûr tu pourra rajouter autant de champs que tu voudra au formulaire.

    il faut l'appelé mail.php (si tu change oublie pas de changer dans le code HTML).

    <?php
    
    //on regarde que ce soit bien un humain ;)
    session_start();
    if ($_SESSION['captcha'] != $_POST['captcha']) {
    header('location: ta_page_error_captcha.html');
    }else {
    
    //on récupére du formulaire
    $nom              = $_POST['nom'];
    $prenom           = $_POST['prenom'];
    $commentaire      = $_POST['commentaires'];
    $mail             = $_POST['mail'];
    
    //on regarde si le formulaire est bien remplit
    if (empty($nom) || empty($prenom) || empty($commentaire) || empty($mail)) {
    header('location: ta_page_erreur_nom_rempli.html');
    }else{
    
    //on définie les entéte d'envoies
    $destinataire = "ton@email.fr";
    $expediteur   = "Ton nom ou ta société";
    
    //les entêtes
    $reponse      = $expediteur;
    $sujet        = "Mr $nom $prenom vous &eacute;crit via le formulaire";
    
    //on affiche l'e-mail
    $codehtml=
    "<html><body>".
    "<strong>Nom du demandeur</strong> : $nom <br><br>".
    "<strong>Pr&eacute;nom du demandeur</strong> : $prenom<br><br>".
    "<strong>E-mail</strong> : $mail<br><br>".
    "<strong>Commentaire</strong> : $commentaire".
    "</body></html>";
    
    //on redirige celon si c'est envoyé ou non
    if (@mail($destinataire,  "$sujet", $codehtml,"From: $expediteurrn"."Reply-To: $reponsern"."Content-Type: text/html; charset="iso-8859-1"rn")) {
    header('location: page_ok_ces_envoye.html');
    } else {
    header('location: page_erreur_non_envoye.html');
    }
    }
    }
    ?>
    
    

    Ensuite le captcha.php, il n'y a rien à modifier dedans !

    <?php
    session_start();
    
    function rastgele($length=5,$type=1){
    $key = '';
    switch($type){
    case 2: 
    $pattern ="ABCDEFGHJKMNPQRSTUVWXYZABCDEFGHJKMNPQRSTUVWXYZ";
    break;
    case 3:
    $pattern = "2345678923456789234567892345678923456789";
    break;
    default:
    $pattern = "23456789ABCDEFGHJKMNPQRSTUVWXYZ";
    break;
    }
    for($i=0;$i<$length;$i++){
    $key .= $pattern{rand(0,35)};
    }
    return $key;
    }
    
    $en=100;
    $boy=25;
    $sayi = rastgele(7,1);
    $_SESSION['captcha'] = $sayi;
    $sercankd = imagecreatefromgif("images/captchabg.gif");
    $b = imagecolorallocate($sercankd,100,100,50);
    $s = imagecolorallocate($sercankd,0,0,0);
    imagefill($sercankd,0,0,$s);
    imageline($sercankd,20,50,$en,$boy,$b);
    imagestring($sercankd,3,27,7,$sayi,$b);
    Header("content-type:image/gif");
    imagegif($sercankd);
    imagedestroy($sercankd);
    ?>
    
    

    La partie HTML du formulaire : (tu peut appeler ta page comme tu le souhaite !)

    <form action="mail.php" method="post">
    <TABLE BORDER=1>
    <TR>
    	<TD>Nom*</TD>
    	<TD>
    	<INPUT type=text name="nom">
    	</TD>
    </TR>
    
    <TR>
    	<TD>Prénom*</TD>
    	<TD>
    	<INPUT type=text name="prenom">
    	</TD>
    </TR>
    <TR>
    	<TD>Adresse e-mail*</TD>
    	<TD>
    	<INPUT type=text name="mail">
    	</TD>
    </TR>
    <TR>
    	<TD>Commentaires*</TD>
    	<TD>
    	<TEXTAREA rows="3" name="commentaires">Tapez ici vos commentaires</TEXTAREA>
    	</TD>
    </TR>
    <tr></tr>
    <tr></tr>
    <tr></tr>
    <TR>
    	<TD colspan="4"><center>Recopier le texte de l'image</center></TD>
    	<tr></tr>
    	<td><img src="captcha.php" id="image"></td>
    	<TD>
    	<input name="captcha" size="20" maxlength="20" type="text">
    	</TD>
    </TR>
    <TR>
    <td>* Champs obligatoire</td>
    </TR>
    <TR>
    	<TD COLSPAN=2>
    	<br><br><center><input name="submit" type="submit" value="envoyer"></center>
    	</TD>
    </TR>
    </TABLE>
    </FORM>
    
    

    Join au post il y a le Fichier pour l'image du captcha à placer dans le dossiers images.

    Enfin si tu enregistre les requêtes récupérer par le formulaire dans ta base de donnée il faut sécurisé en utilisant mysql_real_escape_string() pour les chaîne de caractère et avec intval() pour les suites numérique, sa protège des injections SQL. Enfin si tu enregistre dans ta base de donnée et que tu les ressorts pour les afficher utilise la fonction htmlentities() contre les injections XSS, mais à utiliser au moment de l'affichage et non de l'enregistrement.

    pour les utiliser : tafonction() (celle en haut par exemple) tafonction($variable);

    Voilà :)


Se connecter pour répondre
 

Il semble que votre connexion ait été perdue, veuillez patienter pendant que nous vous re-connectons.