ios - ASIHTTPRequest and PHP Status Code always returns 200 or 500 -
my problem php responsestatuscodes not showing on ios. no matter status code return in sendresponse(), when reading responsestatuscode in ios, output 500. why , how can fix it? im assuming error php , has nothing asihttprequest. measure, i've included code used on ios side.
let me know if other code need assist me.
thanks in advance!
here code use start connection server.
asiformdatarequest *request = [asiformdatarequest requestwithurl:url]; request.shouldattemptpersistentconnection = no; [request setpostvalue:name forkey:@"name"]; [request setpostvalue:email forkey:@"email"]; [request setpostvalue:phash forkey:@"phash"]; [request setdelegate:self]; [request startasynchronous];
this code run when receiving request finished message.
/ - (void)requestfinished:(asihttprequest *)request { nslog(@"request finished"); int statuscode = [request responsestatuscode]; if (statuscode == 150) { nslog(@"user registered."); } else if (statuscode == 155){ nslog(@"user not registered"); } else if (statuscode == 403) { nslog(@"tester 2"); } else if (statuscode == 200) { if (registering == true){ [uiview animatewithduration:1.0 animations:^{ _wheel.alpha = 0.0; }]; [uiview animatewithduration:1.0 delay:1.0 options:0 animations:^{ _clicktoregister.alpha=1.0; }completion:nil]; } else { [uiview animatewithduration:1.0 animations:^{ _wheel.alpha = 0.0; }]; [uiview animatewithduration:1.0 delay:1.0 options:0 animations:^{ _clicktologin.alpha=1.0; }completion:nil]; } nslog(@"tester 3"); } else if (statuscode > 1 && statuscode < 1000){ nslog(@"test worked"); nslog(@"%d",statuscode); } else { nslog(@"%d",statuscode); nslog(@"tester 4"); } }
here php code supposed send responsestatuscode.
function sendresponse($status, $body = '', $content_type = 'text/html') { $status_header = 'http/1.1 ' . $status . ' ' . 'error'; header($status_header); header('content-type: ' . $content_type); echo $body; }
and here code calls function.
sendresponse(503, 'user not registered'); return false;
here code entire file sendresponse call in it.
<?php require_once 'includes/main.php'; class dumb { function dumber(){ echo "hello, php!"; /*-------------------------------------------------- handle visits login token. if valid, log person in. ---------------------------------------------------*/ if(isset($_get['tkn'])){ // valid login token? $user = user::findbytoken($_get['tkn']); if($user){ // yes! login user , redirect protected page. $user->login(); redirect('panic://success'); } // invalid token. redirect login form. redirect('panic://fail'); } /*-------------------------------------------------- handle logging out of system. logout link in protected.php leads here. ---------------------------------------------------*/ if(isset($_get['logout'])){ $user = new user(); if($user->loggedin()){ $user->logout(); } redirect('index.php'); } /*-------------------------------------------------- don't show login page logged-in users. ---------------------------------------------------*/ $user = new user(); if($user->loggedin()){ redirect('protected.php'); } /*-------------------------------------------------- handle submitting login form via ajax ---------------------------------------------------*/ if (isset($_post["name"]) && isset($_post["email"]) && isset($_post["phash"])){ rate_limit($_server['remote_addr']); rate_limit_tick($_server['remote_addr'], $_post['email']); $message = ''; $name = $_post["name"]; $email = $_post["email"]; $phash = $_post["phash"]; $subject = 'your login link'; if(!user::exists($email)){ $subject = "thank registering!"; $message = "thank registering @ our site!\n\n"; // attempt login or register person $user = user::loginorregister($email, $name, $phash); $message.= "you can login url:\n"; $message.= get_page_url()."?tkn=".$user->generatetoken()."\n\n"; $message.= "the link going expire automatically after 10 minutes."; $result = send_email($fromemail, $_post['email'], $subject, $message); if(!$result){ sendresponse(403, 'error sending email'); return false; } } else{ sendresponse(150, 'user registered'); return false; } } else if(isset($_post["email"]) && isset($_post["phash"])){ rate_limit($_server['remote_addr']); rate_limit_tick($_server['remote_addr'], $_post['email']); $message = ''; $name = ''; $email = $_post["email"]; $phash = $_post["phash"]; $subject = 'your login link'; if(!user::exists($email)){ sendresponse(155, 'user not registered'); return false; } else{ // attempt login or register person $user = user::loginorregister($email, $name, $phash); $message.= "you can login url:\n"; $message.= get_page_url()."?tkn=".$user->generatetoken()."\n\n"; $message.= "the link going expire automatically after 10 minutes."; $result = send_email($fromemail, $_post['email'], $subject, $message); if(!$result){ sendresponse(403, 'error sending email'); return false; } } } die(json_encode(array( 'message' => 'thank you! we\'ve sent link inbox. check spam folder well.' ))); /*-------------------------------------------------- output login form ---------------------------------------------------*/ } } $api = new dumb; $api->dumber(); ?>
i had syntax error. / after closing php tag :o. sorry
Comments
Post a Comment