Aller au contenu

dude00

Membre
  • Compteur de contenus

    4
  • Inscrit(e) le

  • Dernière visite

Réputation sur la communauté

0 Neutre
  1. dude00

    Firefox genére des doublon

    Bonjour, j'ai expliqué dans un post précédent que j'avais une double insertion dans ma base de donnés(doublon), je pensais que cela venais de mon code, finalement après des heures de debug je me suis rendu compte que seul firefox me faisais un doublon. Je m'occupe d'une plateforme qui entre autre envoi des sms, lorsque que je submit le message j'ouvre un popup ou on peut voir une jolie barre de progression en ajax. Je sauvergarde dans ma base le message, le destinataire, l'expediteur etc... Mon problème comme je le dit plus haut c'est que firefox me fais deux insert au lieu d'un, tout les autre navigateur testés font bien leur boulot. J'ai vu quelque post similaires qui semblais dire que cela est engendré par la facon dont firefox load les pages? Quelqu'un à t'il une solution ou un debut de piste, je désespère. Merci d'avance
  2. ma clés primaire est en auto_increment donc c'est pas le souci je vous met ci dessous le code de la page en entier mais c'est un peu lourd. Désolé et merci pour ta reponse. <html> <body bgcolor=#ffffff text=#333333 link="#000000" leftmargin=0 topmargin=0 vlink="336666" alink="#990000"> <style> #a { background-color: orange; border: 1px solid black; width: 300px; } #b { background-color: darkblue; height: 30px; } #c { color: white; text-align: center; padding-top: 5px; } </style> <br> <br> <table align="center" border="0" cellspacing="0"> <tr> <td align="center"> <b><font color="#990000">Attention: Envoi en cours, veuillez ne pas fermer la fenêtre avant que l'envoi soit totalement effectué.</font></b> </td> </tr> <tr> <td align="center"> <div id="a" align="left"> <div id="b"> <div id="c"> </div> </div> </div> </td> </tr> </table> <script LANGUAGE="javascript" SRC="scripts/md5.js"></SCRIPT> <script LANGUAGE="Javascript"> var Account = new Array(); var Users = new Array(); <? echo "\tvar CityId = ".$city_id.";\r\n"; echo "\tvar Msg = '".$msg."';\r\n"; $account = $db->get_city_sms_account($city_id); $a = 0; foreach ($account as $key => $value){ echo "\tAccount['$key']='$value';\r\n"; } //print_r($sms_list_id); function get_subscribers_single_list($sms_list_id, $msg, $users_list = null, $city_id, $user_id, $db) { $sms_list = $db->get_sms_list_subscriber($sms_list_id); $nb_sms=count($sms_list); echo"nb_sms=".$nb_sms=count($sms_list); //print_r($sms_list); $sms_histo_list_id = $db->log_list_sms_new($msg, $user_id, $city_id, $sms_list_id,$nb_sms); if ($sms_list) { $a = 0; foreach ($sms_list as $key=>$sms_user) { if($sms_user!=null){ $tab_infos=$db->recup_info_for_sms_send_param($sms_user); if(strcmp("33", substr($sms_user,0,2))) $sms_user= "%2b33".substr($sms_user,1); if ($users_list == null) $users_list = array(); array_push($users_list, array("sms_sub_tel" => $sms_user, "sms_sub_name" => $tab_infos["contact_surname"], "sms_dest_id" => $tab_infos["contact_id"], "sms_histo_list_id" =>$sms_histo_list_id[$key])); } } } return $users_list; } $Users_index = 0; $users_list = array(); if ($sms_list_id != -1){ $users_list = get_subscribers_single_list($sms_list_id, $msg, null, $city_id, $user_id, $db); //echo "user_list=".$users_list; } $a = 0; foreach ($users_list as $key => $value) { echo "\tUsers[$a] = new Array();\r\n"; foreach ($value as $key2 => $value2) echo "\tUsers[$a]['$key2']='$value2';\r\n"; $a++; } ?> var sms_sended = 0; var progress = 0; var i = 0; var total_sms = Users.length; /* var Host = "sms.haysystems.com"; var Method = "POST"; var Port = "80"; var Data = null; var Action = "sendtxt"; var url = "./scripts/open_url.php"; var url_req = "http://"+Host+":"+Port+"/"+Action+"/"; */ var Host = "multilevel.mobyt.fr"; var Method = "POST"; var Port = "80"; var Data = null; var Action = "sms/send.php"; var url = "./scripts/open_url.php"; //var url_req = "http://"+Host+"/"+Action+""; var url_req = "http://multilevel.mobyt.fr/sms/send.php"; //for (var a = 0; a < Users.length;a++) //{ //modif: fonction de test sur le tag emetteur -->yannick le 16/10/2008 <? $tag=($_REQUEST["tag"]); $interdit=array(">", "<", ":", "*","\\", "/", "|", "?", "\"" ); $tag=str_replace($interdit,"",$tag); if (isset($tag)){ if (is_numeric($tag)) { if(preg_match("#^06([-. ]?[0-9]{2}){4}$#",$tag)) $tag = "%2b33".substr($tag,1); elseif(preg_match("#^336([-. ]?[0-9]{2}){4}$#",$tag)) $tag = "%2b33".substr($tag,2); elseif(preg_match("#\+336([-. ]?[0-9]{2}){4}$#",$tag)) $tag=urlencode($tag); } elseif (is_string($tag)) { $tag = substr($tag,0,10); $tag = addslashes(strtr($tag,"ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ", "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn")); } } ?> //fin de modif -->Yannick /* function send_sms(Account, Users, a) { //alert("envoi numero:"+a); var Params = new Array(); /* Params["url"] = url_req Params["client_id"] = Account["sms_account_name"]; Params["text"] = Msg.replace("#nom", Users[a]["sms_sub_name"]); Params["destaddr"] = Users[a]["sms_sub_tel"]; Params["sms_dest_name"] = Users[a]["sms_sub_name"]; Params["sms_dest_id"] = Users[a]["sms_subscriber_id"]; Params["sms_histo_list_id"] = Users[a]["sms_histo_list_id"]; Params["srcaddr"] = 'test'; Params["key"] = MD5(Account["sms_account_password"]+Params["text"]+Params["destaddr"]); */ Params["url"] = url_req ; Params["user"] = "F05271"; Params["pass"] = "210w4ah1"; Params["rcpt"] = Users[a]["sms_sub_tel"]; // alert('tel = '+Users[a]["sms_sub_tel"]); alert('<?php echo $tag; ?>'); Params["sender"] = '<?php echo $tag;?>'; Params["data"] = Msg.replace("#nom", Users[a]["sms_sub_name"]); Params["qty"] = "n"; Params["client_id"] = Account["sms_account_name"]; Params["text"] = Msg.replace("#nom", Users[a]["sms_sub_name"]); Params["destaddr"] = Users[a]["sms_sub_tel"]; Params["sms_dest_name"] = Users[a]["sms_sub_name"]; Params["sms_dest_id"] = Users[a]["sms_subscriber_id"]; Params["sms_histo_list_id"] = Users[a]["sms_histo_list_id"]; Params["srcaddr"] = 'test'; Params["key"] = MD5(Account["sms_account_password"]+Params["text"]+Params["destaddr"]); var count = 0; var Key; var req = ""; for ( Key in Params) { //if (count++ == 0) // req += "?" //else if (count++ > 0) req += "&" req += Key+"="+Params[Key]; } //req = encodeURI(data); // alert(url); // alert(url_req); // alert('req= '+req); //var data = encodeURI("url='"+url_req+"'&req='"+req+"'"); var xhr_object = null; if(window.XMLHttpRequest) // Firefox { xhr_object = new XMLHttpRequest(); } else if(window.ActiveXObject) // Internet Explorer xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); else { // XMLHttpRequest non supporté par le navigateur alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); } xhr_object.open(Method, url, true); //if(Method == "GET") xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xhr_object.send(req); // alert('rep = '+req); xhr_object.onreadystatechange = function() { //alert('state='+xhr_object.readyState); if(xhr_object.readyState == 4) { alert("reponse received : "+xhr_object.responseText); sms_sended++; progress = (sms_sended / total_sms) * 100; i = progress * 3; if (i > 40) { document.getElementById("c").innerHTML=parseInt(progress)+"%"; } document.getElementById("b").style.width=i+"px"; if ( (a + 1) < Users.length) { send_sms(Account, Users, a + 1); } } } //} /*xhr_object.open(method, url, true); xhr_object.onreadystatechange = function() { if(xhr_object.readyState == 4 && xhr_object.responseText.substr(0, 1) == "S") sms_sended++; progress = (sms_sended / total_sms) * 100; i = progress * 3; if (i > 40) { document.getElementById("c").innerHTML=parseInt(progress)+"%"; } document.getElementById("b").style.width=i+"px"; } if(method == "POST") xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xhr_object.send(req);*/ //} //alert("debut de l'envoi"); send_sms(Account, Users, 0); </script> </body> </html> <? } else echo "$erreur";
  3. D'autre par les deux champ on exactement le meme timestamp.
  4. dude00

    Doublon lors d'un insert

    Bonjour, je travaille actuellement sur une plateforme d'envoi de sms. Losrque je j'envoi un sms j'insere dans la base les listes selectionnees a l'envoi et le nombre de sms envoyé a cette liste. Cependant j'ai un probleme chaque insertion se fait en double. Après des heures de debug je ne trouve pas le probleme. Voici la partie du code concerné: fichier sms_ajax.php function get_subscribers_single_list($sms_list_id, $msg, $users_list = null, $city_id, $user_id, $db) { $sms_list = $db->get_sms_list_subscriber($sms_list_id); //print_r($sms_list); $sms_histo_list_id = $db->log_list_sms_new($msg, $user_id, $city_id, $sms_list_id,$db->get_nb_sms_subscriber_list($sms_list_id)); if ($sms_list) { $a = 0; foreach ($sms_list as $key=>$sms_user) { if($sms_user!=null){ $tab_infos=$db->recup_info_for_sms_send_param($sms_user); if(strcmp("33", substr($sms_user,0,2))) $sms_user= "%2b33".substr($sms_user,1); if ($users_list == null) $users_list = array(); array_push($users_list, array("sms_sub_tel" => $sms_user, "sms_sub_name" => $tab_infos["contact_surname"], "sms_dest_id" => $tab_infos["contact_id"], "sms_histo_list_id" =>$sms_histo_list_id[$key])); } } } return $users_list; } $Users_index = 0; $users_list = array(); if ($sms_list_id != -1){ $users_list = get_subscribers_single_list($sms_list_id, $msg, null, $city_id, $user_id, $db); //echo "user_list=".$users_list; } [b]L'insertion se fait via la fonction log_list_sms_new appelé au debut de get_subsribers single list[/b] function log_list_sms_new($msg, $sms_sender_id, $sms_city_id, $sms_list_id, $nb_sms) { for($i=0;$i<count($sms_list_id);$i++){ // echo "test_get_sms_sms_list_id=".$sms_list_id[$i]."<br>"; if ($sms_list_id[$i] != -1 && $sms_list_id[$i] != null) { //if (!$nb_sms) //return; $result = $this->database->query("select list_name from list where list_id='".$sms_list_id[$i]."'"); $list_name = $this->database->fetch_array($result); //print_r($list_name); $result = $this->database->query("select user_name from user where user_id='".$sms_sender_id."'"); $sender_name = $this->database->fetch_array($result); //print_r($sender_name); $this->database->query("insert into sms_histo_list (sms_msg, sms_date_list, sms_sender_id, sms_sender_name, sms_list_id, sms_list_name, sms_city_id, nb_sms) values ('".addslashes($msg)."', '".time()."', '".$sms_sender_id."', '".addslashes($sender_name["user_name"])."', '".$sms_list_id[$i]."', '".addslashes($list_name["list_name"])."', '".$sms_city_id."', '".$nb_sms[$i]."')"); echo "insert into sms_histo_list (sms_msg, sms_date_list, sms_sender_id, sms_sender_name, sms_list_id, sms_list_name, sms_city_id, nb_sms) values ('".addslashes($msg)."', '".time()."', '$sms_sender_id', '".addslashes($sender_name["user_name"])."', '$sms_list_id[$i]', '".addslashes($list_name["list_name"])."', '$sms_city_id', '$nb_sms[$i]')"; $sms_histo_id[]=$this->database->get_last_id(); echo"sms_histo_id=".print_r($sms_histo_id); } } print_r($sms_histo_id); return $sms_histo_id; } voila je ne trouve pas du tout, j'ai vu des histoires de double chargement de la page?Merci de votre aide
×
×
  • Créer...