abramMedlem sedan mars 20079 inlägg Hejsan, jag använder mej av Mosms.se för att försöka skicka mina egna MMS från min mobil till min webserver, jag har gjort en kopling som fungerar, när koden nedan aktiveras av mitt MMS så registreras det i databasen, men INGEN bild laddas up på min server, någon som kan se i koden eller använder mosms som kan se om jag gjort något fel? jag får bekräftelse på att mitt mms gåt fram, hur bekreftelsen ser ut syns nedan.
jag funderade på server inställnings fel först men mappen är CHmodad 777 samt jag set inte i utraged nedan att den ens försöker skicka bilden till min server, eller att scriptet försöker spara ner den.
"utdrag ur SMSlogg från mosms"
2007-03-28 20:43:20 - SYSTEM_NOTICE: Incoming MMS From 'Tele2', Number '46736594820'
2007-03-28 20:43:21 - SYSTEM_NOTICE: OK! service found.
2007-03-28 20:43:24 - SYSTEM_NOTICE: External url 'http://abram.brinkster.net/mms/RECEIVE_LIVE_MMS.PHP' fetched OK.
2007-03-28 20:43:24 - SENDING_MESSAGE – NR: "46removed", DATA: "Tack för ditt MMS! :)"
KOD
<?
// Definiera konstanter för databasanslutning
$MYSQL_HOST = 'mupp';
$MYSQL_USER = 'muppet';
$MYSQL_PASSWORD = 'removed';
$MYSQL_DATABASE = 'mms';
// Stäng av PHP:s felrapportering
error_reporting(0);
// Anslut till databasen
mysql_connect($MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD);
mysql_select_db($MYSQL_DATABASE);
// Plocka ut avsändarnumret
$nr = $_REQUEST['nr'];
// Plocka ut MMS-meddelandet
$sms = urldecode($_REQUEST['sms']);
// URL till MMS bilden om någon bild skickades med
$mms = urldecode($_REQUEST['mms']);
// Plocka ut priset slutanvändaren blev debiterad (för exempelvis egen
// statistik)
$tariff = $_REQUEST['tariff'];
// Lägg in data i databasen
mysql_query('INSERT INTO mms (sender,message,tariff,tstamp) VALUES ("'
. addslashes($nr) . '","'
. addslashes($sms) . '","'
. addslashes($tariff) . '",now())');
// Ladda ner och spara eventuell bild
if ($mms != '') {
// Plocka ut id på senaste databas-inlägg
$id = mysql_insert_id();
// Läs in och spara filen i katalogen 'data'
$file = fopen('data/' . $id . '.jpg', 'w');
fwrite($file,file_get_contents($mms));
fclose($file);
}
// Svaret som skickas tillbaka till slutanvändaren
echo 'Tack för ditt MMS! :)';
?>
spangoMedlem sedan juni 20008 205 inlägg När du håller på med filer ska du inte bara förutsätta att allt funkar - kolla returvärdet från fopen och skriv ut ett felmeddelande istället för en bekräftelse om det sket sig. Sen är loggar alltid bra, säger serverns logg någonting? Om inte, lägg in lite egna logganrop i din kod.
abramMedlem sedan mars 20079 inlägg Hejsan, jag kollade serverns logg som säger att den öppnade mms.php, men inte att den försökte ta imot något mera efter detta.
och hur skulle ett logganrop i php se ut? jag är inte helt 100 på php, fick ta i denna kod från detta forum.
spangoMedlem sedan juni 20008 205 inlägg
abram skrev:
och hur skulle ett logganrop i php se ut? jag är inte helt 100 på php, fick ta i denna kod från detta forum.
Då är vi två ;) men flukta http://se2.php.net/error_log till exempel. Jag tror dessutom att det är en hemskt bra idé att ta bort error_reporting(0); åtminstone när du felsöker...
abramMedlem sedan mars 20079 inlägg i removed error reporting and got the errors below,
Notice: Undefined index: nr in C:\Sites\Single8\abram\webroot\mms\RECEIVE_LIVE_MMS2.PHP on line 13
Notice: Undefined index: sms in C:\Sites\Single8\abram\webroot\mms\RECEIVE_LIVE_MMS2.PHP on line 16
Notice: Undefined index: mms in C:\Sites\Single8\abram\webroot\mms\RECEIVE_LIVE_MMS2.PHP on line 19
Notice: Undefined index: tariff in C:\Sites\Single8\abram\webroot\mms\RECEIVE_LIVE_MMS2.PHP on line 23
Tack för ditt MMS! :)
men det skulle jag tydligen inte bry mej om då det igentligen inte är några "fel"
samt så provade jag error log från http://se2.php.net/error_log
när jag skickar in mitt MMS till mosms så skickar dom vidare min request till min server
2007-03-28 18:43:23 W3SVC119 SINGLE8 65.182.100.204 POST /mms/RECEIVE_LIVE_MMS.PHP - 80 - 217.75.102.141 HTTP/1.1 PEAR+HTTP_Request+class+(+http://pear.php.net/+) - - abram.brinkster.net 200 0 0 253 41367 1875
men jag ser inget i loggen om att momms försökt skicka min server en bild som mottagits och inte accepterats eller liknande.
spangoMedlem sedan juni 20008 205 inlägg
abram skrev:
men det skulle jag tydligen inte bry mej om då det igentligen inte är några "fel"
Eeeh, det jag är av en annan åsikt. Det den säger är att indexen nr, sms, mms och tariff inte finns - vilket alltså betyder att $_REQUEST inte innehåller någonting som intresserar dig. Det borde synas i raderna som läggs in i databasen...