Les Allergies
Alimentaires
Posez votre question Signaler

Comment donner les paramettres à php (si le f [Résolu]

fabrice11901 794Messages postés 31 juillet 2005Date d'inscription - Dernière réponse le 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
Lire la suite 

Comment donner les paramettres à php (si le f »

29 réponses
Réponse
+0
moins plus
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*/
fabrice11901- 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
kilian- 20 sept. 2005 à 13:22
Réessaie après avoir créé un dossier nommé sessions à la racine de ton site.
Ajouter un commentaire
Réponse
+0
moins plus
slt, merci, il s'agit d'un formulaire de 4 chants nom email url comment merci
kilian- 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 :-)
Ajouter un commentaire
Réponse
+0
moins plus
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
kilian- 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.
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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']))
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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() ?
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
Il manque une guillemet ici à la fin (c'est corrigé)
echo '<html><head><META HTTP-EQUIV="Refresh" CONTENT="5>';
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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>';
}
Ajouter un commentaire
Réponse
+0
moins plus
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...
Ajouter un commentaire
Réponse
+0
moins plus
Du nouveau?
Ajouter un commentaire
Réponse
+0
moins plus
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?
Ajouter un commentaire
Ce document intitulé « comment donner les paramettres à php (si le f » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?
comment donner les paramettres à php (si le f - page 2