/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
PHP SMSsender
Fra : Henrik Koksby Hansen


Dato : 01-06-01 00:10

Hej i gruppen. Jeg er ret ny i PHP (har kun læst den første del af
PHP-tutorial'en på http://www.webcafe.dk/)

Jeg har forsøgt mig lidt med subj. og har lidt problemer.

Jeg ved ikke om det er for meget at poste koden, men...

--- klip ---
<?
// Sender email.
$sender = "SMS <SMS@domain.com>";
// Webmaster GSM number.
$webmasternummer = xxxxxxx;
// SMS message length.
$maxmessagelength = "345";


if($action == "send"){
   if (strtolower($numb) == "webmaster") {$numb =
$webmasternummer;}

   $numb = (($numb+1)-1);
   $messagelength = strlen($message);

   if ($messagelength > $maxmessagelength) {echo "<strong>Message
was too long!</strong>";}
   elseif ($from == "") {echo "<strong>No name given!</strong>";}
   elseif($message == "") {echo "<strong>No message
given!</strong>";}
   elseif($numb == 0) {echo "<strong>No number given!</strong>";}
   else {

   if ((20100000<=$numb) and ($numb<=20169999)) { $prov =
"sms.tdm.dk"; }
   elseif ((20190000<=$numb) and ($numb<=20339999)) { $prov =
"sms.tdm.dk"; }
   elseif ((20400000<=$numb) and ($numb<=20409999)) { $prov =
"sms.tdm.dk"; }
   elseif ((20600000<=$numb) and ($numb<=20999999)) { $prov =
"note.sonofon.dk"; }
   elseif ((21200000<=$numb) and ($numb<=21299999)) { $prov =
"sms.tdm.dk"; }
   elseif ((21400000<=$numb) and ($numb<=21499999)) { $prov =
"sms.tdm.dk"; }
   elseif ((21600000<=$numb) and ($numb<=21999999)) { $prov =
"sms.tdm.dk"; }
   elseif ((22100000<=$numb) and ($numb<=22999999)) { $prov =
"note.sonofon.dk"; }
   elseif ((23200000<=$numb) and ($numb<=23999999)) { $prov =
"sms.tdm.dk"; }
   elseif ((24100000<=$numb) and ($numb<=24999999)) { $prov =
"sms.tdm.dk"; }
   elseif ((25100000<=$numb) and ($numb<=25399999)) { $prov =
"note.sonofon.dk"; }
   elseif ((25500000<=$numb) and ($numb<=25599999)) { echo
"<b>$numb</b> is a Tele1 Europa number we don't know there
e-mail.<br><br>"; }
   elseif ((25700000<=$numb) and ($numb<=25799999)) { echo
"<b>$numb</b> is a Tele2 number we don't know there e-mail.<br><br>";
}
   elseif ((25910000<=$numb) and ($numb<=25929999)) { echo
"<b>$numb</b> is a TelePassport number we don't know there
e-mail.<br><br>"; }
   elseif ((26100000<=$numb) and ($numb<=26999999)) { $prov =
"sms.mobilix.dk"; }
   elseif ((27100000<=$numb) and ($numb<=27399999)) { $prov =
"sms.mobilix.dk"; }
   elseif ((28100000<=$numb) and ($numb<=28899999)) { $prov =
"sm1800.telia.dk"; }
   elseif ((29100000<=$numb) and ($numb<=29999999)) { $prov =
"sms.tdm.dk"; }
   elseif ((40100000<=$numb) and ($numb<=40119999)) { $prov =
"sms.tdm.dk"; }
   elseif ((40130000<=$numb) and ($numb<=40219999)) { $prov =
"sms.tdm.dk"; }
   elseif ((40250000<=$numb) and ($numb<=40469999)) { $prov =
"sms.tdm.dk"; }
   elseif ((40500000<=$numb) and ($numb<=40999999)) { $prov =
"note.sonofon.dk"; }
   elseif ((51100000<=$numb) and ($numb<=51399999)) { $prov =
"sms.tdm.dk"; }
   elseif ((51600000<=$numb) and ($numb<=51999999)) { $prov =
"sms.tdm.dk"; }
   elseif ((52200000<=$numb) and ($numb<=52299999)) { echo
"<b>$numb</b> is a Sense Communications number we don't know there
e-mail.<br><br>"; }
   else { echo "<b>$numb</b> is for us not a know GSM cellular
number.<br><br>";}

   $email = $numb."@".$prov;

   if ($numb == $webmasternummer) {$numb = "Webmaster";}

   if (!$prov=="") {

      $maxmsglen = 115;
      $i = 0;
      $tmpmsg = $message;
      $tmpmsglen = strlen($tmpmsg);

      while ($tmpmsglen > $maxmsglen) {
         $msg[$i] = substr($tmpmsg, 0, $maxmsglen);
         $tmpmsg = substr($tmpmsg, $maxmsglen);
         $tmpmsglen = strlen($tmpmsg);
         $i++;
      }

      $msg[$i] = $tmpmsg;
      $i++;
      $x = 0;

      while ($x < $i) {
         $tmpmsg = $msg[$x];
         $x++;
         mail("$email", "", " From: $from - $x/$i
:$tmpmsg", "From: $sender");
      }
      if ($i>1) {
         echo "Message was sent to
<strong>$numb</strong> in <strong>$i</strong> parts using
<strong>$prov</strong>.<br>";
      }
      else {
         echo "Message was sent to
<strong>$numb</strong> using <strong>$prov</strong>.<br>";
      }
   }
      echo "<br><a href=\"$PHP_SELF\">Back</a>";
   }
}
else {
?>
--- klip ---
+ et lille stykke javascript til at holde øje med antal tegn og så en
form, hvor man putter modtager osv. ind.

Skulle det være rigeligt til at sende en SMS ? Mangler der ikke den
del, som sender e-mail'en ?

Alt ser ud til at fungere fint - bortset fra at sms'en aldrig kommer
frem.. .

Scriptet kan ses online på www.koksby.dk/smssender.phtml





 
 
Anders K. Madsen (01-06-2001)
Kommentar
Fra : Anders K. Madsen


Dato : 01-06-01 01:29

Jeg har altså oplevet at det kunne tage op til 2 uger før en sms sendt
fra nettet af mig selv til min egen telefon, blev modtaget, så medmindre
du har testet det grundigt, så kan det sagtens være at det virker fint...

Umiddelbart kan jeg ikke se nogle fejl i scriptet, men kig engang på
post-tiden for dette indlæg og overvej hvor træt jeg er efter sidste nat
uden søvn...

Husk nu at "mobilix" har skiftet navn til "orange", hvorfor forstod ingen
rigtig helt...
--
Anders K. Madsen :: http://madsen.sjovedyr.dk :: #118263303

   God spoke to me, no not Linus Torvalds or Richard Stallman, but God...
   "cat vmliuz-2.4.2-2 > /dev/audio"
   --
   Microsoft is not the answer.
   Microsoft is the question.
   NO (or Linux) is the answer.

Dennis T. (01-06-2001)
Kommentar
Fra : Dennis T.


Dato : 01-06-01 09:12

Anders K. Madsen wrote on Friday 01 June 2001 02:29 in
<3gBR6.9258$dS3.587572@news010.worldonline.dk>:

> Jeg har altså oplevet at det kunne tage op til 2 uger før en sms sendt
> fra nettet af mig selv til min egen telefon, blev modtaget, så
> medmindre du har testet det grundigt, så kan det sagtens være at det
> virker fint...

Du kan ligeså godt droppe scriptet, da det snart ikke længere kan
bruges, pga. nummerportabilitet - du har ingen chance for at vide,
hvilket nummer hører til hvilket selsskab.

> Husk nu at "mobilix" har skiftet navn til "orange", hvorfor forstod
> ingen rigtig helt...

og tdk og wol...

/Dennis


Henrik Koksby Hansen (01-06-2001)
Kommentar
Fra : Henrik Koksby Hansen


Dato : 01-06-01 10:31

>Du kan ligeså godt droppe scriptet, da det snart ikke længere kan
>bruges, pga. nummerportabilitet - du har ingen chance for at vide,
>hvilket nummer hører til hvilket selsskab.
[...]

Det tror jeg du har ret i.

Det hører sikkert ikke til i denne gruppe, men jeg mener at
@sms.tdm.dk sender til alle selskaber. (?)

Så er det jo bare at rette adresserne til dét.


--
Henrik Koksby.dk Hansen

Martin Højriis Krist~ (02-06-2001)
Kommentar
Fra : Martin Højriis Krist~


Dato : 02-06-01 11:49

"Henrik Koksby Hansen" <webmaster@koksby.dk> skrev i en meddelelse
news:h4oeht40vlsollorm5d2qjk1b3be7naedc@4ax.com...
> Det hører sikkert ikke til i denne gruppe, men jeg mener at
> @sms.tdm.dk sender til alle selskaber. (?)

Nej

--
Med Venlig Hilsen

Martin Højriis Kristensen
Svar bedes baseret på RFC1855
Jeg repræsenterer med denne udtalelse mig selv og ikke TDC Internet


Martin Højriis Krist~ (02-06-2001)
Kommentar
Fra : Martin Højriis Krist~


Dato : 02-06-01 11:49

"Henrik Koksby Hansen" <webmaster@koksby.dk> skrev i en meddelelse
news:h4oeht40vlsollorm5d2qjk1b3be7naedc@4ax.com...
> Det hører sikkert ikke til i denne gruppe, men jeg mener at
> @sms.tdm.dk sender til alle selskaber. (?)

Nej

--
Med Venlig Hilsen

Martin Højriis Kristensen
Svar bedes baseret på RFC1855
Jeg repræsenterer med denne udtalelse mig selv og ikke TDC Internet


Henrik Koksby Hansen (01-06-2001)
Kommentar
Fra : Henrik Koksby Hansen


Dato : 01-06-01 10:30

>Jeg har altså oplevet at det kunne tage op til 2 uger før en sms sendt
>fra nettet af mig selv til min egen telefon, blev modtaget, så medmindre
>du har testet det grundigt, så kan det sagtens være at det virker fint...
[...]

Hvis jeg bruger mit mail-program er beskeden der sekunder efter. Det
er derfor jeg tror at der er noget galt... :(




u2pa (01-06-2001)
Kommentar
Fra : u2pa


Dato : 01-06-01 04:55

Du har ihvertfald en lille fejl..
det er gsm1800.telia.dk
ikke sm1800.telia.dk

:)


"Henrik Koksby Hansen" <webmaster@koksby.dk> wrote in message
news:ugjdht45p8i4cch1q0n44cm3v4pkmfdmvo@4ax.com...
> Hej i gruppen. Jeg er ret ny i PHP (har kun læst den første del af
> PHP-tutorial'en på http://www.webcafe.dk/)
>
> Jeg har forsøgt mig lidt med subj. og har lidt problemer.
>
> Jeg ved ikke om det er for meget at poste koden, men...
>
> --- klip ---
> <?
> // Sender email.
> $sender = "SMS <SMS@domain.com>";
> // Webmaster GSM number.
> $webmasternummer = xxxxxxx;
> // SMS message length.
> $maxmessagelength = "345";
>
>
> if($action == "send"){
> if (strtolower($numb) == "webmaster") {$numb =
> $webmasternummer;}
>
> $numb = (($numb+1)-1);
> $messagelength = strlen($message);
>
> if ($messagelength > $maxmessagelength) {echo "<strong>Message
> was too long!</strong>";}
> elseif ($from == "") {echo "<strong>No name given!</strong>";}
> elseif($message == "") {echo "<strong>No message
> given!</strong>";}
> elseif($numb == 0) {echo "<strong>No number given!</strong>";}
> else {
>
> if ((20100000<=$numb) and ($numb<=20169999)) { $prov =
> "sms.tdm.dk"; }
> elseif ((20190000<=$numb) and ($numb<=20339999)) { $prov =
> "sms.tdm.dk"; }
> elseif ((20400000<=$numb) and ($numb<=20409999)) { $prov =
> "sms.tdm.dk"; }
> elseif ((20600000<=$numb) and ($numb<=20999999)) { $prov =
> "note.sonofon.dk"; }
> elseif ((21200000<=$numb) and ($numb<=21299999)) { $prov =
> "sms.tdm.dk"; }
> elseif ((21400000<=$numb) and ($numb<=21499999)) { $prov =
> "sms.tdm.dk"; }
> elseif ((21600000<=$numb) and ($numb<=21999999)) { $prov =
> "sms.tdm.dk"; }
> elseif ((22100000<=$numb) and ($numb<=22999999)) { $prov =
> "note.sonofon.dk"; }
> elseif ((23200000<=$numb) and ($numb<=23999999)) { $prov =
> "sms.tdm.dk"; }
> elseif ((24100000<=$numb) and ($numb<=24999999)) { $prov =
> "sms.tdm.dk"; }
> elseif ((25100000<=$numb) and ($numb<=25399999)) { $prov =
> "note.sonofon.dk"; }
> elseif ((25500000<=$numb) and ($numb<=25599999)) { echo
> "<b>$numb</b> is a Tele1 Europa number we don't know there
> e-mail.<br><br>"; }
> elseif ((25700000<=$numb) and ($numb<=25799999)) { echo
> "<b>$numb</b> is a Tele2 number we don't know there e-mail.<br><br>";
> }
> elseif ((25910000<=$numb) and ($numb<=25929999)) { echo
> "<b>$numb</b> is a TelePassport number we don't know there
> e-mail.<br><br>"; }
> elseif ((26100000<=$numb) and ($numb<=26999999)) { $prov =
> "sms.mobilix.dk"; }
> elseif ((27100000<=$numb) and ($numb<=27399999)) { $prov =
> "sms.mobilix.dk"; }
> elseif ((28100000<=$numb) and ($numb<=28899999)) { $prov =
> "sm1800.telia.dk"; }
> elseif ((29100000<=$numb) and ($numb<=29999999)) { $prov =
> "sms.tdm.dk"; }
> elseif ((40100000<=$numb) and ($numb<=40119999)) { $prov =
> "sms.tdm.dk"; }
> elseif ((40130000<=$numb) and ($numb<=40219999)) { $prov =
> "sms.tdm.dk"; }
> elseif ((40250000<=$numb) and ($numb<=40469999)) { $prov =
> "sms.tdm.dk"; }
> elseif ((40500000<=$numb) and ($numb<=40999999)) { $prov =
> "note.sonofon.dk"; }
> elseif ((51100000<=$numb) and ($numb<=51399999)) { $prov =
> "sms.tdm.dk"; }
> elseif ((51600000<=$numb) and ($numb<=51999999)) { $prov =
> "sms.tdm.dk"; }
> elseif ((52200000<=$numb) and ($numb<=52299999)) { echo
> "<b>$numb</b> is a Sense Communications number we don't know there
> e-mail.<br><br>"; }
> else { echo "<b>$numb</b> is for us not a know GSM cellular
> number.<br><br>";}
>
> $email = $numb."@".$prov;
>
> if ($numb == $webmasternummer) {$numb = "Webmaster";}
>
> if (!$prov=="") {
>
> $maxmsglen = 115;
> $i = 0;
> $tmpmsg = $message;
> $tmpmsglen = strlen($tmpmsg);
>
> while ($tmpmsglen > $maxmsglen)

> $msg[$i] = substr($tmpmsg, 0, $maxmsglen);
> $tmpmsg = substr($tmpmsg, $maxmsglen);
> $tmpmsglen = strlen($tmpmsg);
> $i++;
> }
>
> $msg[$i] = $tmpmsg;
> $i++;
> $x = 0;
>
> while ($x < $i)

> $tmpmsg = $msg[$x];
> $x++;
> mail("$email", "", " From: $from - $x/$i
> :$tmpmsg", "From: $sender");
> }
> if ($i>1) {
> echo "Message was sent to
> <strong>$numb</strong> in <strong>$i</strong> parts using
> <strong>$prov</strong>.<br>";
> }
> else {
> echo "Message was sent to
> <strong>$numb</strong> using <strong>$prov</strong>.<br>";
> }
> }
> echo "<br><a href=\"$PHP_SELF\">Back</a>";
> }
> }
> else {
> ?>
> --- klip ---
> + et lille stykke javascript til at holde øje med antal tegn og så en
> form, hvor man putter modtager osv. ind.
>
> Skulle det være rigeligt til at sende en SMS ? Mangler der ikke den
> del, som sender e-mail'en ?
>
> Alt ser ud til at fungere fint - bortset fra at sms'en aldrig kommer
> frem.. .
>
> Scriptet kan ses online på www.koksby.dk/smssender.phtml
>
>
>
>



Anders K. Madsen (01-06-2001)
Kommentar
Fra : Anders K. Madsen


Dato : 01-06-01 06:44

Hmm, jeg testede den i går aftes og har endnu ikke modtaget nogen SMS, så
måske burde man konkludere at den ikke virker og så lige kigge den kode
igennem igen...
Jeg kigger på det efter min eksamen i dag.

--
Anders K. Madsen :: http://madsen.sjovedyr.dk :: #118263303

   God spoke to me, no not Linus Torvalds or Richard Stallman, but God...
   "cat vmliuz-2.4.2-2 > /dev/audio"
   --
   Microsoft is not the answer.
   Microsoft is the question.
   NO (or Linux) is the answer.

Henrik Koksby Hansen (01-06-2001)
Kommentar
Fra : Henrik Koksby Hansen


Dato : 01-06-01 10:35

>Hmm, jeg testede den i går aftes og har endnu ikke modtaget nogen SMS, så
>måske burde man konkludere at den ikke virker og så lige kigge den kode
>igennem igen...
>Jeg kigger på det efter min eksamen i dag.
[...]

Det ville være dejligt.

For som nævnt virker det fint, når jeg sender fra mit mail-program
(naturligvis ikke til @sm1800.telia.dk, hehe), men ikke fra scriptet.
Måske er det mit webhotel, der er gal på den?




Henrik Koksby Hansen (02-06-2001)
Kommentar
Fra : Henrik Koksby Hansen


Dato : 02-06-01 10:29

>Hej i gruppen. Jeg er ret ny i PHP (har kun læst den første del af
>PHP-tutorial'en på http://www.webcafe.dk/)
>Jeg har forsøgt mig lidt med subj. og har lidt problemer.
[...]

Ok, nu VED jeg at der ikke er noget galt med scriptet.

Jeg har prøvet at bikse flg. sammen:

--- klip ---
<form action="<? echo $PHP_SELF; ?>?action=send" method="post">
    <br><br>
<b>Mobilnummer :</b><span style="position:absolute;
left:100;"><INPUT type="text" name="nummer"></span><BR><br>
<b>Dit navn :</b><span style="position:absolute;
left:100;"><INPUT type="text" name="fra"></span><br><br>
<b>Din besked :</b><span style="position:absolute;
left:100;"><TEXTAREA name="besked"></TEXTAREA></span><br>
      <input style="position:absolute; top:160;"
type="submit" value="Send">
</FORM>

<?
if($action == "send"){
   if ($fra == "") { echo "<br>Du har ikke skrevet dit navn."; }
   elseif ($besked == "") { echo "<br>Du har ikke skrevet nogen
besked"; }
   else {
      $server = "@sms.tdm.dk";
      $til = "$nummer"."$server";
      if ($nummer<=20000000 OR $nummer>=61399999) {   echo
"<br>Du har indtastet et ugyldigt, eller intet mobilnummer."; }
      else { mail("$til", "Fra $fra: $besked", "", "From:
sms@koksby.dk");
      echo "<br>Din SMS er afsendt til $nummer via $server
...."; }
   }
}
?>
--- klip ---

og hvis jeg indsætter

$til ="min@email.dk" istedet for $til = "$nummer"."$server";

får jeg emailen med det samme, og SMS'en, som jeg får videresendt fra
emailkontoen kommer også med det samme.

og hvis jeg lader det være og istedet indsætter en echo "$til" kan jeg
se at mail-addressen også er korrekt; mobilnummer@sms.tdm.dk

KAN det være mit webhotel?

Jeg har som sagt ikke meget forstand på PHP, men jeg skulle da mene at
det ikke er min fejl?


--
Henrik Koksby.dk Hansen

Søg
Reklame
Statistik
Spørgsmål : 177556
Tips : 31968
Nyheder : 719565
Indlæg : 6408861
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste