Problème avec un formulaire mail()

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème avec un formulaire mail()

Re: Problème avec un formulaire mail()

par imikado » 27 juil. 2013, 23:36

Une chose toute bête: la session doit être ouvert au tout début
<?php
session_start();
Lors de l'ouverture d'une session php créé un header, et tout header doit être créé au tout départ
Si vous mettez ceci dans votre code
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" href="/Contact/contact.css" />

<?php
session_start();
Vous commencez par afficher du code meta,link... avant d'ouvrir la session, ce qui revient a envoyer du code avant d'ouvrir la session :(

Problème avec un formulaire mail()

par To175 » 23 juil. 2013, 22:22

Salut, j'ai un problème avec un de mes formulaires, quelqu'un peut m'aider s'il vous plaît? Merci
Le problème c'est que quand on clique et qu'on veut écrire le code dans le champ code2 ou plus, ça renvoie direct au champ du "code1".
Je fais apparaître les champs "code" grâce à une boucle "for", selon les article dans le panier....
J'ai fait une page test pour que vous voyiez ce que ça donne (pas besoin d'être connecté donc).
http://mecraft.site50.net/Epicgames/Shop/test.php

/!\ De plus, en cliquant sur tabulation on peut finalement ecrire mais quand on clique sur "valider" ça vide le formulaire et on ne reçoit aucun mail.

Source :
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" href="/Contact/contact.css" />

<?php
session_start();

        // on a demander à tout recalculer
$_SESSION["prix"] = 2;

    $name = $_SESSION["username"];
    $email = htmlentities($_POST['email']);
    $message = htmlentities($_POST['message']);
    $from = 'MECRAFT';
    $from2 = 'MECRAFT';
    $to = 'xxxgmailcom';
    $to2 = $email;
    $subject = 'MECRAFT';
    $subject2 = 'MECRAFT';
    $montant = $_SESSION["prix"];
    $human = htmlentities($_POST['human']);
    $body2 = "Ton achat sur MeCraft.\n\n\nMerci à toi $name,\nton achat s'élève à un montant de :\n$montant allopass\n\nTon Commentaire:\n $message\n\n\nA bientôt sur MeCraft !";

    $code1 = htmlentities($_POST['code1']);
    $code2 = htmlentities($_POST['code2']);
    $code3 = htmlentities($_POST['code3']);
  
			
    $body = "Pseudo: $name\nEmail: $email\nMontant:\n$montant\n\nCommentaire:\n $message\n\n
CODES:
\n$code1
\n$code2
\n$code3\n\n
";
    if ($_POST['submit']) {
    if ($name != '' && $email != '' && $montant != '') {
        if ($human == 'VERT') {
            if (mail ($to, $subject, $body, $from) && mail ($to2, $subject2, $body2, $from2)) {
?>
<section>
<p style="color:#00CC00;">
<?php
	        echo 'Ton message à été envoyé! Tu vas vite recevoir une confirmation par email.';
?>
</p>
<?php
	    } else { 
?>
<p style="color:#CC0000;">
<?php
	        echo 'Y\'a eu un problème! Ajoute le skype : staffto175'; 
?>
</p>
<?php
	    } 
	} else if ($_POST['submit'] && $human != 'VERT') {
?>
<p style="color:#CC0000;">
<?php
	    echo 'Tu as mal répondu à la question anti-spam!';
?>
</p>
<?php
	}
    } else {
?>
<p style="color:#CC0000;">
<?php
        echo 'Tu dois remplir tous les champs!!';
?>
</p>
<?php
    }
}
?>
Ces codes se suivent sur la même page
<center><img src="/Ress/imgs/boites/panierplein.png"></center>
<hr>
<br>
<form method="post" action="test.php" style="border-right:1px;">

    <label style="color:green;"><img style="height:30px;" src="https://minotar.net/avatar/<?php echo $_SESSION["username"]; ?>/100.png"> <h2><?php echo $_SESSION["username"]; ?></h2></label>
    <label><span style="color:#FFFFFF;">Email</span></label>
    <input name="email" type="email" placeholder="[email protected]"><br>
<br>

<label><span style="color:#FFFFFF;">Montant : <?php echo $_SESSION["prix"]; ?> Allopass</span>
<br>
<?php
if($_SESSION["prix"]<=10)
{
for($allo=1; $allo <= $montant; $allo++)
{
echo '<label><span style="color:#FFFFFF;">Code n°'.$allo.'</span></label>
    <input name="code'.$allo.'" placeholder="Votre code" maxlength="8"><br>';
}

}
else{
echo "Veuillez entrer vos codes dans la partie commentaire ci-dessous :";
}
?>
<br>
    <label><span style="color:#FFFFFF;">Commentaire</span></label>
    <textarea name="message" placeholder="Message"  maxlength="500"></textarea>
    
	<label><span style="color:#FFFFFF;">Quelle couleur est issue du jaune mélangé au bleu? (Anti-spam)</span></label>
    <input name="human" placeholder="ÉCRIVEZ EN MAJ" maxlength="4">
	
    <input id="submit" name="submit" type="submit" value="">

</form>

    </section>
Merci