API Free SMS

Fermé
Vertige - 16 juin 2015 à 14:29
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 - 16 juin 2015 à 15:33
Bonjour à tous,

je recherche un peu d'aide afin de mettre en place une application web qui permettrait d'envoyer des données via un site web pour les récupérer et les recevoir ensuite par SMS. Pour cela j'utilise l'API Free, consistant à envoyer une requête HTTPS du style : https://smsapi.free-mobile.fr/sendmsg?user=123456789&pass=m0td3p4ss3&msg=Hello! .

Le problème c'est que je ne sais pas comment faire pour envoyer une telle requête sans rendre visible l'URL par les visiteurs, étant débutant en PHP je n'ai pas trouvé de solution fiable ou concluante.. Peut-être la solution se trouve t-elle du côté du javascript ? Merci de m'éclairer ou de m'aiguiller !

Dites moi si je n'ai pas été assez clair ou bien si vous voulez des renseignements en plus ! Ça fait un petit moment que je tourne en rond avec cette application !

Merci d'avance :)
A voir également:

2 réponses

ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 228
16 juin 2015 à 14:35
'lut, si tu veux cacher cette url aux visiteurs, ce n'est pas du coté de JavaScript que tu dois chercher vu que le code est transféré au client.
Avec PHP tu peux utiliser les fonctions cURL pour faire des requêtes HTTP(S).
0
Verstable Messages postés 2 Date d'inscription mardi 16 juin 2015 Statut Membre Dernière intervention 16 juin 2015
Modifié par Verstable le 16/06/2015 à 15:12
Salut gravgun, merci pour ta réponse ! Je me suis renseigné sur CURL, j'ai essayé de mettre la solution en place mais je n'arrive pas à obtenir un résultat concluant, je pense mal me servir de CURL :\
Voici le code actuel :

commande_en_ligne.php
<form method="post" enctype="multipart/form-data" action="script_envoi_sms.php">
<label for="nom_client">Nom : </label><input type="text" name="nom_client"><br>
<label for "adresse">Adresse : </label><input type="text" name="adresse_client"><br>
<label for "choix_pizzas">Pizza : </label>
<select name="choix_pizzas">
<OPTION>Anchois
<OPTION>Fromage
<OPTION>La Végétale
</select><br><br>
<input type="submit" value="Envoyer la commande !">
</form>


script_envoi_sms.php
<?php
$nom = $_POST['nom_client'];
$adresse = $_POST['adresse_client'];
$pizzas = $_POST['choix_pizzas'];
 
$sms = 'Nom: '.$nom.'
Adresse: '.$adresse.'
Pizza: '.$pizzas.'
-La Pizzeria-';
 
$curl = curl_init('https://smsapi.free-mobile.fr/sendmsg?user=123456789&pass=m0td3p4ss3&msg=');
curl_setopt($curl, CURLOPT_HEADER, false);
curl_exec($curl);
curl_close($curl);
?>
0
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 228
Modifié par gravgun le 16/06/2015 à 15:34
$curl = curl_init('https://smsapi.free-mobile.fr/sendmsg?user=123456789&pass=m0td3p4ss3&msg=' . rawurlencode($sms));
curl_setopt($curl, CURLOPT_HEADER, false);
curl_exec($curl);
En s'aidant de cette page on peut ajouter une gestion d'erreur:
$statut = curl_getinfo($curl, CURLINFO_HTTP_CODE);
$erreur = false;
switch ($statut) {
    case 400:
        $erreur = "Un des paramètres obligatoires est manquant.";
        break;
    case 402:
        $erreur = "Trop de SMS ont été envoyés en trop peu de temps.";
        break;
    case 403:
        $erreur = "Le service n'est pas activé sur l'espace abonné, ou login / clé incorrect.";
        break;
    case 500:
        $erreur = "Erreur côté serveur. Veuillez réessayez ultérieurement.";
        break;
}
if ($erreur !== false) {
    echo $erreur;
}
curl_close($curl);
0