#1 15. Januar 2012 SMS Gateway - versand mit Formular Hallo zusammen, Seit längerem betreibe ich für unseren Ortsansässigen verein eine Art Infoservice per Websms. Bis heute war ich bei SMS77 unter Vertrag mit einen ebenfalls funktionierenden Tool zum Versenden von SMS an die hinterlegten Gruppen. Nun habe ich den Anbieter gewechselt (smstrade) und es stellt sich natürlich das Problem dar dass mein altes Script nicht mehr funktioniert ;( Mein altes Script im Überblick: Spoiler PHP: <html> <head> <title>Script</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css"> <!-- body,td,th { font-size: 14px; font-family: Verdana, Geneva, sans-serif; } --> </style></head> <body> <table width="500" border="1" align="left" cellpadding="5" bordercolor="#CCCCCC"> <tr> <td width="520" bgcolor="#FAFAFA"> <p><strong>Administratoren</strong></p> <p>SMS-Versand Veranstaltungen<br> (160 Zeichen) <?php if(!isset( $_POST [ 'action' ])){ ?> <br> </p> <form method="post" action="<?=$_SERVER [ 'PHP_SELF' ] ?>"> <table width="100%" border="0"> <tr> <td width="100">An:</td> <td><select name="to"> <option>123</option> <option>456</option> </select></td> </tr> <tr> <td> Type: </td> <td> <select name="type"> <option>quality</option> </select> <em></em></td> </tr> <tr> <td>Nachricht:</td> <td><textarea name="text" cols="21" rows="5" wrap="virtual"></textarea></td> </tr> <tr> <td width="100"> </td> <td><br> <input type="submit" value="SMS abschicken!" /> </td> </tr> </table> <br /> <input type="hidden" name="action" value="send" /> </form> <?php } else { $u = "user" ; // Bitte tragen Sie hier Ihren Benutzernamen ein $p = "asdf" ; // Bitte tragen Sie hier Ihre Passwort ein $url = 'http://sms77.de/gateway/' . '?u=' . urlencode ( $u ) . '&p=' . urlencode ( $p ) . '&to=' . urlencode ( $_POST [ 'to' ]) . '&text=' . urlencode ( $_POST [ 'text' ]) . '&type=' . urlencode ( $_POST [ 'type' ]); $ret = @ file ( $url ); // Hier erfolgt der Aufruf des HTTP-APIs mittels // http-Request // Das @ ist erforderlich, damit die URL bei Fehlern nicht // ausgegeben wird if ( $ret [ 0 ] == "100" ) echo "<p> </p>SMS erfolgreich verschickt!" ; else echo "<p> </p>Fehler beim SMS-Versand! Fehlercode: " . $ret [ 0 ]; // Fehlercodeausgabe } ?> </td></tr> </table> </body> </html> SMS Trade bietet zwar eine Anleitung zur Umsetzung an, allerdings versteh' ich ned wirklich wie ich mein altes Formular dementsprechend anpassen kann. Spoiler http://www.smstrade.de/pdf/SMS-Gateway_HTTP_API_v2_de.pdf Ich hoffe das Problem verständlich dargestellt wurde und bitte um Hilfe. Viele Grüße Hary + Multi-Zitat Zitieren
#2 15. Januar 2012 AW: SMS Gateway - versand mit Formular sagt doch genau wie du eine sms verschickst! baust du dir am besten die url mit den variablen auf und schickst diese dann per request los. + Multi-Zitat Zitieren
#3 15. Januar 2012 AW: SMS Gateway - versand mit Formular Ok, hab wohl nicht ganz so weit ausgeholt. Das ganze System läuft auf meiner Joomla Datenbank als Wrapper. Die Funktion wie bis jetzt soll beibehalten werden (Login - Gruppe wählen - text in die textbox - verschicken) Das ganze soll auch von bestimmten Personen die zugriff auf das Board haben verschickt werden können. + Multi-Zitat Zitieren
#4 15. Januar 2012 AW: SMS Gateway - versand mit Formular Sollte doch ganz einfach sein. Die Parameter Änderungen: u = key p = Entfernen text = message type = route + Multi-Zitat Zitieren
#5 16. Januar 2012 AW: SMS Gateway - versand mit Formular Hab die Parameter angepasst. Allerdings bekomm ich einen fehler 40. (Zufall? :shock: ) Hier der Text So müsste laut Anbieter der Text aussehen wenn er von dem Script ausgespuckt wird: PHP: http : //gateway.smstrade.de/?key=KEY&to=00491701234567&message=Hello+World&route=gold&from=SMSTRADE + Multi-Zitat Zitieren
#6 16. Januar 2012 AW: SMS Gateway - versand mit Formular PHP: <? php } else { $key = "KEYKEYKEYKEYKEY" ; // Bitte tragen Sie den KEY ein $url = 'http://gateway.smstrade.de/' . '?key=' . urlencode ( $key ) . '&to=' . urlencode ( $_POST [ 'to' ]) . '&from=' . urlencode ( 'SMS TRADE 012345678987654321' ) . '&message=' . urlencode ( $_POST [ 'text' ]) . '&route=' . urlencode ( $_POST [ 'type' ]); // basic, gold, direct $ret = @ file ( $url ); // Hier erfolgt der Aufruf des HTTP-APIs mittels // http-Request // Das @ ist erforderlich, damit die URL bei Fehlern nicht // ausgegeben wird if ( $ret [ 0 ] == "100" ) echo "<p> </p>SMS erfolgreich verschickt!" ; else echo "<p> </p>Fehler beim SMS-Versand! Fehlercode: " . $ret [ 0 ]; // Fehlercodeausgabe } ?> + Multi-Zitat Zitieren
#7 16. Januar 2012 AW: SMS Gateway - versand mit Formular Perfekt! Danke! Auf meinem altem Server (php4) läuft das Script einwandfrei! Gibt’s es ebenfalls eine Möglichkeit dies auf einen PHP5 Server zu integrieren? + Multi-Zitat Zitieren
#8 16. Januar 2012 AW: SMS Gateway - versand mit Formular Das sollte problemlos auf PHP5 laufen, sofern wie auf deinem PHP4 allow_url_fopen eingeschaltet ist. + Multi-Zitat Zitieren
#9 16. Januar 2012 AW: SMS Gateway - versand mit Formular läuft auf PHP5 leider nicht. Das Script lät zwar ordentlich, allerdings nach dem verschicken erscheint ohne Code Google meinte ich soll eine .htaccess mit dem wert PHP: php_value allow_url_fopen 1 Anlegen. Das gibt einen Im Backend von 1und1 habe ich keine Funktion zur aktivierung von dem fopen gefunden. + Multi-Zitat Zitieren
#10 16. Januar 2012 AW: SMS Gateway - versand mit Formular hi, ich verwende folgenden code. PHP: // +--------------------------------------------+// | Copyright (c) 2007-2009 by SMSTRADE.DE |// +--------------------------------------------+ $url = "http://gateway.smstrade.de" ; // URL des Gateways $request = "" ; // Request Variable initialisieren $param [ "key" ] = "KEYKEYKEYKEYKEY" ; // Gateway Key $param [ "to" ] = $_POST [ 'to' ]; // Empfänger der SMS $param [ "message" ] = $_POST [ 'text' ]; // Inhalt der Nachricht $param [ "route" ] = $_POST [ 'type' ]; // Nutzung der Goldroute $param [ "from" ] = $_POST [ 'fon' ]; // Absender der SMS//$param["debug"] = "1";// SMS wird nicht versendet - Testmodus foreach( $param as $key => $val ) // Alle Parameter durchlaufen { $request .= $key . "=" . urlencode ( $val ); // Werte müssen url-encoded sein $request .= "&" ; // Trennung der Parameter mit & } // SMS kann jetzt versendet werden $ch = curl_init (); //initialize curl handle curl_setopt ( $ch , CURLOPT_URL , $url ); //set the url curl_setopt ( $ch , CURLOPT_RETURNTRANSFER , 1 ); //return as a variable curl_setopt ( $ch , CURLOPT_POST , 1 ); //set POST method curl_setopt ( $ch , CURLOPT_POSTFIELDS , $request ); //set the POST variables $response = curl_exec ( $ch ); //run the whole process and return the response curl_close ( $ch ); //close the curl handle $response_code = intval ( $response );if ( $response_code == 100 ){ echo 'alles ok' ;}else { echo 'fehler: ' . $response_code ;} + Multi-Zitat Zitieren
#11 16. Januar 2012 AW: SMS Gateway - versand mit Formular Wird die 1und1 warscheinlich auch nicht zur Verfügung stellen. Das sind die Probleme bei großen Massenhostern. Interessieren sich nen Dreck für Kundenwünsche Da dies feste php.ini Settings sind, werden die auch nicht per .htaccess zu überschreiben sein. Mehr als "Frag beim Support nach" kann man kurz und knapp nicht sagen. + Multi-Zitat Zitieren