Page 1 sur 1

Mon script PHP ne marche pas et je ne vois pas l'erreur

Posté : 25 juil. 2006, 11:31
par C
Dans le site que je développe, j'ai dû insérer un script Php pour faire remplir des formulaires aux utilisateurs. Le problème c'est qu'il ne fonctionne pas correctement et je ne vois pas où est l'erreur.
Quand un utilisateur remplit tous les champs, il obtient "veuillez remplir tous les champs obligatoires, merci".
Voilà le script (il est un peu long, dsl):
if ($_POST['submit']=="envoyer") {
if ($nom=="" OR $prenom=="" OR $numtel=="" OR $adresse=="" OR $nombre=="") {
echo"<table><tr><td align=\"center\"><p>Veuillez remplir tous les champs obligatoires, merci </p></td></tr></table>";}
else {
echo"<table><tr><td align=\"center\"><p>Votre demande a bien été envoyée, merci de votre visite</p></td></tr></table>";
$to = '[email protected]';
$subject = 'Demande de réservation';
$message = '
Bonjour ! une demande de réservation a été faite avec les informations suivantes:
Stage : '.$Stage.'
Nom : '.$nom.'
Prénom : '.$prenom.'
Societe : '.$societe.'
Adresse : '.$adresse.'
Tel : '.$numtel.'
Email : '.$email.'
Lieu : '.$lieu.'
Date:'.$date.'
Nombre : '.$nombre.'
Commentaires : '.$commentaire.' ';
$headers = 'From: [email protected]' . "\r\n" .
'Reply-To: [email protected]' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
}
}
else {

Code : Tout sélectionner

<h3>Demande de réservation </h3> <form id="devis" name="devis" method="post" action="info.php"> <table border="0" align="center"> <tr><td><input type="hidden" name="demandedevis" size="35"/></td></tr> <tr><td align="right" width="150">Stage :</td><td> <select name="Stage"> <option>Initiation &agrave; la d&eacute;gustation</option> <option>Alsace</option> <option>Beaujolais et Vall&eacute;e de la Loire</option> <option>Bordelais</option> <option>Bourgogne</option> <option>Champagne</option> <option>Languedoc-Roussillon</option> <option>Provence et Corse</option> <option>Sud-Ouest</option> <option>Vall&eacute;e de la Loire</option> <option>Vins europ&eacute;ens</option> <option>Vins mondiaux</option> </select></td></tr> <tr><td align="right" width="150">Nom* :</td><td> <input type="text" name="nom" size="30"/></td></tr> <tr><td align="right" width="150">Prénom* :</td><td> <input type="text" name="prenom" size="30" /></td></tr> <tr><td align="right" width="150">Société :</td><td><input type="text" name="societe" size="30" /></td></tr> <td align="right" width="150">T&eacute;l&eacute;phone* :</td><td><input type="text" name="numtel" size="30"/></td></tr> <tr><td align="right" width="150">Adresse* :</td><td><input type="text" name="adresse" size="30"/></td></tr> <tr><td align="right" width="150">E-mail :</td><td><input type="text" name="email" size="30"/></td></tr> <tr><td align="right" width="150">Lieu de stage :</td><td><input type="text" name="lieu" size="30"/></td></tr> <tr><td align="right" width="150">Nombre de personnes* :</td><td><input type="text" name="nombre"size="30"/></td></tr> <tr><td align="right" width="150">Date envisagée :</td><td><input type="text" name="date" size="30"/></td></tr> <tr><td colspan="2">&nbsp;<br /></td></tr> <tr><td align="right">Commentaires :</td><td><textarea cols="25 "rows="7" name="commentaire"></textarea></td></tr> <tr><td></td><td align="center"><br /><input type="submit" value="envoyer" name="submit"/></td></tr> <input type="hidden" name="page" value="<? echo"$p" ?>" /> </table></form> *: champs obligatoires
 } 
Si vous savez où est l'erreur...

Posté : 25 juil. 2006, 12:02
par aelurus
Essaye
if ($_POST[nom]=="" && $_POST[prenom]=="" && $_POST[numtel]=="" && $_POST[adresse]=="" && $_POST[nombre]=="")
a la place de
if ($nom=="" OR $prenom=="" OR $numtel=="" OR $adresse=="" OR $nombre=="")
si je ne me troupe pas.
Ent tout cas le retour des variable d'un formulaire ne sont pas
 $nom mais $_POST[nom] 
Pour tester tes retour de variable fait un
print_r($_POST);

Posté : 25 juil. 2006, 16:43
par C
Apparemment ça ne vient pas de là.
Ce qui est étrange c'est que c'est sur mon site qu'il ne fonctionne pas car sur le serveur d'un copain, il marche très bien.
Est-ce que l'erreur peut venir d'autre chose que le sript?

Posté : 25 juil. 2006, 16:59
par aelurus
Pour ne pas heurter certains ^^
essaye
<? echo "Wé powa";?>
et
<?php echo "Wé powaé;?>
sur ton post a tout hasard, si aucun des deux ne fonctionne c que soucis avec ton install de php.
Si les deux marche je vois pas :(
Si l'un des deux marche vérifie si tu as mit les meme tag de declarationpour php ou modifie ton php.ini

Posté : 25 juil. 2006, 20:26
par charabia
if ($_POST['submit']=="envoyer")
{
	if ( empty($_POST['nom']) || empty($_POST['prenom']) || empty($_POST['numtel']) || empty($_POST['adresse']) || empty($_POST['nombre']) )
	{
		echo "<table><tr><td align=\"center\"><p>Veuillez remplir tous les champs obligatoires, merci </p></td></tr></table>";
	}
	else
	{ 
	echo "<table><tr><td align=\"center\"><p>Votre demande a bien été envoyée, merci de votre visite</p></td></tr></table>"; 
	$to = '[email protected]'; 
	$subject = 'Demande de réservation'; 
	$message = ' 
	Bonjour ! une demande de réservation a été faite avec les informations suivantes: 
	Stage : '.$Stage.' 
	Nom : '.$nom.' 
	Prénom : '.$prenom.' 
	Societe : '.$societe.' 
	Adresse : '.$adresse.' 
	Tel : '.$numtel.' 
	Email : '.$email.' 
	Lieu : '.$lieu.' 
	Date:'.$date.' 
	Nombre : '.$nombre.' 
	Commentaires : '.$commentaire.' '; 
	$headers = 'From: [email protected]' . "\r\n" . 
	'Reply-To: [email protected]' . "\r\n" . 
	'X-Mailer: PHP/' . phpversion(); 
	mail($to, $subject, $message, $headers); 
	} 
} 
else
{

Posté : 25 juil. 2006, 21:38
par DocType
if ($_POST['submit']=="envoyer") 
{ 
    if ( empty($_POST['nom']) || empty($_POST['prenom']) || empty($_POST['numtel']) || empty($_POST['adresse']) || empty($_POST['nombre']) ) 
    { 
        echo "<table><tr><td align=\"center\"><p>Veuillez remplir tous les champs obligatoires, merci </p></td></tr></table>"; 
    } 
    else 
    { 
    echo "<table><tr><td align=\"center\"><p>Votre demande a bien été envoyée, merci de votre visite</p></td></tr></table>"; 
    $to = '[email protected]'; 
    $subject = 'Demande de réservation'; 
    $message = ' 
    Bonjour ! une demande de réservation a été faite avec les informations suivantes: 
    Stage : '.$_POST['Stage'].' 
    Nom : '.$_POST['nom'].' 
    Prénom : '.$_POST['prenom'].' 
    Societe : '.$_POST['societe'].' 
    Adresse : '.$_POST['adresse'].' 
    Tel : '.$_POST['numtel'].' 
    Email : '.$_POST['email'].' 
    Lieu : '.$_POST['lieu'].' 
    Date:'.$_POST['date'].' 
    Nombre : '.$_POST['nombre'].' 
    Commentaires : '.$_POST['commentaire'].' '; 
    $headers = 'From: [email protected]' . "\r\n" . 
    'Reply-To: [email protected]' . "\r\n" . 
    'X-Mailer: PHP/' . phpversion(); 
    mail($to, $subject, $message, $headers); 
    } 
} 
else 
{ 

Posté : 25 juil. 2006, 22:58
par charabia
oups j'avais oublié l'intérieur de l'action lol

Merci PRoGRaFLaSH ;)