PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 13-07-2011 14:35:08

steeve
Membre
Inscription : 16-06-2011
Messages : 103

java ne refuse pas l'envoi d'un mail vide

salut a tous,
j'ai un petit javascript qui doit normalement verifier si le formulaire est complet, dans le cas contraire, il affiche un popup pour dire que ce n'est pas bon... jusque la tout va bien, l'alerte se met en route mais quand je clic ok sur le popup pour corrigé, la le formulaire part quand même...

<script language="JavaScript">
  //La fonction JavaScript qui vérifie si les champs obligatoirs du formulaire ont été bien remplis
  <!--
  function envoie(formulaire) {
  if ((document.getElementById('nom').value.length>0)
  &&(document.getElementById('prenom').value.length>0)
  &&(document.getElementById('email').value.length>0)
  &&(document.getElementById('code').value.length>0)
  &&(document.getElementById('message').value.length>0)
   ){
  formulaire.submit();
  } else
  alert('IMPOSSIBLE D\' ENVOER LE FORMULAIRE, VOUS AVEZ OUBLIEZ DE REMPLIRE DES CHAMPS OBLIGATOIRS');
  }
  -->
</script>
<style type="text/css">

quelqu'un peut il m'expliquer d'ou viens le soucis svp.

Hors ligne

#2 13-07-2011 14:39:07

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 191

Re : java ne refuse pas l'envoi d'un mail vide

il manque return false wink
a++

Hors ligne

#3 13-07-2011 14:45:14

steeve
Membre
Inscription : 16-06-2011
Messages : 103

Re : java ne refuse pas l'envoi d'un mail vide

arf merci pierrot, je suis un gros nul hmm

Hors ligne

#4 13-07-2011 15:01:57

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 191

Re : java ne refuse pas l'envoi d'un mail vide

>>je suis un gros nul
je confirme smilelol
a++

Hors ligne

#5 13-07-2011 15:13:27

steeve
Membre
Inscription : 16-06-2011
Messages : 103

Re : java ne refuse pas l'envoi d'un mail vide

si c'es comme ca:

    <script language="JavaScript">
  //La fonction JavaScript qui vérifie si les champs obligatoirs du formulaire ont été bien remplis
<!--
function envoie(formulaire) {
if ((document.getElementById('nom').value.length>0)
&&(document.getElementById('prenom').value.length>0)
&&(document.getElementById('email').value.length>0)
&&(document.getElementById('code').value.length>0)
&&(document.getElementById('message').value.length>0)
 )
 {
formulaire.submit();
}
else
alert('IMPOSSIBLE D\'ENVOYER LE FORMULAIRE, VOUS AVEZ OUBLIE DE REMPLIR DES CHAMPS OBLIGATOIRE');
return false;
}
-->
</script>
<style type="text/css">

l'erreur reste la même... je continu les recherche...

Hors ligne

#6 13-07-2011 18:39:40

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 624
Site Web

Re : java ne refuse pas l'envoi d'un mail vide

Bonsoir,

Si ca peux t'aider, il y a une petite méthode de programmation qui me plait a utiliser, qui consiste à faire l'inverse de ce que tu fais. Je m'explique.
On commence par tester ce qui n'est pas acceptable plutôt que de savoir si les conditions sont remplies pour continuer. On va me dire cela revient au même. Et je vais dire non car :
1) Le moindre hic, hop on sort de la fonction et on affiche le msg d'erreur. Par conséquent, pas de lecture inutile de code dans la fonction (définition des variables, etc...).
2) Le coeur de la fonction n'est pas inclue dans un bloc ou sous bloc de code et lorsque l'on y accède c'est que tout est ok pour le faire (typage des variables, contenu des variables, conditions particulières non remplies, etc...
3) Le deboggage est plus simple
4) La relecture du code est plus aisée et facile lorsque l'on revient dessus quelques temps après.

Dernière modification par Jc (13-07-2011 18:40:32)


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#7 13-07-2011 20:21:13

steeve
Membre
Inscription : 16-06-2011
Messages : 103

Re : java ne refuse pas l'envoi d'un mail vide

merci Jc, c'est cool smile, je comprend bien l’intérêt de ta réponse... le soucis est que je ne fait du php que depuis 3 mois (dur dur mais j'aime !!!), java rien du tout...
c'est pour te dire que j'ai bien compris le principe mais je suis incapable le travail sans le voir. connait tu un tuto a ce sujet ou serait tu en mesure de me l'expliquer toi même, si tu as le temps... je ne parle plus d'un tuto sur java ou mon soucis mais pour comprendre comment tester au fur et a mesure si ca marche aussi pour php car avant de me mettre au java je doit progresser smile.

merci a plus.

Hors ligne

#8 13-07-2011 20:30:57

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 624
Site Web

Re : java ne refuse pas l'envoi d'un mail vide

On est en javascript ici pas en java hein.
En l'etat actuel de ta fonction 2 cas de figure :
1) si la valeur d'une de tes variables est >0 sans pour autant qu'elle soit remplie dans ton formulaire, tu auras un comportement erroné de ta fonction.
2) Ta fonction ne retourne rien quand elle soumet le formulaire.

++


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#9 13-07-2011 20:54:55

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 624
Site Web

Re : java ne refuse pas l'envoi d'un mail vide

J'oubliais : else {


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#10 13-07-2011 21:49:55

steeve
Membre
Inscription : 16-06-2011
Messages : 103

Re : java ne refuse pas l'envoi d'un mail vide

oui,oui javascript roll
bon je reprend tout a zero:

<script language="JavaScript">
function envoie(formulaire){
  if( formulaire.nom.value == "")
  alert('Le champ nom est vide !!!');
  else
  formulaire.submit();
  }
</script>

et aussi j'ai mis le type input "type button" qui était en "submit" la ca marche...
est ce que j'ai bon ?

Hors ligne

#11 13-07-2011 22:17:43

steeve
Membre
Inscription : 16-06-2011
Messages : 103

Re : java ne refuse pas l'envoi d'un mail vide

non, c'est pas bon:
j'ai voulu ajouter la verif du champ prénom qui n’était plus présente et la ça recommence. si je comprend bien, dans un premier temps javascript me dit nom pour le champ prénom mais pour le champ nom qui lui est bien rempli javascript envoie la message quand même.
c'est ca ?

Dernière modification par steeve (13-07-2011 22:20:02)

Hors ligne

#12 14-07-2011 05:45:16

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 624
Site Web

Re : java ne refuse pas l'envoi d'un mail vide

non :


if (formulaire.nom.value==""){alert("blabla");return false;}
if (formulaire.prenom.value==""){alert("blabla");return false;}
// ....
formulaire.submit();
 

Sur ton code initial tu as oublié d'ouvrir l'accolade après le else hein.


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#13 14-07-2011 10:07:50

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 191

Re : java ne refuse pas l'envoi d'un mail vide

tout çà pour çà roll
2 lignes de js devrais suffirent roll

bon courage lol:D:D:D:D:D:D:D:D:D
a++

Hors ligne

#14 14-07-2011 10:58:45

steeve
Membre
Inscription : 16-06-2011
Messages : 103

Re : java ne refuse pas l'envoi d'un mail vide

est ce que je comprend bien ?

si nom = rien / alert() et annule le lien
si prenom = rien /alert() et annule le lien

si non envoie le formulaire

Hors ligne

#15 14-07-2011 11:35:22

steeve
Membre
Inscription : 16-06-2011
Messages : 103

Re : java ne refuse pas l'envoi d'un mail vide

bon je crois que javascript n'est pas encore pour moi, depuis hier j'ai vu au moins 50 post sur des forum, j'ai relu cette page 130 fois mais impossible de comprendre... je vais pas continuer  vous faire perdre de temps !

est-ce possible en php ?

Hors ligne

#16 14-07-2011 11:48:38

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 191

Re : java ne refuse pas l'envoi d'un mail vide

oui, mais quel intérêt ????
a++

Hors ligne

#17 14-07-2011 11:57:38

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 624
Site Web

Re : java ne refuse pas l'envoi d'un mail vide

@ Pierrot : Pour le faire en 2 lignes, faudrait-il encore que ses champs soient nommés en array().
@Steeve: Prends ton code initial, rajoutes un { après ton else, et ca devrait fonctionner malgré tout.

++


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#18 14-07-2011 11:59:16

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 624
Site Web

Re : java ne refuse pas l'envoi d'un mail vide

steeve, au fait, dit nous ce que tu ne comprends pas


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#19 14-07-2011 12:35:18

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 191

Re : java ne refuse pas l'envoi d'un mail vide

>>Pour le faire en 2 lignes, faudrait-il encore que ses champs soient nommés en array().

non wink

a++

Hors ligne

#20 14-07-2011 12:40:18

steeve
Membre
Inscription : 16-06-2011
Messages : 103

Re : java ne refuse pas l'envoi d'un mail vide

en fait, comme vous le savez je suis un débutant.

pour vous expliquer je vais vous parler de moi:
je suis depuis prés de 17 ans utilisateur de chiens de sport, depuis 6 ans entraîneur et j'ai eu l'occasion durant ces 6 dernières années de mettre 3 chiens en final des championnat de France dont un a était vainqueur en 2010. (vous allez comprendre)

si je vous dit ça c'est pour vous dire que les chiens ont très peut de secret pour moi tout comme pour vous les langages...

On m'a souvent poser une questions: pourquoi un chien gratte tout le temps quand il se couche dans son panier ???
je pourrait répondre, c'est génétique il tiens ça de ces ancêtres et vous sauriez qu'il faut chercher coté génétique, mais ou ???

la réalité est que c'est un instinct descendant du loup qui en pleine nature fait ça pour nettoyer l'endroit ou il se couche afin de ce débarasser des parasites qui sont sur le sol et nos chien ne savent meme pas pourquoi ils le font mais c'est inscrit en eux...

la 1er réponse est bonne mais vague pour un néophyte et ne répond pas vraiment a la question sauf pour un connaisseur, la 2eme est la réponse mais pour le savoir vous n'avez rien cherché.

je suis un néophyte et je pense que le genre de réponse que vous me donnez ressemble a ma  1er réponse (ce n'est pas une critique, loin de la).
je ne suis pas asse fort pour ma débrouiller seul si je ne vois pas un tuto ou 1 exemple, je ne comprend pas toujours les sous entendue...

pour finir et pour que rien ne soit mal interprété je suis content d’être parmi vous et j'ai déjà appris de nombreuses choses sur php grâce a vous:

j'ai su faire un site en php, avec 3 sessions différente:
1 espace admin, 1espace commerçant et 1 espace visiteur, 1 système de news et d'autre truc mais je ne vais pas tout cité...

merci pour tout: ce n'est pas un au revoir !!! je viendrais encore vous faire rire, c'est sur.

Hors ligne

#21 14-07-2011 12:43:48

steeve
Membre
Inscription : 16-06-2011
Messages : 103

Re : java ne refuse pas l'envoi d'un mail vide

au final, comme tout le monde je suis capable de faire un copier coller, j'ai fait ca:

<?php
include('config.php')
?>


<?php
// Ici on teste si le formulaire a été envoyé : Envoyer correspondant au nom du bouton
if (isset($_POST['Envoyer'])) {
// Ensuite si aucun champs n'est vide donc <>"" (différent de vide)
if(($_POST['nom'] <> "") AND ($_POST['prenom'] <> "") AND ($_POST['adresse'] <> "") AND ($_POST['ville'] <> "") AND ($_POST['telephone'] <> "") AND ($_POST['email'] <> "") AND ($_POST['message'] <> "")) {
//On créé une varaible qui nous permettra d'afficher le remerciement
$formulaire = "OK";
// On peut envoyer le mail
$msg = "nom:\t$nom\n";
$msg .= "prenom:\t$prenom\n";
$msg .= "adresse:\t$adresse\n\n";
$msg .= "ville:\t$ville\n\n";
$msg .= "telephone:\t$telephone\n\n";
$msg .= "email:\t$email\n\n";
$msg .= "message:\t$message\n\n";
 
$recipient = "...";
$subject = "Formulaire / ...";
 
$mailheaders = "From:...\n";
$mailheaders .= "Reply-To: $sender_email\n\n";
 
mail($recipient, $subject, $msg, $mailheaders);
 
} else { // Sinon, donc si un des champs est vide
$formulaire = "KO";
}
} else { // Ici, si le formulaire n'a pas été envoyé
$formulaire = "KO";
}
?>


</head>
<body>

  <?php
  include('inc/en_tete.html')
  ?>

 
   
  <?php
  include('inc/menu.html')
  ?>


<div id="tempatemo_content_wrapper">

    <div id="templatemo_content">

       
        <div id="content_panel">
         
            <div id="column_w610">
       
        <div class="header_01">Contacter CE-Promotion</div>
        <center> 
     
      <img src="lib/images/contact.jpg" width="45%"></center>

     
     
     
     
     
     
     
     
     
     
     
     
<?php if($formulaire == "KO") { ?>

<form method="post" action="contact.php">
    <p class="double">
        <label for="nom">Nom:   </label>
        <input name="nom" type="text" id="nom" <?php if ((isset($_POST['nom'])) && ($_POST['nom'] == "")) { ?> class="Input_erreur" <?php } ?> onfocus="this.className='';" value="<?php echo $_POST['nom'] ; ?>" />
    </p>
    <p class="double">
        <label for="prenom">Prénom:   </label>
        <input name="prenom" type="text" id="prenom" <?php if ((isset($_POST['prenom'])) && ($_POST['prenom'] == "")) { ?> class="Input_erreur" <?php } ?> onfocus="this.className='';" value="<?php echo $_POST['prenom'] ; ?>"/>
    </p>
    <p class="double">
        <label for="adresse">Adresse:   </label>
        <input name="adresse" type="text" id="adresse" <?php if ((isset($_POST['adresse'])) && ($_POST['adresse'] == "")) { ?> class="Input_erreur" <?php } ?> onfocus="this.className='';" value="<?php echo $_POST['adresse'] ; ?>"/>
    </p>
    <p class="double">
        <label for="ville">Ville:   </label>
        <input type="text" name="ville" id="ville" <?php if ((isset($_POST['ville'])) && ($_POST['ville'] == "")) { ?> class="Input_erreur" <?php } ?> onfocus="this.className='';" value="<?php echo $_POST['ville'] ; ?>"/>
    </p>
    <p class="double">
        <label for="telephone">Téléphone:   </label>
        <input type="text" name="telephone" id="telephone" <?php if ((isset($_POST['telephone'])) && ($_POST['telephone'] == "")) { ?> class="Input_erreur" <?php } ?> onfocus="this.className='';" value="<?php echo $_POST['telephone'] ; ?>"/>
    </p>
 
    <p class="double">
        <label for="email">E.mail:   </label>
        <input name="email" type="text" id="email" <?php if ((isset($_POST['email'])) && ($_POST['email'] == "")) { ?> class="Input_erreur" <?php } ?> onfocus="this.className='';" value="<?php echo $_POST['email'] ; ?>"/>
    </p>
 
    <p class="double">
        <label for="infos">Message:   </label>
        <textarea id="message" name="message" rows="5" cols="30" <?php if ((isset($_POST['message'])) && ($_POST['message'] == "")) { ?> class="Input_erreur" <?php } ?> onfocus="this.className='';"><?php echo $_POST['message'] ; ?></textarea>
    </p>
    <p class="simple">
      <input type="submit" value="Envoyer ces informations" name="Envoyer" />
      <input name="Réinitialiser" type="reset" value="Annuler" onclick="change_class();" />
    </p>
</form>

<?php } ?>
<?php if($formulaire == "OK") { ?>
<div id="contact">Votre mail a bien été envoyé, merci.</div>
<?php } ?>

je garde cette page faute de temps mais je vais revenir dessus car je suis frustré d'abandonner...
merci pour tout a plus steeve.

Dernière modification par steeve (14-07-2011 12:45:29)

Hors ligne

#22 16-07-2011 17:47:12

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 191

Re : java ne refuse pas l'envoi d'un mail vide

un petit exemple pour ne pas envoyer un formulaire avec des champ vide


<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>

<STYLE type="txt/css">
.error {
  font-size: 250%;
  color: #f43a15;
}
</STYLE>

// exemple de formulaire
// tous les champs ayant la class requiered devront être rempli par l'utilisateur
// sinon, le formulaire ne sera pas envoyé
// un pti bonus, le dans le span suivant le champ, mettre le message d'erreur correspondant
 
<form id="monformulaire" action="xx.php" method="post">
  Nom   : <input type="text" name="nom" class="requiered"/> <span class="error">Champ obigatoire</span><br />
  Prénom   : <input type="text" name="prenom" class="requiered"/> <span class="error">Champ obigatoire</span><br />
  <input type="submit" value="Envoyer" />
</form>

<script type="text/javascript">
    $(document).ready(function() {
        $('.error').hide();
        $("#monformulaire").submit( function() {
            var vide = false;
            $('.requiered').each(function(){
               if($(this).val().length ==0){
                   vide = true
                   $(this).next("span").show();
               }else{
                   $(this).next("span").hide();
               };
            }) ;
            return (vide==true) ? false : true;
        });
    });
</script>
 

Hors ligne

#23 16-07-2011 17:50:31

steeve
Membre
Inscription : 16-06-2011
Messages : 103

Re : java ne refuse pas l'envoi d'un mail vide

oulala, rien a vois avec ce que j'avais, je vais regarder ça...
merci beaucoup.

Hors ligne

#24 16-07-2011 17:51:53

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 191

Re : java ne refuse pas l'envoi d'un mail vide

pour plus d'explication, demander wink
a++

Hors ligne

#25 19-07-2011 07:03:12

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 191

Re : java ne refuse pas l'envoi d'un mail vide

Salut,
Alors, tu as regardé ?
Tu as adopté ?
a++

Hors ligne

Pied de page des forums