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

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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;
}

L'insertion se fait via la fonction log_list_sms_new appelé au debut de get_subsribers single list

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
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