Hallo zusammen,
meine Frage bezieht sich vielleicht etwas auf php, aber vielleicht kann mir ja trotzdem jemand weiterhelfen. Ich habe auf der Fritzbox einen Apache laufen. Um die kosten vom Festnetz ins Handynetz zu reduzieren habe ich mir ein Guthaben bei SMSdiscount.com gekauft. Die bieten auch an, direkt per Webseite SMS zu verschicken. Diese Möglichkeit möchte ich als kleine Webseite auf meiner Fritzbox laufen lassen. Ich habe mir bereits einige Infos zusammengesucht, aber ich habe leider nicht viel Ahnung von php und skripten.
Die SMS wird mit folgendem Link generiert:
https://myaccount.smsdiscount.com/c...from=xxxxxxxxxx&to=xxxxxxxxxx&text=xxxxxxxxxx
username: Benutzername
password: wird wohl klar sein
from: Absendenummer/Kontoname
to: Empfängernummer (muss international sein, also so +4901701231231)
text: Der Text mit 160 Zeichen. Es werden hier auch Leerzeichen akzeptiert
Die php:
[Edit frank_m24: Bitte benutzt CODE Tags für solche Ausgaben.]
Die send.sh:
Wenn ich was eintrage erscheint in der Adresszeile so etwas:
http://sms.meinedomain.net/sms.php?mobile=+491702182581&sms=test+test+nick+text
in der datei string.ini
Probleme:
1. In der Datei string.ini wird das "+" vor der Handynummer nicht übernommen
2. In der Datei string.ini wird ein "+" zwischen jedes Wort gesetzt
3. Die Datei send.sh scheint nicht zu funktionieren.
Vielen Dank im Vorraus.
Gruß nick81
meine Frage bezieht sich vielleicht etwas auf php, aber vielleicht kann mir ja trotzdem jemand weiterhelfen. Ich habe auf der Fritzbox einen Apache laufen. Um die kosten vom Festnetz ins Handynetz zu reduzieren habe ich mir ein Guthaben bei SMSdiscount.com gekauft. Die bieten auch an, direkt per Webseite SMS zu verschicken. Diese Möglichkeit möchte ich als kleine Webseite auf meiner Fritzbox laufen lassen. Ich habe mir bereits einige Infos zusammengesucht, aber ich habe leider nicht viel Ahnung von php und skripten.
Die SMS wird mit folgendem Link generiert:
https://myaccount.smsdiscount.com/c...from=xxxxxxxxxx&to=xxxxxxxxxx&text=xxxxxxxxxx
username: Benutzername
password: wird wohl klar sein
from: Absendenummer/Kontoname
to: Empfängernummer (muss international sein, also so +4901701231231)
text: Der Text mit 160 Zeichen. Es werden hier auch Leerzeichen akzeptiert
Die php:
[Edit frank_m24: Bitte benutzt CODE Tags für solche Ausgaben.]
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>SMS Dienst</title>
</head>
<body>
<?php
// https://myaccount.smsdiscount.com/clx/sendsms.php?username=xxxxxxxxxx&password=xxxxxxxxxx&from=xxxxxxxxxx&to=xxxxxxxxxx&text=xxxxxxxxxx
$maxSizeSms = 160;
DEFINE('user', 'meinbenutzername');
DEFINE('password', 'meinpw');
DEFINE('nummer', '01701234567');
$filename = "string.ini";
if( isset($_GET['mobile']) && isset($_GET['sms']) ){
$sms = urlencode(substr($_GET['sms'], 0, $maxSizeSms));
preg_match_all('/[\d]{11}/', $_GET['mobile'], $mobile);
$Url = 'https://myaccount.smsdiscount.com/clx/sendsms.php?';
$Url .= 'username='.user.'&password='.password.'&from='.nummer;
$Url .= '&to='.$mobile[0][0].'&text='.$sms;
$handle = fopen($filename, "wb");
fwrite($handle, $Url);
fclose($handle);
shell_exec('./send.sh');
}
?>
<form method="get" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>">
Handy Nummer<br />
<input type="text" name="mobile" size="15" maxlength="15" value="" /><br />
Nachricht (maximal <?php echo $maxSizeSms ?> Zeichen)<br />
<input type="text" name="sms" size="30" maxlength="<?php echo $maxSizeSms ?>" value="" /><br />
<input type="submit" value="Senden" />
</form>
</body>
</html>
Die send.sh:
#!/bin/ash
cat string.ini | curl
Wenn ich was eintrage erscheint in der Adresszeile so etwas:
http://sms.meinedomain.net/sms.php?mobile=+491702182581&sms=test+test+nick+text
in der datei string.ini
Probleme:
1. In der Datei string.ini wird das "+" vor der Handynummer nicht übernommen
2. In der Datei string.ini wird ein "+" zwischen jedes Wort gesetzt
3. Die Datei send.sh scheint nicht zu funktionieren.
Vielen Dank im Vorraus.
Gruß nick81