Comment donner les paramettres à php (si le f

Résolu/Fermé
fabrice11901 Messages postés 787 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 12 juillet 2007 - 7 sept. 2005 à 13:39
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 - 20 sept. 2005 à 13:22
Bonjour, je ne me rappelle plus d'un code php voici :
j'ai un formulaire de contact, et je voudrai que quand ce formulaire n'est pas remplis que la page envois.php qui envois les infos dans ma boite mail r'envois la page du formulaire et quand ce formulaire contient bien du texte alors là on envoit le formulaire. Si vous pouvez me redonner le code que j'ai perdu merci
Fabrice

25 réponses

kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
7 sept. 2005 à 13:43
Salut,

Y'a pas de code prédéfini, ça dépend de ton script, de ton formulaire...

De manière général, si dans un formulaire tu as:

<textarea name="truc">
Ou bien
<input name="truc">

Tu peux tester sa valeur lors du traitement comme ceci (avec un formulaire de methode post):

if (isset($_POST['truc'])) {
     if (!empty($_POST['truc'])) {
             //Formulaire rempli
     }
     else {
             //Formulaire avec le champs "truc" pas rempli
     }
}
else{
     /*Formulaire avec le champs "truc" pas rempli (je ne sais pas si la variable passe tout de même, même si le champs n'est pas remplis  donc je préfère mettre les deux cas*/
0
fabrice11901 Messages postés 787 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 12 juillet 2007 64
20 sept. 2005 à 13:14
slt je t'envois le lien de sa page :
http://tchatpeople.free.fr/identification et moi sur mon site le même fichier fonctionne ! merci
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
20 sept. 2005 à 13:22
Réessaie après avoir créé un dossier nommé sessions à la racine de ton site.
0
fabrice11901 Messages postés 787 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 12 juillet 2007 64
7 sept. 2005 à 13:52
slt, merci, il s'agit d'un formulaire de 4 chants nom email url comment merci
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
7 sept. 2005 à 13:56
Ben à toi de voir maintenant. Je t'ai filé un exemple, il ne te reste plus qu'à l'adapter à ton cas.
Essaie de le faire par toi même, je veux bien expliquer la démarche mais je ne vais pas m'amuser à faire le travail des autres.

Et si, après avoir essayé, tu n'arrives pas à le mettre en place, demande nous :-)
0
fabrice11901 Messages postés 787 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 12 juillet 2007 64
7 sept. 2005 à 14:01
slt, je suis entrain de regarder le code que tu m'as donné pour voir si je peux l'adapter mais pour un chant un seul) il n'affiche rien même si on ne r'emplis pas le chant. Mais je vais regarder ça mtn que j'ai le code
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
7 sept. 2005 à 14:20
Oui c'est normal que ça n'affiche rien, il faut remplir des instructions dans les blocs.

Tu devrais ecrire deux fonctions:
envoie_mail()
et
renvoie_formulaire()

Et les appliquer comme ceci:
if (isset($_POST['truc'])) {
     if (!empty($_POST['truc'])) {
             envoie_mail();
     }
     else {
             renvoie_formulaire();
     }
}
else{
     renvoie_formulaire();
}


A toi de voir comment définir ces fonctions, ça dépend de ton script.
0
fabrice11901 Messages postés 787 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 12 juillet 2007 64
7 sept. 2005 à 17:33
slt, oui mais j'ai fais un test pour un seul chant en mettant rien dans le formulaire pour voir si le code pho disait quelque chose et il n'affiche rien je vais essayer une autre solution parcontre pour les 4 chants de mon formulaire j'arrive pas à l'adapter si tu peux me donner l'exemple pour 2 chants merci
0

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

Posez votre question
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
7 sept. 2005 à 21:10
slt, oui mais j'ai fais un test pour un seul chant en mettant rien dans le formulaire pour voir si le code pho disait quelque chose et il n'affiche rien

Oui c'est normal. Comme je te l'ai dis, il faut mettre quelque chose dans les blocs (là ou j'ai mis renvoie_formulaire() ou envoie_mail () ) si tu veux qu'il se passe quelque chose. Ces deux fonctions, je les ai inventées, elles n'existent pas. Soit tu les crées soit tu remplaces par autre chose.
Et il faut remplacer 'truc' par le nom de ton champs.

Pour vérifier 2 champs à la fois tu as l'opérateur && (ça veut dire 'et').
Dans le cas ou machin est un autre champs de formulaire:
if (isset($_POST['truc']) && isset($_POST['machin']) {
     if (!empty($_POST['truc']) && !empty($_POST['machin'])) {
             envoie_mail();
     }
     else {
             renvoie_formulaire();
     }
}
else{
     renvoie_formulaire();
}


isset() est une fonction qui permet de vérifier si une variable existe, et empty vérifie si une variable est une chaine de caractère vide, ou si la variable est égale à 0 (ou si sa valeur est False).

Si tu ne connait pas bien le Php, tu devrais regarder l'article sur le php sur ce site.
http://www.commentcamarche.net/php/phpintro.php3
0
fabrice11901 Messages postés 787 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 12 juillet 2007 64
8 sept. 2005 à 17:23
Bonjour, je n'y arrive toujours pas avec les 4 chants, j'ai le message parce error je vous laisse voir l'erreur vous avez le formulaire : http://sons.gratuits.free.fr/formulaire.php vous remplicez n'importe koi et vous faites envoyer, et si vous pouvez m'expliquer le message d'erreur je sais que ça vient d'un pb php mais... merci
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
8 sept. 2005 à 17:27
Parse error: parse error, unexpected '{' in ******************** on line 54


Un problème d'accolade dans la ligne 54.
Probablement parce que j'ai oublié une parenthèse à la fin ici (c'est corrigé):
if (isset($_POST['truc']) && isset($_POST['machin']))
0
fabrice11901 Messages postés 787 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 12 juillet 2007 64
8 sept. 2005 à 17:59
j'ai toujours le mm message erreur parc error ligne 54 je te donne le code que j'ai améliorer pour mes 4 chants j'ai du merder là-dedant :
if (isset($_POST['nom']) && isset($_POST['email'])) && isset($_POST['url']) && isset($_POST['comment']){
if (!empty($_POST['nom']) && !empty($_POST['email'])) && !empty($_POST['url'])) && !empty($_POST['comment'])){
envoie_mail();
}
else {
renvoie_formulaire();
}
}
else{
renvoie_formulaire();
}

si tu peux me dire si y a erreur:) merci
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
8 sept. 2005 à 18:11
if (isset($_POST['nom']) && isset($_POST['email']) &&                   isset($_POST['url']) && isset($_POST['comment']) ){
           if (!empty($_POST['nom']) && !empty($_POST['email']) && !empty($_POST['url']) && !empty($_POST['comment']) ){
                           envoie_mail();
           }
          else {
                           renvoie_formulaire();
          }
}
else{
         renvoie_formulaire();
}


J'ai corrigé quelques soucis de parenthèses.
Mais tu as défini les fonctions envoie_mail() et renvoie_formulaire() ?
0
fabrice11901 Messages postés 787 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 12 juillet 2007 64
8 sept. 2005 à 18:22
bjr, c bon le code fonctionne ! mais en fait pour l'option de renvois mail et renvois formulaire, n'est-il pas possible plutôt de mettre quand tout les chants sont remplis : merci... et quand les chants ne sont pas tous remplis, un message veuillez recommencer en mettant la fonction includ merci
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
8 sept. 2005 à 18:34
Si, tu remplaces par
echo 'merci';

Et tu peux afficher un message, et rediriger au bout d'un certain temps:
echo '<html><head><META HTTP-EQUIV="Refresh" CONTENT="5; URL=http://chemin_vers_page_formulaire"></head>';

echo '<body>merci de remplir tous les champs</body></html>';

à condition de n'avoir pas encore défini le <head>.....

http://www.htmlhelp.com/reference/html40/head/meta.html
0
fabrice11901 Messages postés 787 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 12 juillet 2007 64
8 sept. 2005 à 20:41
bjr, merci mais j'ai encore un pb ! je dois avoir un pb de ( je pense je te donne le code donc avec tou les changements :
if (isset($_POST['nom']) && isset($_POST['email']) && isset($_POST['url']) && isset($_POST['comment']) ){
if (!empty($_POST['nom']) && !empty($_POST['email']) && !empty($_POST['url']) && !empty($_POST['comment']) ) { echo 'merci';} {
echo '<html><head><META HTTP-EQUIV="Refresh" CONTENT="5; URL=http://sons.gratuits.free.fr/formulaire.php"></head>';

echo '<body>merci de remplir tous les champs</body></html>';}
si tu peux me regarder d'ou vient l'erreur... j'ai essayer de trouver mais ça me fait parce error merci
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
8 sept. 2005 à 20:43
Il manque une guillemet ici à la fin (c'est corrigé)
echo '<html><head><META HTTP-EQUIV="Refresh" CONTENT="5>';
0
fabrice11901 Messages postés 787 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 12 juillet 2007 64
8 sept. 2005 à 21:05
slt, je te r'envois donc le code qui ne marche toujours pas si ... tu peux me donner tout le code qui serrai exact pour mes infos :
if (isset($_POST['nom']) && isset($_POST['email']) && isset($_POST['url']) && isset($_POST['comment']) ){
if (!empty($_POST['nom']) && !empty($_POST['email']) && !empty($_POST['url']) && !empty($_POST['comment']) ) { echo 'merci';} {
echo '<html><head><META HTTP-EQUIV="Refresh" CONTENT="5; URL=http://sons.gratuits.free.fr/formulaire.php"></head>';

echo '<body>merci de remplir tous les champs</body> </HTML>}
merci à mon avis ça doit pas être loin ou je doit me gourer quand je fais les copiers collé... merci
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
8 sept. 2005 à 21:54
Bon allez je me lance.

<?php

if ( isset($_POST['url'])      &&
       isset($_POST['nom'])    &&
       isset($_POST['email']) &&    
       isset($_POST['comment']) 
    )
{
       echo 'merci';
}
else
{
       echo  '<html><head><META HTTP-EQUIV="Refresh" CONTENT="5; URL=http://sons.gratuits.free.fr/formulaire.php"></head>'; 
      echo '<body>Merci de remplir tous les champs</body>';
}
?>


J'ai enlevé les conditions avec empty, je pense qu'on peut s'en passer.
0
fabrice11901 Messages postés 787 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 12 juillet 2007 64
9 sept. 2005 à 07:17
slt, bon con code fonctionne à moitier ! cet -à-dire qu'on est remplis les chants ou pas il affiche toujours merci tu peux le tester en faisant le test avec le formulaire :
http://sons.gratuits.free.fr/formulaire
merci
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
9 sept. 2005 à 09:12
Bon alors isset() n'est pas suffisant.
En ce cas essayons comme ça:
if ( isset($_POST['url']))
         $url=$_POST['url'];
if ( isset($_POST['nom']))
         $nom=$_POST['nom'];
if ( isset($_POST['email']))
         $email=$_POST['email'];
if ( isset($_POST['comment']) )
         $comment=$_POST['comment'];

if ($url && $nom && $email && $comment)
{
       echo 'merci';
}
else
{
       echo  '<html><head><META HTTP-EQUIV="Refresh" CONTENT="5; URL=http://sons.gratuits.free.fr/formulaire.php"></head>'; 
      echo '<body>Merci de remplir tous les champs</body>';
}
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
9 sept. 2005 à 09:15
C'était la dernière proposition avant une semaine....
Je pars en mini-vacances, bonne journée :-)

En esperant que ce code passe cette fois...
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
18 sept. 2005 à 21:24
Du nouveau?
0
fabrice11901 Messages postés 787 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 12 juillet 2007 64
19 sept. 2005 à 07:22
Bjr, le code fonctionne mais j'ai un petit pb encore ! :
quand je met le code fonction mail dans le echo (quand le formulaire est bien rempli), le code fonctionne mais le mail ne s'envois pas tu sais pourquoi?
0