PHP : Problème de formulaire
Résolu
Super_Miaou
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
BartWadela Messages postés 562 Date d'inscription Statut Membre Dernière intervention -
BartWadela Messages postés 562 Date d'inscription Statut Membre Dernière intervention -
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 ?
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:
- PHP : Problème de formulaire
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
5 réponses
Salut,
c'est peut-être and (ou &&) à la place de or
if (empty($Pseudo) and empty($Rubrique) and empty($Titre) and empty($Contenu))
c'est peut-être and (ou &&) à la place de or
if (empty($Pseudo) and empty($Rubrique) and empty($Titre) and empty($Contenu))
Super_Miaou
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
Heu nan ça change rien...Merci quand même
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.
<?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.
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.
J'ai essayé en changeant l'envoi du formulaire de POST en GET. Idem.
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 ?
<?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 ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question