PHP : Problème de formulaire

Résolu/Fermé
Super_Miaou Messages postés 7 Date d'inscription dimanche 29 juin 2008 Statut Membre Dernière intervention 30 juin 2008 - 29 juin 2008 à 20:48
BartWadela Messages postés 557 Date d'inscription samedi 7 juillet 2007 Statut Membre Dernière intervention 3 février 2010 - 30 juin 2008 à 02:06
Bonjour,
Je suis en train de réaliser un système permettant l'ajout de commentaires.
En attendant, j'ai préparé un petit formulaire pour permettre aux visiteurs de me faire part de leurs remarques.
Le site est encore sur mon disque dur, mais sera très prochainement en ligne.
Concrètement, voici mon problème :
Lorsque j'envoie le formulaire, la page envoi_contact.php est censée vérifier si tout les champs ( sauf l'email ) sont remplis, puis afficher un message de confirmation/d'erreur, rediriger au bout de quelques secondes, et m'envoyer un e-mail contenant les informations du formulaire si tous les champs sont bien remplis.
Voici le code de mon formulaire ( contact.php ) :

<form action="envoi_contact.php" method="post" >
<span class="Style5">Votre pseudo :</span>
<input name="Pseudo" type="text" size="15" maxlength="15" />
<br />
<br />
<span class="Style5">Votre e-mail : </span>
<input name="adresse_mail" type="text" size="30" maxlength="30" />
<br />
<br />
<span class="Style5">Titre de l'article : </span>
<input name="Titre" type="text" size="20" maxlength="20" />
<span class="Style5">rubrique : </span>
<input name="Rubrique" type="text" size="20" maxlength="20" /><br /><br />

<span class="Style5">Commentaire : </span><br/>
<br />
<textarea name="Contenu" cols="50" rows="8" maxlenght="130"></textarea>
<input name="envoyer" type="submit" value="envoyer" />

</form>


Celui de ma page envoi_contact.php

<title>commentaire</title><?php

//Recuperation des données
$Pseudo= $_REQUEST["Pseudo"];
$adresse_mail= $_REQUEST["adresse_mail"];
$Titre = $_REQUEST["Titre"];
$Rubrique = $_REQUEST["Rubrique"];
$Contenu= nl2br($_REQUEST["Contenu"]);

//Vérification des champs du formulaire
//En cas d'erreur de saisie.
if (empty($Pseudo) or empty($Rubrique) or empty($Titre) or empty($Contenu))
{
echo("<b>Un ou plusieurs des champs est vide. Veuillez recommencer ; vous allez être redirigé dans 5 secondes</b>");
?>
<script language="JavaScript">
setTimeout("window.location='contact.php'",5000); // temps t'attente en millisecondes
</script>
<?
}
//Sinon...
else
{

// Message de confirmation
echo("<b>Merci pour votre commentaire . Je le mettrai en ligne dès que possible.<br> Vous allez maintenant être redirigé </b>");
?>
<script language="JavaScript">
setTimeout("window.location='contact.php'",4000); // temps t'attente en millisecondes
</script>
<?

//Envoi de l'email
$adresse_mailAdmin="monadresse@gmail.com";
$titre="Nouveau Commentaire !!!";
$message="Un nouveau commentaire ! ".$Pseudo $adresse_mail $Titre $Rubrique $Contenu;//les infos
mail($adresse_mailAdmin, $titre, $message);

}

?>


Lorsque j'envoie mon formulaire après l'avoir-ou non- bien rempli, je reçois le message suivant :


Un ou plusieurs des champs est vide. Veuillez recommencer ; vous allez être redirigé dans 5 secondes"); ?> Merci pour votre commentaire . Je le mettrai en ligne dès que possible.
Vous allez maintenant être redirigé "); ?>

Je suis en suite redirigé. Pouvais-vous m'aider ?
A voir également:

5 réponses

Matio Messages postés 671 Date d'inscription mardi 6 mars 2007 Statut Membre Dernière intervention 25 janvier 2011 299
29 juin 2008 à 20:56
Salut,
c'est peut-être and (ou &&) à la place de or
if (empty($Pseudo) and empty($Rubrique) and empty($Titre) and empty($Contenu))
0
Super_Miaou Messages postés 7 Date d'inscription dimanche 29 juin 2008 Statut Membre Dernière intervention 30 juin 2008
29 juin 2008 à 21:01
Heu nan ça change rien...Merci quand même
0
Utilisateur anonyme
29 juin 2008 à 21:49
Personnellement, ça marche bien après l'avoir modifié comme ça :

<?php

//Recuperation des données
$Pseudo= $_REQUEST["Pseudo"];
$adresse_mail= $_REQUEST["adresse_mail"];
$Titre = $_REQUEST["Titre"];
$Rubrique = $_REQUEST["Rubrique"];
$Contenu= nl2br($_REQUEST["Contenu"]);

//Vérification des champs du formulaire
//En cas d'erreur de saisie.
if (empty($Pseudo) or empty($Rubrique) or empty($Titre) or empty($Contenu))
{
echo("<b>Un ou plusieurs des champs est vide. Veuillez recommencer ; vous allez être redirigé dans 5 secondes</b>");
?>
<script type="text/javascript">
setTimeout("window.location='index.php'",5000); // temps t'attente en millisecondes
</script>
<?php
}
//Sinon...
else
{

// Message de confirmation
echo("<b>Merci pour votre commentaire . Je le mettrai en ligne dès que possible.<br> Vous allez maintenant être redirigé </b>");
?>
<script type="text/javascript">
setTimeout("window.location='index.php'",4000); // temps t'attente en millisecondes
</script>
<?php

//Envoi de l'email
$adresse_mailAdmin="adresse@gmail.com";
$titre="Nouveau Commentaire !!!";
$message="Un nouveau commentaire ! ". $Pseudo . $adresse_mail . $Titre . $Rubrique . $Contenu;//les infos
mail($adresse_mailAdmin, $titre, $message);

}

?>

ps : j'ai juste modifié les <? en <?php et j'ai rajouté les points pour la concaténation entre tes variables.
0
Super_Miaou Messages postés 7 Date d'inscription dimanche 29 juin 2008 Statut Membre Dernière intervention 30 juin 2008
30 juin 2008 à 01:07
Pas de changement... Marche toujours pas. C'est incompréhensible...Merci quand même Sly34gl3
J'ai essayé en changeant l'envoi du formulaire de POST en GET. Idem.
0
Utilisateur anonyme
30 juin 2008 à 01:17
Bah personnellement ça marche, sinon en restant dans la méthode post, essaie en remplaçant tes $_REQUEST par $_POST.
Et essaie plutôt de vérifier si tes variables existent en testant avec if (isset($_POST['variable'])).
0
Super_Miaou Messages postés 7 Date d'inscription dimanche 29 juin 2008 Statut Membre Dernière intervention 30 juin 2008 > Utilisateur anonyme
30 juin 2008 à 01:25
Heu...J'ai fait le code suivant :

<?php

//Recuperation des données
$Pseudo= $_POST["Pseudo"];

//Si existe
if (isset($_POST['Pseudo']));
echo("OK");

?>

C'est bien comme ça qui fallait le présenter ?
En tout cas rien ne s'affiche, j'arrive sur une page blanche. Je dois en déduire que les variables n'arrivent pas à la page voulue ? Comment est-ce possible ?
0
Utilisateur anonyme
30 juin 2008 à 01:31
Pourrais-tu m'envoyer ton msn par MP? Ca serait plus simple.
0
Utilisateur anonyme
30 juin 2008 à 01:45
Dis moi si tu me l'as envoyé car certaines fois je ne reçois rien...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Super_Miaou Messages postés 7 Date d'inscription dimanche 29 juin 2008 Statut Membre Dernière intervention 30 juin 2008
30 juin 2008 à 01:55
heu oui oui je l'ai envoyée...Je vais recommencer
0
Utilisateur anonyme
30 juin 2008 à 01:59
Toujours rien reçu... Bon à la limite poste ici ton adresse puis supprime là.
0
Super_Miaou Messages postés 7 Date d'inscription dimanche 29 juin 2008 Statut Membre Dernière intervention 30 juin 2008 > Utilisateur anonyme
30 juin 2008 à 02:02
oki c'est fait
0
BartWadela Messages postés 557 Date d'inscription samedi 7 juillet 2007 Statut Membre Dernière intervention 3 février 2010 106
30 juin 2008 à 02:06
tu arrive bien a afficher tes variables = $pseudo // $_REQUEST['pseudo'] // $_POST['pseudo']

avec l'instruction echo ??
0