Avatar billede lojmann Nybegynder
16. december 2000 - 19:51 Der er 13 kommentarer og
2 løsninger

SMS script / find udbyder

Hej,

Jeg leder efter en PHP script, sp, finder ud af hvilke udbyder som man har, og så sætter \"@hvad.udbyderen.nu.har.dk\" ind efter nummeret...
Det skal være nemt af implementere i et andet script, eller sagt på en anden måde - det jeg er interesseret i, er den if/else sætning, som bestemmer udbyderen...

Noget i stil med dette gamle script:

if ($nummer < 20599999) { $nummer = \"$nummer@sms.tdm.dk\"; }
elseif ($nummer < 20999999) { $nummer = \"$nummer@note.sonofon.dk\"; }
elseif ($nummer < 21999999) { $nummer = \"$nummer@sms.tdm.dk\"; }
elseif ($nummer < 22999999) { $nummer = \"$nummer@note.sonofon.dk\"; }
elseif ($nummer < 23999999) { $nummer = \"$nummer@sms.tdm.dk\"; }
elseif ($nummer < 26999999) { $nummer = \"$nummer@sms.mobilix.dk\"; }
elseif ($nummer < 28999999) { $nummer = \"$nummer@gsm1800.telia.dk\"; }
elseif ($nummer < 30749999) { $nummer = \"$nummer@sms.tdm.dk\"; }
elseif ($nummer < 30919999) { $nummer = \"$nummer@sms.tdm.dk\"; }
elseif ($nummer < 30999999) { $nummer = \"$nummer@sms.tdm.dk\"; }
elseif ($nummer < 36899999) { $nummer = \"$nummer@sms.tdm.dk\"; }
elseif ($nummer < 37999999) { $nummer = \"$nummer@sms.tdm.dk\"; }
elseif ($nummer < 39999999) { $nummer = \"$nummer@sms.tdm.dk\"; }
elseif ($nummer < 40499999) { $nummer = \"$nummer@sms.tdm.dk\"; }
elseif ($nummer < 40999999) { $nummer = \"$nummer@note.sonofon.dk\"; }
elseif ($nummer < 46799999) { $nummer = \"$nummer@sms.tdm.dk\"; }
elseif ($nummer < 49799999) { $nummer = \"$nummer@sms.tdm.dk\"; }
elseif ($nummer < 50299999) { $nummer = \"$nummer@sms.tdm.dk\"; }
elseif ($nummer < 66899999) { $nummer = \"$nummer@sms.tdm.dk\"; }

PS: Det SKAL være med alle de nyeste nummere serie... Jeg ved godt at man ikke kan tage forbehold for at man får flyttet sit nummer med over, så pyt med den lille ting :)
Avatar billede iss Novice
16. december 2000 - 19:55 #1
Her er hvad jeg bruger:

if ((20100000<$til) and ($til<20169999)) {
    $errortxt = $email = \"$til@sms.tdm.dk\";
    }
elseif ((20190000<$til) and ($til<20339999)) {
    $errortxt = $email = \"$til@sms.tdm.dk\";
    }
elseif ((20400000<$til) and ($til<20409999)) {
    $errortxt = $email = \"$til@sms.tdm.dk\";
    }
elseif ((20600000<$til) and ($til<20999999)) {
    $errortxt = $email = \"$til@note.sonofon.dk\";
    }
elseif ((21200000<$til) and ($til<21299999)) {
    $errortxt = $email = \"$til@sms.tdm.dk\";
    }
elseif ((21400000<$til) and ($til<21499999)) {
    $errortxt = $email = \"$til@sms.tdm.dk\";
    }
elseif ((21600000<$til) and ($til<21999999)) {
    $errortxt = $email = \"$til@sms.tdm.dk\";
    }
elseif ((22100000<$til) and ($til<22999999)) {
    $errortxt = $email = \"$til@note.sonofon.dk\";
    }
elseif ((23200000<$til) and ($til<23999999)) {
    $errortxt = $email = \"$til@sms.tdm.dk\";
    }
elseif ((24100000<$til) and ($til<24999999)) {
    $errortxt = $email = \"$til@sms.tdm.dk\";
    }
elseif ((25100000<$til) and ($til<25399999)) {
    $errortxt = $email = \"$til@note.sonofon.dk\";
    }
elseif ((25500000<$til) and ($til<25599999)) {
    echo \"<b>$til</b> er et Tele1 Europa nummer, vi kender desv&aelig;re ikke deres e-mail.<br><br>\";
    }
elseif ((25700000<$til) and ($til<25799999)) {
    echo \"<b>$til</b> er et Tele2 nummer, vi kender desv&aelig;re ikke deres e-mail.<br><br>\";
    }
elseif ((25910000<$til) and ($til<25929999)) {
    echo \"<b>$til</b> er et TelePassport nummer, vi kender desv&aelig;re ikke deres e-mail.<br><br>\";
    }
elseif ((26100000<$til) and ($til<26999999)) {
    $errortxt = $email = \"$til@sms.mobilix.dk\";
    }
elseif ((27100000<$til) and ($til<27399999)) {
    $errortxt = $email = \"$til@sms.mobilix.dk\";
    }
elseif ((28100000<$til) and ($til<28899999)) {
    $errortxt = $email = \"$til@gsm1800.telia.dk\";
    }
elseif ((40100000<$til) and ($til<40119999)) {
    $errortxt = $email = \"$til@sms.tdm.dk\";
    }
elseif ((40130000<$til) and ($til<40219999)) {
    $errortxt = $email = \"$til@sms.tdm.dk\";
    }
elseif ((40250000<$til) and ($til<40469999)) {
    $errortxt = $email = \"$til@sms.tdm.dk\";
    }
elseif ((40500000<$til) and ($til<40999999)) {
    $errortxt = $email = \"$til@note.sonofon.dk\";
    }
else {
    echo \"<b>$til</b> er ikke et, for os, kendt GSM mobilnummer.<br><br>\";
    }
Avatar billede mortenfn Nybegynder
16. december 2000 - 19:59 #2
ok hvis du sletter nummer@ i alle $nummer@sms.tdm.dk\";
og derefter
$nummer = $det indtastet_nr.\"@\".$nummer

fik du den?
Avatar billede mortenfn Nybegynder
16. december 2000 - 20:03 #3
her er den så:

if ($nummer < 20599999) { $nummer = \"$nummer@sms.tdm.dk\"; }
elseif ($nummer < 20999999) { $nummer1 = \"note.sonofon.dk\"; }
elseif ($nummer < 21999999) { $nummer1 = \"sms.tdm.dk\"; }
elseif ($nummer < 22999999) { $nummer1 = \"note.sonofon.dk\"; }
elseif ($nummer < 23999999) { $nummer1 = \"sms.tdm.dk\"; }
elseif ($nummer < 26999999) { $nummer1 = \"sms.mobilix.dk\"; }
elseif ($nummer < 28999999) { $nummer1 = \"gsm1800.telia.dk\"; }
elseif ($nummer < 40499999) { $nummer1 = \"sms.tdm.dk\"; }
elseif ($nummer < 40999999) { $nummer1 = \"note.sonofon.dk\"; }
elseif ($nummer < 66899999) { $nummer1 = \"sms.tdm.dk\"; }

$adresse = $nummer.\"@\".$nummer1;
Avatar billede lojmann Nybegynder
16. december 2000 - 20:04 #4
iss -> Hvad fa\'n bruges variablen \"$errortxt\" til i dit script?

Regards,
Thomas Løjmann
- Offer for en jule frokkest med fri bar!!!
Avatar billede iss Novice
16. december 2000 - 20:06 #5
lojmann -> $errortxt bruger jeg ikke mere men før i tiden brugte jeg den til at se noget med typer, da jeg undersøger om på nummret og ville være sikker på det var en int.
Avatar billede mortenfn Nybegynder
16. december 2000 - 20:13 #6
den lægler den sidste jeg tror denne er bedre

if ($nummer < 20599999) { $nummer = \"sms.tdm.dk\"; }
elseif ($nummer < 20999999 and >21999999) { $nummer1 = \"note.sonofon.dk\"; }
elseif ($nummer < 21999999 and >22999999) { $nummer1 = \"sms.tdm.dk\"; }
elseif ($nummer < 22999999 and >23999999) { $nummer1 = \"note.sonofon.dk\"; }
elseif ($nummer < 23999999 and >26999999) { $nummer1 = \"sms.tdm.dk\"; }
elseif ($nummer < 26999999 and >28999999) { $nummer1 = \"sms.mobilix.dk\"; }
elseif ($nummer < 28999999 and >28999999) { $nummer1 = \"gsm1800.telia.dk\"; }
elseif ($nummer < 40499999 and >40999999) { $nummer1 = \"sms.tdm.dk\"; }
elseif ($nummer < 40999999 and >66899999) { $nummer1 = \"note.sonofon.dk\"; }
elseif ($nummer < 66899999) { $nummer1 = \"sms.tdm.dk\"; }

$adresse = $nummer.\"@\".$nummer1;
Avatar billede andreas Nybegynder
16. december 2000 - 20:24 #7
brug dog


$nummer = $nummer.\"@sms.mobilix.dk\";

de sørger selv for at sende til den rigtige udbyder...
Avatar billede mortenfn Nybegynder
16. december 2000 - 20:26 #8
nu er den testet og er ok

<?php
$nummer=22568974;

if($nummer>20599999 and $nummer<20999999)$nummmer1=\"sms.tdm.dk\";
if($nummer > 20999999 and $nummer<21999999) $nummer1 = \"note.sonofon.dk\";
if ($nummer > 21999999 and $nummer<22999999) $nummer1 = \"sms.tdm.dk\";
if ($nummer > 22999999 and $nummer<23999999) $nummer1 = \"note.sonofon.dk\";
if ($nummer > 23999999 and $nummer<26999999) $nummer1 = \"sms.tdm.dk\";
if ($nummer > 26999999 and $nummer<28999999) $nummer1 = \"sms.mobilix.dk\";
if ($nummer > 28999999 and $nummer<28999999) $nummer1 = \"gsm1800.telia.dk\";
if ($nummer > 40499999 and $nummer<40999999) $nummer1 = \"sms.tdm.dk\";
if ($nummer > 40999999 and $nummer<66899999) $nummer1 = \"note.sonofon.dk\";
if ($nummer > 66899999) $nummer1 = \"sms.tdm.dk\";

$adresse = $nummer.\"@\".$nummer1;

echo $adresse;
?>

Avatar billede iss Novice
16. december 2000 - 20:28 #9
mortenfn -> Er der nogle GSM mobil nummere over 40999999? For Telestyrelsen kender ikke dem over 40999999...

Og lige en modificeret udgave:

if ((20100000<$nr) and ($nr<20169999)) { $udb = \"sms.tdm.dk\"; }
elseif ((20190000<$nr) and ($nr<20339999)) { $udb = \"sms.tdm.dk\"; }
elseif ((20400000<$nr) and ($nr<20409999)) { $udb = \"sms.tdm.dk\"; }
elseif ((20600000<$nr) and ($nr<20999999)) { $udb = \"note.sonofon.dk\"; }
elseif ((21200000<$nr) and ($nr<21299999)) { $udb = \"sms.tdm.dk\"; }
elseif ((21400000<$nr) and ($nr<21499999)) { $udb = \"sms.tdm.dk\"; }
elseif ((21600000<$nr) and ($nr<21999999)) { $udb = \"sms.tdm.dk\"; }
elseif ((22100000<$nr) and ($nr<22999999)) { $udb = \"note.sonofon.dk\"; }
elseif ((23200000<$nr) and ($nr<23999999)) { $udb = \"sms.tdm.dk\"; }
elseif ((24100000<$nr) and ($nr<24999999)) { $udb = \"sms.tdm.dk\"; }
elseif ((25100000<$nr) and ($nr<25399999)) { $udb = \"note.sonofon.dk\"; }
elseif ((25500000<$nr) and ($nr<25599999)) { echo \"<b>$nr</b> er et Tele1 Europa nummer, vi kender desv&aelig;re ikke deres e-mail.<br><br>\"; }
elseif ((25700000<$nr) and ($nr<25799999)) { echo \"<b>$nr</b> er et Tele2 nummer, vi kender desv&aelig;re ikke deres e-mail.<br><br>\"; }
elseif ((25910000<$nr) and ($nr<25929999)) { echo \"<b>$nr</b> er et TelePassport nummer, vi kender desv&aelig;re ikke deres e-mail.<br><br>\"; }
elseif ((26100000<$nr) and ($nr<26999999)) { $udb = \"sms.mobilix.dk\"; }
elseif ((27100000<$nr) and ($nr<27399999)) { $udb = \"sms.mobilix.dk\"; }
elseif ((28100000<$nr) and ($nr<28899999)) { $udb = \"sm1800.telia.dk\"; }
elseif ((40100000<$nr) and ($nr<40119999)) { $udb = \"sms.tdm.dk\"; }
elseif ((40130000<$nr) and ($nr<40219999)) { $udb = \"sms.tdm.dk\"; }
elseif ((40250000<$nr) and ($nr<40469999)) { $udb = \"sms.tdm.dk\"; }
elseif ((40500000<$nr) and ($nr<40999999)) { $udb = \"note.sonofon.dk\"; }
else { echo \"<b>$nr</b> er ikke et, for os, kendt GSM mobilnummer.<br><br>\"; }
Avatar billede lojmann Nybegynder
16. december 2000 - 20:29 #10
Det blev mortenfn\'s løsning jeg brugte... Det var det nemmeste. Tak for det!

Andreass -> Den går ikke mere, jeg tror de har lukket for den mulighed, de slyngler :) (Det var nemlig den løsning jeg brugte før!)

Tak for jeres interesse!

Regards,
Thomas Løjmann Jørgensen
- Stadig lidt stiv!
Avatar billede mortenfn Nybegynder
16. december 2000 - 20:34 #11
jeg kompinerer lige min + iss + andreas så er den nemlig optimal.

så næste gang har jeg den færdige.

tak for p..
Avatar billede lojmann Nybegynder
16. december 2000 - 20:36 #12
Smider du den optimerede version ud her? Det kunne være cult :)
Avatar billede mortenfn Nybegynder
16. december 2000 - 20:40 #13
OK
Avatar billede mortenfn Nybegynder
20. december 2000 - 22:19 #14
Her er den så - den optimerede version - nummerserierne er d.d. hendtet hos telestyrelsen

<?php if(!$nr){ ?>
<form method=\"post\" action=\"<? echo $PHP_SELF; ?>\" >
Til:<br><input type=\"text\" name=\"nr\" size=\"10\" maxlength=\"8\"><br>
Dit navn:<br><input type=\"text\" name=\"fra\" size=\"12\" maxlength=\"12\"><br>
Besked:<br><textarea name=\"besked\" rows=\"7\" cols=\"30\" ></textarea>
<p><input type=\"Submit\" value=\"Send SMS Besked\">
<?php }
else{
if(($nr>=20100000 and $nr<=20599999)or($nr>=21100000 and $nr<=21999999)or($nr>=23100000 and $nr<=24999999)or($nr>=29100000 and $nr<=29999999)
or($nr>=40100000 and $nr<=40119999)or($nr>=40130000 and $nr<=40219999)or($nr>=40250000 and $nr<=40469999)or($nr>=51100000 and $nr<=51399999))$tilnr =$nr.\"@sms.tdm.dk\";
if(($nr>=20600000 and $nr<=20999999)or($nr>=22100000 and $nr<=22999999)or($nr>=25100000 and $nr<=25399999)or($nr>=40500000 and $nr<=40999999))$tilnr =$nr.\"@note.sonofon.dk\";
if($nr>=25700000 and $nr<=25799999)$tilnr =$nr.\"@sms.tele2.dk\";
if($nr>=26100000 and $nr<=27399999)$tilnr =$nr.\"@sms.mobilix.dk\";
if($nr>=28100000 and $nr<=28999999)$tilnr =$nr.\"@gsm1800.telia.dk\";
if(!$tilnr){echo \"Nummeret er ikke et gyldigt mobil-nummer\";exit;}
//if(
mail($tilnr,\"\",\"Fra $fra: $besked\");
echo \"Din SMS-besked er blevet sendt til $nr\";

/morten
Avatar billede theory Nybegynder
09. maj 2001 - 17:56 #15
mangler der ikke en } til slut ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester