How to detect php web page is running within my iPhone App other than Safari

I have built an iPhone app(not iPad) and I am running a webpage within a Web View controller. My question is how can the PHP file detect that it is being run from within this App's UIWebView controller NOT Safari. I want the PHP page to react differently(i.e. get rid of html menu) if run within this app than safari mobile web browser. Is this possible?

WebView Controller

#import "AccountViewController.h"

@interface AccountViewController ()

@end

@implementation AccountViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)viewDidAppear:(BOOL)animated {
    [super viewDidLoad];
    NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle]pathForResource:@"account" ofType:@"html"]isDirectory:NO];
    NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
    [_AccountWebView loadRequest:requestObj];
}

-(void)webViewDidFinishLoad:(UIWebView *)webView {
    NSHTTPCookieStorage *sharedHTTPCookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
    NSArray *cookies = [sharedHTTPCookieStorage cookiesForURL:[NSURL URLWithString:@"http://www.uniitee.com"]];
    NSEnumerator *enumerator = [cookies objectEnumerator];
    NSHTTPCookie *cookie;
    while (cookie = [enumerator nextObject]) {
        NSLog(@"COOKIE{name: %@, value: %@}", [cookie name], [cookie value]);
    }
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

PHP FILE

<?php require_once('Connections/Uniitee.php'); 

$iphone = strpos($_SERVER['HTTP_USER_AGENT'],"iPhone");
$android = strpos($_SERVER['HTTP_USER_AGENT'],"Android");
$palmpre = strpos($_SERVER['HTTP_USER_AGENT'],"webOS");
$berry = strpos($_SERVER['HTTP_USER_AGENT'],"BlackBerry");
$ipod = strpos($_SERVER['HTTP_USER_AGENT'],"iPod");

if ($iphone || $android || $palmpre || $ipod || $berry == true) 
{ 
   header('Location: login-m.php');
}

?>

Answers


You could load a different URL parameter in the app, such as ?appview=true, and in the PHP use if($_GET['appview']).

You could then set a session that app view is true to use throughout the users session


Need Your Help

what about using a static class with static properties returning new instances of concrete classes extending an abstract one

c# design-patterns architecture static instance

MyObject has a shape and the shape have to be chosen and passed as argument to the ctor, can't exist a MyObject whitout a shape and the shape can't vary along his life. It happens often in real lif...

Login_redirect hook not working

php wordpress redirect login hook

I have already used this hook in the same way described below, What could be going wrong?