so, vielen Dank erst mal, wie ich nach recherche über mögliche Zeichen in einer sms unter [COLOR=black][FONT="]GSM 03.38 Default Character Set
feststellen mußte, ist das mit dem Gradzeichen einer dieser ungeliebten Sonderfälle.
Der GSM-Zeichensatz enthält das Gradzeichen grundsätzlich nicht.
Alternativ wäre da nur noch eine Unicode SMS zu nutzen, die eine SMS dann aber automatisch auf 70 Zeichen beschränkt. Und einige ältere Handymodelle unterstützen diese SMS-Variante nicht.
Vielleicht helfen diese Infos künftig auch anderen, die einen sms-versand realisieren wollen.
[/FONT][/COLOR]
url aufrufen in schleife ?
Einklappen
X
-
jupp, vielen Dank !
ich hatte gar kein Zeichensatz angegeben, wie blöd von mir !
Allerdings hab ich grad mal nachgeschaut, dieser Hinweis fehlt wirklich in deren Tutorial, dass sonst wirklich gut und kurz ist !
Ich hab jetzt alles umlaute und Sonzeichen getestet, mit iso 8895-15
bis auf das [COLOR=Red]°[/COLOR] klappt alles, ich werds mal mit utf-8 versuchen
Einen Kommentar schreiben:
-
Sofort den richtigen Zeichensatz verwenden, oder passend konvertieren. In Der Doku des Dienstes sollte erklärt werden, welche Codierung erwartet wird.
Einen Kommentar schreiben:
-
Zitat von mrs_rookie Beitrag anzeigenerhalte ich als Klartext: [COLOR=royalblue][COLOR=darkred]Ein+Test+[/COLOR][/COLOR][COLOR=darkred]%C3%A4[/COLOR][COLOR=royalblue][COLOR=blue][COLOR=darkred]+das+Gateway[/COLOR]
[COLOR=black]müßte das aber nicht:[/COLOR] [/COLOR][/COLOR][COLOR=royalblue][COLOR=blue]Ein+Test+[/COLOR][/COLOR][COLOR=blue]%FCber[/COLOR][COLOR=royalblue]+das+Gateway sein ?[/COLOR]
[COLOR=royalblue][COLOR=black]Und daher erhalte ich in der Test-SMS das ganze dann so:[/COLOR]
Ein Test [[ber das Gateway
[/COLOR]
PHP-Code:$text = "Ein Test über das Gateway";
$code = urlencode(utf8_decode($text));
Gruß
Björn
Einen Kommentar schreiben:
-
Dankeschön,
hat mir sehr geholfen, konnte nun "fast" alles wie gewünsht umsetzen !
Ein kleines Problem hab ich aber noch, ich muss die übermittelten Texte urlencode übertragen, soweit so gut..
Aber aus mir grad nicht sichtbaren Gründen hab ich problem mit Umlauten!
Wenn ich das verwende:
PHP-Code:$sms['message'] = "Ein Test über das Gateway";
[COLOR=Black]müßte das aber nicht:[/COLOR] [/COLOR][/COLOR][COLOR=RoyalBlue][COLOR=Blue]Ein+Test+[/COLOR][/COLOR][COLOR=Blue]%FCber[/COLOR][COLOR=RoyalBlue]+das+Gateway sein ?
[COLOR=Black]Und daher erhalte ich in der Test-SMS das ganze dann so:[/COLOR]
Ein Test [[ber das Gateway
[COLOR=Black]Wo mach ich was falsch ?[/COLOR]
[/COLOR]
Hier mein Script:
PHP-Code:// Empfängerliste
$receiver = array();
$receiver['0'] = '49172xxxxx';
// Schleife um alle Empfänger anzusprechen
foreach($receiver as $mobileArray => $mobileNo)
{
//
$sms = array();
$request = "";
$url = "http://examplegateway.de/?";
$sms['key'] = '*****';
$sms['message'] = "Ein Test über das Gateway";
$sms['to'] = $mobileNo; // Empfänger Nr. der SMS
$sms['from'] = 'Mein Name';
foreach($sms as $key=>$val) // Alle Parameter durchlaufen
{
$request.= $key."=".urlencode($val); // url-encoded notwendig
$request.= "&";
}
// CURL METHODE
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
$response = curl_exec($ch);
curl_close($ch);
$response_code = intval($response);
}
Einen Kommentar schreiben:
-
Ich habe da mal einen Fetzen in meiner Grabbelkiste:
(nur ein paar Dinge auf dein Problem angepasst)
PHP-Code:<?php
error_reporting(-1);
ini_set('display_errors', TRUE);
function sendsms($gateway,$sms,$recivername,$recivernr)
{
$sms['nr'] = $recivernr;
$sms['message'] = sprintf($sms['message'],$recivername);
return file_get_contents($gateway.http_build_query($sms));
}
$smsgateway = 'http://example.com/sendMessage.php?';
$sms = array();
$sms['message'] = " Hi %s heute feiern wir! \n Gruss Maxe";
$sms['sender'] = 'Max Musterman';
$sms['authentification'] = 'sdgrtrdxfhbr6342q35tgfw345';
$reciver = array();
$reciver['Karl'] = '49123456';
$reciver['Anna'] = '491234567';
foreach($reciver as $key => $value)
echo sendsms($smsgateway,$sms,$key,$value),'<hr>';
?>
Einen Kommentar schreiben:
-
Guten Morgen Combie !!
also mit den schleifen hab ich mich beschäftigt...
ich nutze eine foreach um eine sms zu generieren, weil ich den text urlencoden muss und da bietet sich ein
PHP-Code:foreach($param as $key=>$wert)
{
$request.= $key."=".urlencode($wert);
$request.= "&";
}
sobald ich weiß, wie ich das aufrufen der adresse realisiere, leg ich das alles in eine schleife, die je nach anzahl der rufnummern ausgeführt wird...
aber an dieser Stelle bin ich noch nicht angelangt !
Einen Kommentar schreiben:
-
Du solltest dich erstmal mit den Schleifen for, while und foreach befassen. Die SMSen kannst du sicherlich auch über den fopen-http-wrapper versenden, da brauchts meist kein cURL zu.
Einen Kommentar schreiben:
-
Sollte eigentlich funktionieren.
Schreib dir doch einfach ein kleines Testscript bzw. lad dir ein cURL-Beispielskript hoch, führ es aus und dann siehst du ob es passt
Einen Kommentar schreiben:
-
wie ich grad feststelle, seh ich über die provider phpinfo(), dass ich in sachen curl das installiert habe :
[COLOR=Blue]libcurl/7.18.2 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.8 libssh2/0.18 [/COLOR]
reicht das aus, um mich mit curl zu beschäftigen und damit eventuell mein vorhaben umzusetzen ?
Einen Kommentar schreiben:
-
Hallo mrs_rookie,
schau dir das mal an PHP: cURL - Manual.
In Sachen externe URL's aufrufen bin ich zwar nicht der Meister, aber ich glaube es geht auch mit fopen http://php.net/fopen.
Viel Erfolg
BjörnZuletzt geändert von mkb_webprint; 22.07.2009, 09:14.
Einen Kommentar schreiben:
-
url aufrufen in schleife ?
Guten Morgen.
zuerst einmal..hallihallo... ich bin die neue aus berlin...
ich hoffe, dass mir jemand von euch helfen kann, bei einem problem, was ich auf meiner seite habe.
ich verwende schon einige zeit ein wenig php, aber noch nicht so lange daher weiß ich nich so genau, wie ich das folgende lösen kann:
ich hab auf meienr webseite ein textfield, das platz für 160 zeichen hat, damit ich von dort aus sms versenden kann, nun möchte ich aber manchmal eine sms an mehrer empfänger versenden, was ich bisher nur manuell machen kann, aber das kostet viel zeit, wenn ich all meine freunde und bekannten erreichen möchte!
zum wichtigen: um eine sms zu versenden, muss ich eine url aufrufen, die ein sms-gateway anspricht... ungefähr so:
example.com/smsgateway.php?nr=49123456&message=heute+feiern+wir
ich kenne bisher nur dieses header() funktion, die ich aber nicht in eienr schleife aufrufen kann. Wie kann man sowas sonst bewerkstelligen.
Eventuell müßte ich auch einen statuscode 200 empfangen, damit ich weiß, dass die url komplett angenommen wurde...
kann mir da jemand sagen, was ich mir dafür angucken muss, bzw wir man vorgeht um so etwas zu realisieren ?
viele grüßeStichworte: -
Einen Kommentar schreiben: