Autor | Zpráva | ||
---|---|---|---|
Tombik Profil * |
#1 · Zasláno: 4. 12. 2012, 18:21:17
Zdravím, mám aplikaci pro přijímání SMS plateb od providera. Ten má svůj systém nasměrovaný na jeden soubor (platba.php) kam přes GET posílá parametry platby. Vše fungovalo až do nynějška, kdy jsem musel systém upravit. Úpravy musím zachovat (nebo najít alternativu). Při rozběhnutí skriptu platba.php providerem (či kýmkoliv) ovšem server odpoví 500 a to i na různých hostingách.
Nemám tušení v čem by mohla být chyba, snad mi poradíte vy :) platba.php <?php /*************************************************/ /* */ /* MOBILE PAYMENT PROCESSING */ /* Author: Josef Burger; http://jobu.cz */ /* Copyright: (c) Josef Burger */ /* Version: 1.0 */ /* Relase: 2012-02-12 */ /* */ /*************************************************/ // Based on B:CMS Libraries and BLC (Burger Library Core) // IP Protect [195.47.87.160 - 195.47.87.191] // Simple protect, all unauthorized access are abborted /* $ip = $_SERVER['REMOTE_ADDR']; $ip_e = explode('.', trim($ip)); $ip_end = (int)$ip_e[3]; unset($ip_e[3]); $ip_ch = implode('.', $ip_e); if(!($ip_ch == '195.47.87' and (($ip_end >= 160) and ($ip_end <= 191)))) {exit('spatna ip');} */ // URL decode if(empty($_GET['text']) or empty($_GET['price'])) exit('chybi text ci price (get) parametr'); // Base protection $user = $_GET['text']; $user = str_replace('pm+merver+','',$_GET['text']); $price = (int)$_GET['price']; // Edit user to VIP user require_once '_config.php'; require_once 'i_database.php'; require_once 'c_mysql.php'; $db = new Mysql(); define('_timestamp', date('Y-m-j H:i:s')); define('_ts', _timestamp); // TimeStamp define('end_ts', date('Y-m-j H:i:s', strtotime('+'.$vip_time[$price].' day'))); $db->q("UPDATE `permissions_inheritance` SET `vip-end-time` = '".end_ts."', `parent` = '"._parent_vip."' WHERE `child` = '$user'"); $response = "Dekujeme $user, platbu jsme prijali a VIP Vam bude brzy aktivovano. Merver.cz"; Header ("Content-type:text/plain"); Header ("Content-length".strlen($response)); echo $response; exit(200); ?> Díky za pomoc! |
||
Mike8748 Profil |
#2 · Zasláno: 4. 12. 2012, 18:29:46
Tombik:
- řádek 53, chybí ti dvojtečka za Content-length - co přesně očekáváš od řádky 55? tak jak je to napsaný tak tvůj kod říká že selhal s chybou 200 (což přepokládám bude problém který apache převede na zmíněnou chybu 500). pokud u exit() chceš mít parametr, tak snad jedině nulu, že tvůj skript skončil úspěšně. |
||
Tombik Profil * |
#3 · Zasláno: 4. 12. 2012, 19:28:13
Mike díky, tvoje poznámky mi pomohly vyřešit problém. (lock prosím)
|
||
Časová prodleva: 11 let
|
0