IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Envoi de sms multiples


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Services de proximité

    Informations forums :
    Inscription : Mars 2007
    Messages : 95
    Par défaut Envoi de sms multiples
    Bonjour,
    Je sèche un peu sur quelque chose que je suppose être tout bête mais je m'embrouille le cerveau.

    J'ai une page qui permet d'envoyer des sms en sélectionnant le destinataire dans un select.
    Sauf que je voudrais permettre d'envoyer un sms à TOUS les membres.
    J'ai donc ajouter un <option value="Tous">

    Et dans ma fonction je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if($destinataire == 'Tous'){
    Sauf que voila, je ne parviens pas à récupérer les numéros de téléphone de la bdd pour les afficher dans un array(), format demandé par l'API.

    Code pour sms unique (qui fonctionne):
    $destinataire = le numéro de téléphone choisi dans le <select>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $numbers = array($destinataire);
     
    $recipients = array();
    foreach ($numbers as $n) {
      $recipients[] = array('value' => $n);
    }
    Ce que j'ai fait pour le multiple (mais ne fonctionne pas):
    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
     
    if($destinataire == 'Tous'){
       $numbersAll = $connexion->query("SELECT telephone FROM users WHERE telephone != NULL");		 
       $numbers = array(); 
       while($row = $numbersAll->fetch()){
          $numbers = $row['telephone'];
       }
    }else{
       $numbers = array($destinataire);
    }
     
    $recipients = array();
    foreach ($numbers as $n) {
       $recipients[] = array('value' => $n);
    }

    Merci pour votre aide.

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 597
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 597
    Par défaut
    qu'est ce que vous voulez dire par "ne fonctionne pas" ?
    montrez nous le contenu des variables.

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Services de proximité

    Informations forums :
    Inscription : Mars 2007
    Messages : 95
    Par défaut
    Voici le code global d'envoi de sms.
    Lorsque le destinataire est un numéro seul, ça fonctionne.
    Lorsque le destinataire est "Tous" je veux récupérer tous les numéros de tél de la BDD.
    Et là, j'ai un message d'erreur en retour json.

    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
    32
    33
    34
    35
    36
    37
    38
    39
     
    function admin_send_sms($destinataire, $message) {
    	global $connexion;
     
    	$token = 'XXXXX';
    	$content = $message;
     
    	if($destinataire == 'Tous'){
    		$numbersAll = $connexion->query("SELECT telephone FROM users WHERE telephone != NULL");		 
    		$numbers = array(); 
    		while($row = $numbersAll->fetch()){
    			echo $row['telephone'];
    		}
    	}else{
    		$numbers = array($destinataire);
    	}
    	$sender = "SENDER";
    	$recipients = array();
    	foreach ($numbers as $n) {
    	  $recipients[] = array('value' => $n);
    	}
     
    	$postdata = array(
    	  'sms' => array(
    	   'message' => array(
    		'text' => $content,
    		'sender' => $sender
    	   ),
    	   'recipients' => array('gsm' => $recipients)
    	  )
    	);
     
    	$ch = curl_init();
    	curl_setopt($ch, CURLOPT_URL, "https://api.smsfactor.com/send");
    	curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    	curl_setopt($ch, CURLOPT_POST, 1);
    	curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($postdata));
    	curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Accept: application/json', 'Authorization: Bearer ' . $token));
    	$response = curl_exec($ch);
    Erreur json: array(3) { ["status"]=> int(-5) ["message"]=> string(46) "La liste des destinataires contient une erreur" ["details"]=> string(29) "Aucun destinataire de défini" }

    Donc c'est cette partie de code qui ne récupère pas les numéros.
    Il faut qu'ils soient dans le $numbers = array('numero1','numero2','numero3', ....)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if($destinataire == 'Tous'){
    		$numbersAll = $connexion->query("SELECT telephone FROM users WHERE telephone != NULL");		 
    		$numbers = array(); 
    		while($row = $numbersAll->fetch()){
    			echo $row['telephone'];
    		}
    	}else{

Discussions similaires

  1. envoi sms multiple
    Par bounasri dans le forum Android
    Réponses: 2
    Dernier message: 09/06/2011, 15h44
  2. envoi sms au client d'une entreprise
    Par barhoumi dans le forum Multimédia
    Réponses: 1
    Dernier message: 05/04/2007, 13h06
  3. Solution d'envoi SMS
    Par eknd dans le forum Services
    Réponses: 4
    Dernier message: 04/08/2006, 07h46
  4. [VB6] Envoi SMS sur IP Phone
    Par CyBeRoN dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 06/06/2006, 08h28
  5. [vb.net] Envoi SMS
    Par wassim913 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 03/05/2006, 21h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo