sende en sms ud til ALLE som har tilmeldt sig "guldkorn" sende en sms ud til ALLE som har tilmeldt sig "jokes" sende en sms ud til ALLE som har tilmeldt sig "kærlighed"
osv.
i hver kategori skal der så være noget forskelligt indhold som jeg selv har skrevet.
og så skal jeg kunne sidde og skrive hvad der skal sendes hver dag på 1 gang sådan at jeg kan sidde en weekend og skrive en masse jokes og så hver dag bliver de automatisk sendt ud til brugeren kl et eller andet.
og så skal der være mulighed for at få 1 uges gratis prøve derefter skal man automatisk slettes.
og så skal der være mulighed for rabat ved tilmelding af flere 2,3 osv. kategorier
når en person har valgt at han vil have en joke hver dag så sender en ordet jokes til 1212 han modtager en sms hvor der står han er tilmeldt.
når jeg har modtaget hans sms smider jeg hans nummer ind i en database samt hvad for en kategori han har valgt.
udfra det kan jeg så vælge at jeg skal sende en sms til alle som har tilmeldt sig jokes hvor jeg så henter alle telefon numre ud fra databasen hvor kategori er jokes.
så må jeg så købe et crom job system så jeg kan vælge en dato for hvornår sms'en skal sendes.
men altså når jeg skal modtage en sms kan jeg jo ikke bare skrive
POST /receive.php HTTP/1.0 Host: server.domain.tld:8080 Content-type: application/x-www-form-urlencoded
SMS=hello+world&FROM=4512345678&NUMBER=1272
inde i et system på coolsms kan jeg vælge at hvis brugeren sender en sms til 1272 med teksten guldkorn så bliver den videre sendt til www.minside.dk/smsmodtag.php hvordan får jeg så fat i den sms :S
når nu jeg har skrevet en masse jokes og sagt at den ene skal først sendes ud mandag den 10 kl 10:00 og den anden skal sendes ud tirsdag den 11 kl 10:00
så vil det hele jo ligge i databasen med tidspunkt.
skal jeg så have en tabel i min database for hver kategori jeg har? eller er der en smartere måde?
Der er flere måder at gøre det på, men ja, du kunne have alle de jokes, kærlighed osv. som laves, hvor du bare har er et felt som fortæller hvilken kategori de tilhører.
Cronjob kræver jo at du enten kan kalde en side eller script på et bestemt tidspunkt ellers er det jo bare en side du selv loader så den sender alle smserne.
Men, ja, cronjobbet skal jo så finde den SMS som den skal sende nu og efterfølgende finde de personer som der skal sendes også sende dem til din gateway
hvis jeg laver et script som sender sms'er ud hvis jeg laver en løkke hvor den køre den indtil den har taget alle i databasen så skal cron jobbet bare køres 1 gang på 1 script. det ville være lidt nederen hvis jeg selv sku gå ind på scriptet hver dag kl 10:00 for at den skal sende sms'erne ud
kan jeg så ikke lave en knap min kunde kan trykke på og så bliver der kørt et script som sender alle de sms'er som er i databasen (hvis nu min kunde har skrevet masser af jokes, og andre ting) så bliver der sendt en gruppe sms afsted med den samme joke og en gruppe med noget andet indhold?.
Jo, men hvad nu hvis (af uransagelige årsager) at scriptet timer ud, forbindelsen bliver brudt eller noget helt tredie - foresaget af klienten? Og hvad med andre brugerfejl, som f.eks. dobbeltklik på 'send' knappen (som i nogle tilfælde kan starte to instanser) - så modtager modtagerne to sms'er? Eller hvad?
Nu ville jeg jo gøre det lidt anderledes umiddelbart....
sms_modtag = alle modtagere sms_send = jokes som skal sendes
$hent_guldkorn = mysql_query("SELECT * FROM sms_send WHERE kategori = 'guldkorn'") or die(mysql_error()); $guldkorn = mysql_fetch_array($hent_guldkorn)
$hent_nummer = mysql_query("SELECT * FROM sms_modtag WHERE `kategori` = 'jokes'") or die(mysql_error());
hm kan ikke lige se hvordan det der sku komme til at virke
sms_modtag = alle modtagere, hvad er det til :)?.
$hent_guldkorn = mysql_query("SELECT * FROM sms_send WHERE kategori = 'guldkorn'") or die(mysql_error()); $guldkorn = mysql_fetch_array($hent_guldkorn)
$hent_nummer = mysql_query("SELECT * FROM sms_modtag WHERE `kategori` = 'jokes'") or die(mysql_error());
Men afhængig af antallet af potentielle modtagere skal du overveje en log funktion således at når smsen er sendt bliver den logget således at hvis udsendelsen stopper så kan du blot genstarte den og den vil forsætte fra hvor den slap.
har det her endtil videre som cronjobbet skal besøge
<?php
include("../config.php");
$hent_nummer = mysql_query("SELECT * FROM sms_modtag") or die(mysql_error()); $vis_nummer = mysql_fetch_array($hent_nummer);
$difference = time() - $created;
if ($difference >= 604800) {
# Do something
}
#Send sms med 0 kr i taksering if($vis_nummer['tilmeldt_en_uge'] == "nej") { if(besked = "guldkorn") { $hent_guldkorn = mysql_query("SELECT * FROM sms_send WHERE kategori = 'guldkorn'") or die(mysql_error()); while($vis_guldkorn = mysql_fetch_array($hent_guldkorn)) { #send sms } }
$hent_jokes = mysql_query("SELECT * FROM sms_send WHERE kategori = 'jokes'") or die(mysql_error()); while($vis_jokes = mysql_fetch_array($hent_jokes)) {
}
$hent_kerlighed = mysql_query("SELECT * FROM sms_send WHERE kategori = 'kerlighed'") or die(mysql_error());
$hent_astrologi = mysql_query("SELECT * FROM sms_send WHERE kategori = 'astrologi'") or die(mysql_error());
$hent_motion = mysql_query("SELECT * FROM sms_send WHERE kategori = 'motion'") or die(mysql_error());
} #Send sms med penge i taksering elseif($vis_nummer['tilmeldt_en_uge'] == "ja") { $hent_guldkorn = mysql_query("SELECT * FROM sms_send WHERE kategori = 'guldkorn'") or die(mysql_error());
$hent_jokes = mysql_query("SELECT * FROM sms_send WHERE kategori = 'jokes'") or die(mysql_error());
$hent_kerlighed = mysql_query("SELECT * FROM sms_send WHERE kategori = 'kerlighed'") or die(mysql_error());
$hent_astrologi = mysql_query("SELECT * FROM sms_send WHERE kategori = 'astrologi'") or die(mysql_error());
$hent_motion = mysql_query("SELECT * FROM sms_send WHERE kategori = 'motion'") or die(mysql_error()); }
?>
først så tjekker jeg om en person har været tilmeldt 1 uge (ikke helt færdigt hvordan det skal sættes op)
så tjekker jeg om der står nej (altså om han har været tilmeldt i mere end 1 uge) og det har han ikke.
så tager jeg besked fra sms_modtag tabellen og tjekker hvad for en kategori han har tilmeldt sig
så tager jeg alt fra tabellen sms_send som er det som min kunde har skrevet (der skal jeg nok sætte noget LIMIT på 1)
og så skal jeg så sende en sms.
for at den ikke skal sende den samme sms til en person 2 gange, skal jeg så ikke slette de ting som er i den kolonne den har sendt og eventuelt få det overført til en anden tabel som hedder sms_udbakke.
Tusind tak fordi du gider hjælpe mig med det her :)
Der er flere måder at sikre at tingene ikke sendes 2 gange......
En måde er at have en tabel (fx. sms_udbakke) hvor alle SMS bliver lagt før de sendes til CoolSMS og hvor du har at Unik på felterne nummer og besked således at hvis den prøver at gemme fx:
i starten er det lige meget om personen får 2 smser.
skal bare lige have styr på det med at den skal finde ud af hvem som har tilmeldt sig jokes og så skal den sende en sms til alle som er tilmeldt jokes og det samme med de andre kategorier, kan du hjælpe mig med det da jeg ikke helt kan se hvordan det skal være :(
Synes godt om
Ny brugerNybegynder
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.