FAQ |
Kalender |
2009-11-05, 15:03 | #1 | ||
|
|||
Nykomling
|
Jobbar på WaterAid Sverige som är en ideell organisation. Vi behöver hjälp med ett svarsscript till vårt givar-sms-system. SMS:a VATTEN till 72550 så skänker du 50 kr. Detta är det vi kör med. Vårt svarsscript har jag lagt nedan.
Vi behöver lägga till en enkel funktion som skriver ner datan som kommer in i en .csv-fil mycket enkelt så här: "$nr","$sms","$tariff","$operator","meddelande " Scriptet att lägga in detta i finns här under: <?php /* ------------------------------------------------------------------------------ RECEIVE_SMS.PHP ------------------------------------------------------------------------------ Detta script kan ta emot SMS-meddelanden från MO-SMS. Allt som ekas ut av ditt skript kommer att hamna i ett svars-SMS till slutanvändaren. Det är alltså mycket viktigt att skriptet inte genererar några felmeddelanden eller liknande. Om inget svar ekas ut inom 30 sekunder skickar MO-SMS automatiskt ut ett "Tack för din beställning"-SMS av debiterings- tekniska skäl. SMS:et levereras i teckenkodning ISO 8859-1 ------------------------------------------------------------------------------ */ // Stäng av PHP:s felrapportering error_reporting(0); // Plocka ut avsändarnumret $nr = $_REQUEST['nr']; // Plocka ut SMS-meddelandet $sms = urldecode($_REQUEST['sms']); // Plocka ut priset slutanvändaren blev debiterad (för egen vinststatistik) $tariff = $_REQUEST['tariff']; // Plocka ut operatören SMS:et skickades in via (för egen vinststatistik) $operator = $_REQUEST['operator']; // Eka ut svaret som skickas tillbaka till slutanvändaren echo 'Klart'; ?> |
||
Svara med citat |
2009-11-05, 15:33 | #2 | ||
|
|||
Har WN som tidsfördriv
|
Innan du skriver ut klart kan du lägga in följande rader, de borde göra exakt vad du efterfrågar.
PHP-kod:
|
||
Svara med citat |
2009-11-05, 15:51 | #3 | ||
|
|||
Nykomling
|
Försökte lägga in det men det och det funkar som vanligt men inget skrivs ner i filen trots CHMOD 777. Hur skulle koden se ut exakt? Nu klistrade jag in detta längst ner i koden. Datafilen ligger i samma mapp, det måste inte till nån sökväg?
|
||
Svara med citat |
2009-11-05, 17:03 | #4 | ||
|
|||
Har WN som tidsfördriv
|
PHP-kod:
|
||
Svara med citat |
2009-11-09, 08:48 | #5 | ||
|
|||
Nykomling
|
Funkar tyvärr inte. Borde göra det dock. Skumt.
|
||
Svara med citat |
2009-11-09, 09:03 | #6 | ||
|
|||
Klarade millennium-buggen
|
Om du har gjort en include av din fil så får du leta i den katalog som den anropande scriptet ligger i.
Tänk också på att filen ska hamna antingen i en katalog som inte är läsbar utifrån, eller att du skyddar den med .htaccess så att ingen script-kiddie laddar ner alla dina sms så här: http://wa tera id.xx/katalog/incoming-sms.csv Men du bör absolut inte ta bort error_reporting, se till att lägga in en egen felhanterare som loggar till en fil eller något (att vräka ner allt i apaches errorlog gör det bara svårt att hitta). Läs mer om rapportering och felhanterare på http://se2.php.net/manual/en/ref.errorfunc.php Hade du gjort det så hade du vetat vad som var fel redan nu. |
||
Svara med citat |
2009-11-09, 09:41 | #7 | ||
|
|||
Nykomling
|
Vad menar du med include?
Lagt filen i samma katalog som scriptet men inget skrivs ner, det funkar inte ens att gå vidare i scriptet. Kommenterar jag bort raden: file_put_contents($file, $data, FILE_APPEND); Funkar det, något är fel med den raden. |
||
Svara med citat |
2009-11-09, 10:00 | #8 | ||
|
|||
Nykomling
|
Den säger:
Fatal error: Call to undefined function: file_put_contents() in /home/userA/a1308200/public_html/wateraid.nu/sms/recieve-sms.php on line 42 |
||
Svara med citat |
2009-11-09, 10:15 | #9 | ||
|
|||
Klarade millennium-buggen
|
Vilken php-version kör du?
Det kan vara att du kör en föråldrad version tidigare än 5.0. i så fall får du använda $handle=fopen('filnamn','a') för att öppna filen, a betyder att du öppnar den för skrivning och sätter pekaren i botten, fputs($handle,$sträng) för att lägga till data och fclose($handle) för att stänga filen. |
||
Svara med citat |
2009-11-09, 10:18 | #10 | ||
|
|||
Nykomling
|
Magnus, hur skulle det se ut. Förstår ungefär. Hur skriver du om raden:
file_put_contents($file, $data, FILE_APPEND); |
||
Svara med citat |
Svara |
|
|