2012-01-21 5 views
0

J'ai un compte dans un site Web par lequel je peux envoyer des sms aux téléphones mobiles. Pour faire cela au début, je dois me connecter en utilisant mon identifiant et mon mot de passe, puis une page s'affiche où je mets le numéro de téléphone du destinataire, puis mon message et enfin appuyer sur le bouton pour envoyer le message.Comment envoyer des SMS en utilisant la fonction PHP CURL

Maintenant, un de mes amis m'a dit que je peux envoyer des sms à partir de ma propre application via ce site en utilisant la fonction PHP Curl. Je n'avais aucune idée préalable de la fonction CURL donc je l'ai googlé mais je ne pouvais pas comprendre comment faire cela. J'ai vérifié le code HTML de la page de connexion et la page d'où je peux envoyer le sms de ce site Web et je l'affiche ci-dessous.

Voulez-vous s'il vous plaît me montrer comment envoyer gentiment sms en utilisant la fonction CURL ou de toute autre manière .. sur ce site ..

Merci à l'avance :)

Form1

<form name="form" action="/websms/index.php" method="POST"> 
<input type="hidden" name="HTMLForm_formname" value="form"> 


    <table align="center" size="300" border="0" class="list"> 
    <tr class="r1"> 
    <th colspan="3" class="left"> 
     <label id="label_login_title" for="login_title" class="HTMLForm-label">User Login</label> 

     </th> 
</tr> 
    <tr> 
    <td align="right" valign="top"> 
     <label id="label_mobile_no" for="mobile_no" class="HTMLForm-label">Mobile Number</label> 
    </td> 

    <td> 
     <input type="text" id="mobile_no" name="mobile_no" size="20" maxlength="11" value="" onkeypress="return checkNumberOnly(event)" class="HTMLForm-text"> 
    </td> 


    </tr> 
    <tr> 
     <td align="right" valign="top"> 
     <label id="label_password" for="password" class="HTMLForm-label">Password</label> 
    </td> 
    <td> 
     <input type="password" id="password" name="password" value="" class="HTMLForm-password" size="20"> 
    </td> 

    </tr> 

     <tr> 
     <td colspan="3" align="center"> 
      <input type="submit" id="submit" name="submit" value="Login" class="button_all_action"> 
      <input type="hidden" id="submit_login" name="submit_login" value="1"> 
     </td> 
    </tr> 
    </table> 
    </form> 

deuxième Formulaire

<form name="form" action="javascript:get(document.getElementById('form'));" method="POST"> 
<input type="hidden" name="HTMLForm_formname" value="form"> 


<table align="center" size="450" border="0" class="list"> 


<tr class="r2"> 
    <th class="left"> 
     <label id="label_send_to_no" for="send_to_no" class="HTMLForm-label">To</label> 
    </th> 
    <td class="left"> 
     <textarea id="send_to_no" name="send_to_no" class="HTMLForm-textarea" onkeypress="checkValidGPNumner(document.form.send_to_no)" onchange="checkValidGPNumner(document.form.send_to_no)" onkeyup="checkValidGPNumner(document.form.send_to_no)" wrap="soft" style="width:250px;height:50px"></textarea> 

    </td>  
    </tr> 

<tr class="r1"> 

    <th class="left"> 
     <label id="label_message" for="message" class="HTMLForm-label">Message</label> 
    </th> 
    <td class="left"> 
     <textarea id="message" name="message" class="HTMLForm-textarea" onkeypress="textCounter(document.form.message,document.form.counter_message,160)" onchange="textCounter(document.form.message,document.form.counter_message,160)" onkeyup="textCounter(document.form.message,document.form.counter_message,160)" wrap="soft" style="width:250px;height:130px"></textarea> 

     <input type="text" id="counter_message" name="counter_message" size="5" value="" readonly="" class="HTMLForm-text"> <label id="label_char_remain" for="char_remain" class="HTMLForm-label">Character remained</label> 
    </td> 

</tr> 

    <tr class="r2"> 
    <td colspan="2" class="center"> 
     <input type="submit" id="submit" name="submit" value="Send" class="button_all_action"> 
     <input type="hidden" id="mid" name="mid" value="1"> 
     <input type="hidden" id="submit_sms" name="submit_sms" value="1"> 
    </td> 
    </tr> 
    </table> 
    </form> 
+0

google, ou poser une question plus précise. – goat

+1

Peut-être que ce site Web a une API HTTP REST ou personnalisée afin que vous n'ayez pas à faire de grattage pour réaliser ce que vous essayez. Très peu de détails pour que nous puissions vous aider. Mettez à jour votre question si vous souhaitez plus d'aide. – aldridmc

Répondre

1

Ceci est une solution utilisant Twilio.

d'abord, vous devez télécharger la bibliothèque de Twilio pour PHP: https://github.com/twilio/twilio-php/downloads

Ensuite, copiez le dossier Services dans votre serveur et de prendre à l'esprit l'emplacement.

Maintenant, vous devez créer un programme simple comme celui ci-dessous, (ce qui est un exemple d'un émetteur de sms php facile):

<?php //lets say that the name of this php is smsSender.php 

$contactname = $_POST['name']; 
$contactphone = $_POST['mobile_no']; 

$message = $_POST['message']; 


require 'Services/Twilio.php';//<<<<<<<<<HERE! make sure the path is ok. 

$AccountSid = "AXXXXXX"; // this numbers you can find it in your twilio dashboard 
$AuthToken = "TXXXXXXXXX";// also this number . 

$client = new Services_Twilio($AccountSid, $AuthToken); 

$people = array(
//"4566789903" => "Curious George", 
$contactphone => $contactname, 
); 

foreach ($people as $number => $name) { 

$sms = $client->account->sms_messages->create("7035960031",$number, 
$message); 

echo "Sent message to $name"; 

} 
?> 

vous aurez donc besoin de changer dans vos formes l'action comme celle-ci:

<form name="form" action="smsSender.php" method="POST"> 

Remarque: si vous utilisez un compte d'essai, vous serez seulement en mesure d'envoyer les numéros vérifiés dans votre compte, mais si vous enregistrez un numéro de téléphone (1USD/mois), vous pouvez envoyer à un nombre et sans le message de bac à sable).

IMPORTANT: Curl bibliothèque doit être installé sur le serveur php, si vous utilisez votre propre serveur, permet de dire en UBUNTU, cette commande installera les bibliothèques: sudo apt-get install boucle libcurl3 libcurl3-dev php5- Curl

+0

N'a pas testé ta solution mais je pense que ça marchera, merci :) –

-2

Je ne suis pas sûr que vous pouvez envoyer des SMS avec CURL, mais vous peut avec la fonction de messagerie de PHP. Je ne l'ai jamais fait cependant.

+0

Vous ne pouvez pas envoyer de SMS avec curl ou courrier. Vous utilisez curl pour contacter une API qui vous envoie le message, ou utilisez la messagerie pour envoyer un e-mail à un service qui transmet le contenu au destinataire. Tout dépend de l'implémentation du fournisseur de passerelle. – Repox

+0

En fait, vous pouvez utiliser le courrier PHP. Comme vous l'avez dit, vous utilisez le courrier. Vous envoyez le mail à la passerelle SMS, quelque chose comme mobilenum @ provider ou est approprié pour la passerelle SMS comme vous l'avez indiqué ci-dessus. Comment pouvez-vous dire que vous ne pouvez pas utiliser le courrier, mais vous pouvez utiliser le courrier? – Shane

+0

Non. Si vous n'avez pas accès à une passerelle qui vous permet de transférer des courriels sous forme de message texte, peu importe le nombre de courriels que vous envoyez - il ne s'affichera pas sous forme de message SMS sur n'importe quel message. dispositif. Avec votre raisonnement, n'importe quoi pourrait envoyer un message texte. _Ma cuillère peut envoyer un message texte, car si j'appuie sur le bouton 'Envoyer' avec ma cuillère, la cuillère enverra le message! _ – Repox

-3

Curl essentiellement utilisé pour mettre au rebut le contenu d'un autre site Web, il n'a aucune fonction pour envoyer des sms. Vous devez utiliser d'une autre manière.

il ya peu d'outils par lesquels vous pouvez vous connecter à vos sms (serveur de texte) à partir de là, vous pouvez envoyer des sms. vous pouvez utiliser curl pour obtenir vos réponses sms ou etc partie plus tard si vous avez besoin et désireux d'utiliser cela.

+0

Curl permet d'envoyer des requêtes HTTP à un serveur HTTP. – aldridmc

2

Vous pouvez en effet envoyer des messages SMS avec cURL, mais cURL n'en est qu'une partie. À l'aide de cURL, vous pouvez effectuer des appels d'API à un fournisseur comme Twilio.

0

Après avoir changé pour cela, le code a bien fonctionné pour moi.

foreach ($people as $number => $name) { 
$client->account->messages->sendMessage("+12055xxxxxx",$number, 
$message); 
2

simple CURL fonction pour envoyer des sms:

function CURLsendsms($number, $message_body){ 

     $api_params = $api_element.'?apikey='.$apikey.'&sender='.$sender.'&to='.$mobileno.'&message='.$textmessage; 
     $smsGatewayUrl = "http://springedge.com"; 
     $smsgatewaydata = $smsGatewayUrl.$api_params; 
     $url = $smsgatewaydata; 

     $ch = curl_init();      // initialize CURL 
     curl_setopt($ch, CURLOPT_POST, false); // Set CURL Post Data 
     curl_setopt($ch, CURLOPT_URL, $url); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
     $output = curl_exec($ch); 
     curl_close($ch);       // Close CURL 

     // Use file get contents when CURL is not installed on server. 
     if(!$output){ 
      $output = file_get_contents($smsgatewaydata); 
     } 

    } 
Questions connexes