Formulaire PHP

  • Auteur de la discussion Auteur de la discussion helrod
  • Date de début Date de début
WRInaute discret
Bonjour,

j'ai creer un formulaire php, qui détecte les champs obligatoire si ne son pas rempli.

Quand cela arrive l'utilisateur est obliger de ce rediriger vers la page précédente.

Voici mon code:

Code:
<?php 
$pseudo = $_POST['pseudo'];
$mail = $_POST['mail'];
$message = $_POST['message'];
$priorite = $_POST['priorite'];

if(empty($pseudo)) {echo("<p align=\"center\"><font face=\"Comic Sans MS\" size=\"2\"><font color=\"#FFFFFF\">Veuillez saisir votre pseudo.</font><br><br>");
				   echo("<a href=\"contact.html\">Retour</a>");
exit();
}

if(empty($mail)) {echo("<p align=\"center\"><font face=\"Comic Sans MS\" size=\"2\"><font color=\"#FFFFFF\">Veuillez saisir votre adresse e-mail.</font><br><br>");
				 echo("<a href=\"contact.html\">Retour</a>");
exit();
}

if(empty($message)) {echo("<p align=\"center\"><font face=\"Comic Sans MS\" size=\"2\"><font color=\"#FFFFFF\">Veuillez saisir votre message.</font><br><br>");
				 	echo("<a href=\"contact.html\">Retour</a>");
exit();
}

{
if(copy($mail, $message, $pseudo)) echo("<p align=\"center\"><font face=\"Comic Sans MS\" size=\"2\"><font color=\"#FFFFFF\">Merci <font color=\"#FF0000\"><u>$pseudo</u></font>,<br>votre message a bien été envoyé.<br>Le webmaster va faire son possible pour vous vous répondre au plus vite à: <font color=\"#FF0000\"><u>$mail</u></font></font></font><br><br>");
	  		   			 		   echo("<a href=\"contact.html\">Retour</a>");
}
	  
$recipient = "********@******.**";
$subject = "Contact";

$msg = "Pseudo:\t$pseudo\n";
$msg .= "E-Mail:\t$mail\n";
$msg .= "Message:\t$message\n";
$msg .= "Priorite:\t$priorite\n";

mail($recipient, $subject, $msg);
?>

Kan la personne a bien rempli tout les champs, le mail est bien envoye, et j'ai place un code ki s'affiche seulement a cette endroit.
Le seul problème c'est ke le navigateur m'indique une faute sur ce code.

Code:
{
if(copy($mail, $message, $pseudo)) echo("<p align=\"center\"><font face=\"Comic Sans MS\" size=\"2\"><font color=\"#FFFFFF\">Merci <font color=\"#FF0000\"><u>$pseudo</u></font>,<br>votre message a bien été envoyé.<br>Le webmaster va faire son possible pour vous vous répondre au plus vite à: <font color=\"#FF0000\"><u>$mail</u></font></font></font><br><br>");
	  		   			 		   echo("<a href=\"contact.html\">Retour</a>");
}

Merci de votre aide.
 
WRInaute accro
eh ben colle l erreur, ca sera plus facile. (et mentionne bien les numeros de ligne de ton code)
 
WRInaute occasionnel
copy ( string source , string dest )

copy($mail, $message, $pseudo)

un param en trop
explique-moi, tu veux faire quoi avec ton copy ?
 
WRInaute discret
En faite je v faire apparaitre un texte, grace a ca le texte apparait seulement kan les condition $mail, $message, et $pseudo son rempli.

Ce message la ds ce cas:

Code:
echo("<p align=\"center\"><font face=\"Comic Sans MS\" size=\"2\"><font color=\"#FFFFFF\">Merci <font color=\"#FF0000\"><u>$pseudo</u></font>,<br>votre message a bien été envoyé.<br>Le webmaster va faire son possible pour vous vous répondre au plus vite à: <font color=\"#FF0000\"><u>$mail</u></font></font></font><br><br>"); 
                                 echo("<a href=\"contact.html\">Retour</a>");
 
WRInaute occasionnel
haaaaaaaaaaaaaaaa ok
la ligne avec copy c'est la doc de la fonction.
ce que tu veux faire, c'est plutot

if (!isset($message) OR !isset($mail) OR !isset($pseudo)) {
echo "gnagna gna....";
}

if isset = "si la variable a une valeur (même nulle)"
donc !isset = si la variable n'a pas de valeur
 
WRInaute discret
Et est-ce possible de faire ca :

Code:
if (!isset($message, $mail, $pseudo)) {echo("<p align=\"center\"><font face=\"Comic Sans MS\" size=\"2\"><font color=\"#FFFFFF\">Merci <font color=\"#FF0000\"><u>$pseudo</u></font>,<br>votre message a bien été envoyé.<br>Le webmaster va faire son possible pour vous vous répondre au plus vite à: <font color=\"#FF0000\"><u>$mail</u></font></font></font><br><br>");
	  		   			 		   	  	 				  echo("<a href=\"contact.html\">Retour</a>");
}
 
WRInaute occasionnel
j'ai failli dire non

bool isset ( mixed var , mixed var , ... )

on peut en effet en mettre plusieurs à la suite, et il faut qu'ils aient tous une valeur pour que ca soit OK
je le savais pas, merci ;)
 
H
Haq
Guest
helrod a dit:
Mais a la place de OR ca serait pas plutot || ?

Ce serait pas plus simple d'aller consulter un minimum la doc PHP ? Perso, je la trouve super bien faite, et tu verrais tout de suite comment utiliser chaque fonction à bon escient (et le reste).

Ca se passe ici: http://www.php.net/

Par ailleurs, tu ferais mieux de mettre un contrôle Javascript avant ton contrôle php...
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut