Partage
  • Partager sur Facebook
  • Partager sur Twitter

mes POST ne passent pas avec ajax pour mon .php

    20 octobre 2016 à 23:15:12

    Bonsoir 'espère que vous allez super bien. j'ai un souci avec mon formulaire. Je post mes variable via ajax (que je ne maîtrise pas trop) les données que je post ne vont pas vers le fichier auquel ils devraient aller. en fait il s'agit d'un module de push SMS et il faut forcément envoyé les données par AJAX. je vous soumet mes codes afin que vous m'aidez à trouver là où j'ai fais la bêtise

    <?php
    
        require_once("../../includes/incfiles/connexion.inc.php");
    
    
                $reqnumero="SELECT id, nom, numero FROM sms ORDER BY id DESC";
                $resultatnumero=mysql_query($reqnumero) or die(mysql_error());
    
    ?>
    
    <div style="width:890px; margin:auto; padding-top:0px; text-align:center"><div style="text-align:left; margin-left:2px; margin-right:2px; vertical-align:top;">
        <div style="width:250px; display:table-cell; vertical-align:top;">        
            <div style="margin-top:8px; padding-left:0px;"><img src="<?php echo $URL;?>images/contact.png" width="180" height="250" alt="Contactez-nous" /></br></br>
                
                <div id="leftside"> 
                    <div class="utilisateur">
                        <img src="<?php echo $URL;?>images/parametres2.png" width="40" height="40" alt="Parametres" /><b style="color: black; font-size:14px; padding:2px 5px; text-transform:uppercase">parametres</b>
                    </div>
                        <div class="textedeco">
                            <img src="<?php echo $URL;?>images/ajouter.png" width="20" height="20" alt="Ajouter" /><a style="margin-left:5px;" href="">Ajouter groupe</a><br/>
                            <img src="<?php echo $URL;?>images/modifier.png" width="20" height="20" alt="Ajouter" /><a style="margin-left:5px;" href="">Envoyer SMS</a><br/>
                            <img src="<?php echo $URL;?>images/afficher.ico" width="20" height="20" alt="Ajouter" /><a style="margin-left:5px;" href="<?php echo $UP;?>/includes/content/logout.page.php">Se déconnecter</a><br/>
                        </div>
            </div>
                </div> 
        </div>              <!-- onsubmit="return envoyerSMS();"  -->
    
        <div style="width:5px; display:table-cell; vertical-align:top;">&nbsp;</div>
    
          <!-- voici tout le form contenu dans l'id #contactDiv -->
        <div id="contactDiv" style="width:338px; display:table-cell; vertical-align:top; height:auto;">
            <form name="ref_form" id="ref_form" class="formulaire" onsubmit="return envoyerSMS();" enctype="application/x-www-form-urlencoded" style="padding:0 3px 0 0px;">
    
                <ul><li style="padding:12px 0 12px 5px;">
                     <h2>Envoyer un ou des SMS instantané ou en différé</h2>
                     <span class="required_notification">* Champs requis</span>
                </li></ul>
                <fieldset class="c corn-all ln20" style="padding:5px 5px 3px 5px; margin:0; min-height:75px;"><legend style="color:#F00;"><b>Remplir les champs pour envoyer un SMS</b></legend>
                <ul>
    
                    <li>
                    <label class="label1" for="text">Groupe de destinataires</label>
    
                            <select type="text" style="font-weight:bold; width:375px; max-width:375px; min-width:375px; height:30px; max-height:30px min-height:30px;" name="<">
                                
                                <option value="" selected="selected">Choisissez un groupe de destinataires</option>
                                <?php while($numero=mysql_fetch_array($resultatnumero)) {?>                           
                                <option value="<?php echo $numero['numero'] ;?>"><?php echo $numero['nom'] ;?></option>
                                <?php } ?>   
    
                            </select>                                  
                    </li>   
    
                </ul>
    
                                     <!-- voici la partie corps du message contenu dans l'id #contenu -->
                
                    <div id="contenu" style="display:block; clear:both;"><table border="0" cellpadding="0" cellspacing="0">
                            <tr><td width="590" valign="top" style="padding-left:5px; font-size:14px; padding-top:10px;"><b>Message &agrave; envoyer</b><br>&nbsp;
                            <textarea name="message" id="message" style="font-size:14px; font-weight:bold; margin-left:0px; overflow:auto; width:590px; min-width:590px; max-width:590px; min-height:180px; max-height:180px; height:180px;" placeholder="Saisissez ici votre message" ></textarea></td></tr></table>
                            <p id="compteur">0 mots | 0 Caractere / <b style="color:red;">1 SMS = 160 Caractères</b>
    
                            </p>
                    </div>
                
                
                    <br/><li style="display:inline;"><button class="submit" type="submit" name="submit" style="width:100px; font-weight:bold; cursor:pointer; padding:5px 10px; margin-bottom:10px;">Envoyez SMS</button></li>
                </ul></fieldset>
            </form>
    
       </div>
        </div>
        </div>
    
    
    <script>
    $(document).ready(function(e) {
     
      $('#message').keyup(function() {
     
        var nombreCaractere = $(this).val().length;
     
        var nombreMots = jQuery.trim($(this).val()).split(' ').length;
        if($(this).val() === '') {
            nombreMots = 0;
        }
     
        var msg = ' ' + nombreMots + ' mot(s) | ' + nombreCaractere + ' Caractere(s) - Attention : 1 SMS = 160 caractères';
        $('#compteur').text(msg);
        if (nombreCaractere > 160) { $('#compteur').addClass("mauvais"); } else { $('#compteur').removeClass("mauvais"); }
     
      })
     
    });
    </script>
    
        <script type="text/javascript">
            function envoyerSMS(){
                var donnees = $('#ref_form').serialize();)];
                $.ajax({type:'POST', url:"../../includes/incfiles/api-sms-oceanic.inc.php", data:donnees, 
                    success:function(d){r=d.split("##"); 
                        //alert(d);
                        c='<div class="c" id="demon-sms-all" style="display:block; width:100%; max-height:30px; background:#6f0707; color:#FFF; position:fixed; top:0; left:0; "><div style="text-align:center; width:100%;"><h1><b>Envoi du SMS en cours...</b><br><b>Merci de patienter...</b></h1></div><div id="demon-aloha" style="text-align:center"></div></div>';
                        $('#body').append(c);
                        $("#demon-aloha").load(r[0], r[1], function( response, status, xhr ){
                            $("#demon-sms-all").slideUp(1000, function(){
                                $('#demon-sms-all').remove();
                                alert("SMS envoyé"); $('#ref_form').reset();
                                window.location.reload();
                                $('#ref_form'=="");
                            });
                        });  
                    },
                    error:function(){}
                });
                return false;
            }
            
    </script>

    mon code php

    <?php
    
    	require_once("connexion.inc.php");
          //var_dump($_POST);
    
          $user=$_POST['userid'];
                      $grp=$_POST['groupe'];
                      $msg=urlencode(htmlspecialchars($_POST['message']));
    
                      $nbre2caracteres=strlen($msg);
                      $nbredest=substr_count($grp , ';');
    
                            if ($nbre2caracteres<=160) {
                                  $nbremsg="1";
                               } else{
                                        if ($nbre2caracteres<=320) {
                                              $nbremsg="2";
                                        }
                                        else{
                                              if ($nbre2caracteres<=480) {
                                                    $nbremsg="3";
                                              }else{
                                                    if ($nbre2caracteres<=640) {
                                                          $nbremsg="4";
                                                    }else{
                                                          if ($nbre2caracteres<=800) {
                                                                $nbremsg="5";
                                                          }
                                                    }
    
                                              }
                                        }
                            $total=$nbre2caracteres*$nbredest;
    
    
    
                      $ip=$_SERVER['REMOTE_ADDR'];
    
                      $req="SELECT login from logs where md5(id)='$user'";
                      $res=mysql_query($req);
                      $user=mysql_fetch_array($res) or die(mysql_error());
    
                      $username=$user['login'];                              
                      $heure = date("H:i:s");
                      $action='envoyer SMS';
                      $dc= date('d/m/20y');
                      $hdate=$dc.' - '.$heure;
    
                      $add=mysql_query("INSERT INTO historique(login, numero, message, nbreDest, nbrecaract, nbremsg, total, hdate) VALUES ('$username', '$grp', '$msg', '$nbreDest', '$nbre2caracteres', '$total', '$hdate')") or die(mysql_error());
    
                      $requeteaction="INSERT INTO logs (login, heure, action, ip) VALUES ('$username', '$hdate', '$action','$ip')" ;
                      $resultat=mysql_query($requeteaction);
    
            ////////////////////////////////////API OCEANIC SMS DEBUT///////////////////////////////////////          
                	$message=$msg;
                      $destinataires=$grp;
                	$api="1234"; $user="aaaaaa"; $pword="xxxxxxxx"; $expediteur=$username;
                	$OC_SMS="http://74.207.224.67/api/http/sendmsg.php"; 
                	echo "$OC_SMS##api_id=$api&user=$user&password=$pword&from=$expediteur&to=$destinataires&text=$message";
    	           }else{
                      echo "erreur de reception";
                     }
    ?>
    




    • Partager sur Facebook
    • Partager sur Twitter

    merci pour votre coup de main. Il me sera très utile. visitez ma page Websoft-Enterprise

      21 octobre 2016 à 8:13:59

      Est-ce que tu utilises la console Javascript ?

      La ligne 99 de ton fichier HTML/Javascript comporte une erreur de syntaxe que la console du navigateur te fait remarquer. Tu ne peux donc pas appeler ta fonction et exécuter le code à l'intérieur.

      • Partager sur Facebook
      • Partager sur Twitter
        21 octobre 2016 à 8:56:05

        Bonjour,

        Ta ligne 110 aussi est mauvaise.

        Mais surtout ton indentation est catastrophique!!! Faut vraiment que tu fasses des efforts sur ca:

        Tu as des IDE ou éditeur de code qui font ca tout seul:

        function envoyerSMS() {
        	var donnees = $('#ref_form').serialize();
        	$.ajax({
        		type: 'POST',
        		url: "../../includes/incfiles/api-sms-oceanic.inc.php",
        		data: donnees,
        		success: function(d) {
        			r = d.split("##");
        			//alert(d);
        			c = '<div class="c" id="demon-sms-all" style="display:block; width:100%; max-height:30px; background:#6f0707; color:#FFF; position:fixed; top:0; left:0; "><div style="text-align:center; width:100%;"><h1><b>Envoi du SMS en cours...</b><br><b>Merci de patienter...</b></h1></div><div id="demon-aloha" style="text-align:center"></div></div>';
        			$('#body').append(c);
        			$("#demon-aloha").load(r[0], r[1], function(response, status, xhr) {
        				$("#demon-sms-all").slideUp(1000, function() {
        					$('#demon-sms-all').remove();
        					alert("SMS envoyé");
        					$('#ref_form').reset();
        					window.location.reload();
        				});
        			});
        		},
        		error: function() {}
        	});
        	return false;
        }



        • Partager sur Facebook
        • Partager sur Twitter
        Un petit +1 si je vous ai aidé est toujours appréciable :).
          21 octobre 2016 à 9:02:02

          Merci Rewieer et krogoth.

          Merci mais malgré ça, les données ne vont toujours pas dans le fichier php (le chemin vers ce fichier est correct).

          des insertions devraient être faites dans la base si réellement les info du fichier html lui avaient été transmises :(

          php

          <?php
           
              require_once("connexion.inc.php");
                //var_dump($_POST);
           
                $user=$_POST['userid'];
                            $grp=$_POST['groupe'];
                            $msg=urlencode(htmlspecialchars($_POST['message']));
           
                            $nbre2caracteres=strlen($msg);
                            $nbredest=substr_count($grp , ';');
           
                                  if ($nbre2caracteres<=160) {
                                        $nbremsg="1";
                                     } else{
                                              if ($nbre2caracteres<=320) {
                                                    $nbremsg="2";
                                              }
                                              else{
                                                    if ($nbre2caracteres<=480) {
                                                          $nbremsg="3";
                                                    }else{
                                                          if ($nbre2caracteres<=640) {
                                                                $nbremsg="4";
                                                          }else{
                                                                if ($nbre2caracteres<=800) {
                                                                      $nbremsg="5";
                                                                }
                                                          }
           
                                                    }
                                              }
                                  $total=$nbre2caracteres*$nbredest;
           
           
           
                            $ip=$_SERVER['REMOTE_ADDR'];
           
                            $req="SELECT login from logs where md5(id)='$user'";
                            $res=mysql_query($req);
                            $user=mysql_fetch_array($res) or die(mysql_error());
           
                            $username=$user['login'];                             
                            $heure = date("H:i:s");
                            $action='envoyer SMS';
                            $dc= date('d/m/20y');
                            $hdate=$dc.' - '.$heure;
           
                            $add=mysql_query("INSERT INTO historique(login, numero, message, nbreDest, nbrecaract, nbremsg, total, hdate) VALUES ('$username', '$grp', '$msg', '$nbreDest', '$nbre2caracteres', '$total', '$hdate')") or die(mysql_error());
           
                            $requeteaction="INSERT INTO logs (login, heure, action, ip) VALUES ('$username', '$hdate', '$action','$ip')" ;
                            $resultat=mysql_query($requeteaction);
           
                  ////////////////////////////////////API OCEANIC SMS DEBUT///////////////////////////////////////         
                          $message=$msg;
                            $destinataires=$grp;
                          $api="1234"; $user="aaaaaa"; $pword="xxxxxxxx"; $expediteur=$username;
                          $OC_SMS="http://74.207.224.67/api/http/sendmsg.php";
                          echo "$OC_SMS##api_id=$api&user=$user&password=$pword&from=$expediteur&to=$destinataires&text=$message";
                         }else{
                            echo "erreur de reception";
                           }
          ?>



          -
          Edité par Sghislain 21 octobre 2016 à 18:53:02

          • Partager sur Facebook
          • Partager sur Twitter

          merci pour votre coup de main. Il me sera très utile. visitez ma page Websoft-Enterprise

            23 octobre 2016 à 21:28:59

            :(
            • Partager sur Facebook
            • Partager sur Twitter

            merci pour votre coup de main. Il me sera très utile. visitez ma page Websoft-Enterprise

            Anonyme
              23 octobre 2016 à 22:16:53

              Slt Sghislain...

              Je crois une des réponses se trouve dans le sujet précédent ou je t'ai aidé

              https://openclassrooms.com/forum/sujet/comment-changer-le-design-du-site-aleatoirement?page=1#message-91353305

              Ce que je veux dire c'est que tu utilise du ajax , autrement dit, du Jquery sans meme importer le framework...

              il te faut donc le télécharger

              https://code.jquery.com/jquery-3.1.1.min.js

              et puis l'enregistrer et pointer vers ce fichier comme ceci: dans ce qui suit, je considere que le fichier se situe dans le meme fichier que ton fichier html de base (php)

              <script type="text/javascript" src="jquery.js"></script>
              

              J'ai oublié de te dire la derniere fois mais tu peux importer ce framework directement sur internet sans l'enregistrer ! c'est comme meme plus facile... Bref, si tu as la fleme de copier, coller etc... insere cette balise dans le code source et ca marchera...

               <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
              

              Si ca marche ... tant mieux, sinon, repond moi et je chercherai si il a d'autres problemes...

              A+

              Avant de quitter, essaye d'organiser ta page php (html) en mettant la balise body, html, head, ....


              -
              Edité par Anonyme 23 octobre 2016 à 22:18:26

              • Partager sur Facebook
              • Partager sur Twitter
                23 octobre 2016 à 23:37:06

                Merci en fait la page HTML que j'ai publié est sms.page.php et elle a été incluse de même que header.inc.ph, footer.inc.php j'ai copier la partie qui m'intéresse sans la balise body. Dans le header.inc.php j'aivais déjà fais appel au jquery pourtant rien mais quand je soumet, l'alert s'affiche :(
                • Partager sur Facebook
                • Partager sur Twitter

                merci pour votre coup de main. Il me sera très utile. visitez ma page Websoft-Enterprise

                  24 octobre 2016 à 8:32:33

                  Ouvre ta console F12 et regarde si tu as pas un message d'erreur?

                  Si tu as pas de message d'erreur va dans l'onglet "reseau" ou "network" et regarde si tu as ou pas une requete vers ta page cible qui est envoyé. Si oui regarde les paramètres envoyés...

                  • Partager sur Facebook
                  • Partager sur Twitter
                  Un petit +1 si je vous ai aidé est toujours appréciable :).
                  Anonyme
                    24 octobre 2016 à 13:08:47

                    SLT, a part ca je ne vois aucune autre erreur...

                    Ce que je peux faire pour toi, La seule chose, c'est que tu m'envoie tout le dossier de ton site.. c'est a dire les fichiers html, php, js ... tout ce qui consiste ton site avec la base de donnée telechargée...

                    Envoie tout par email (conseillé) a l'adresse email suivante:

                    rayan.paris.9@gmail.com

                    comme ca, je chercherai le probleme moi meme et je te rendrai ton site qui fonctionne

                    (j'espere)

                    Si, au contraire, tu ne peux pas (ou tu veux pas), je ne peux rien faire dans ce cas...

                    Vasy , A+

                    • Partager sur Facebook
                    • Partager sur Twitter
                      25 novembre 2016 à 7:19:19

                      Bonjour personne pour m'aider ?
                      • Partager sur Facebook
                      • Partager sur Twitter

                      merci pour votre coup de main. Il me sera très utile. visitez ma page Websoft-Enterprise

                      Anonyme
                        30 novembre 2016 à 22:30:51

                        desole pour le retard cela fait longtemps que je traine plus sur Openclassrooms... Je suis étudiant ... :p

                        afin de te répondre... essaye de me réenvoyer tout les fichiers comme tu l'as déja fait et j'essayerai de te trouver une solution ce week end

                        a+ :p

                        • Partager sur Facebook
                        • Partager sur Twitter
                          2 décembre 2016 à 15:24:22

                          C'est fait
                          • Partager sur Facebook
                          • Partager sur Twitter

                          merci pour votre coup de main. Il me sera très utile. visitez ma page Websoft-Enterprise

                          mes POST ne passent pas avec ajax pour mon .php

                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                          • Editeur
                          • Markdown