0

Ipad アプリケーションであるプロジェクトがあります。PHPとmysqlデータベースでXcodeを使用しています。

ログインビューがあります。これは、PHP を介してデータベースをチェックしてユーザーのユーザー名とパスワードを確認し、ユーザーをプロファイルビューに移動する必要があります。

PHP では、ステートメント: ex.( header ("Location: profile.php") ) がユーザーをページ (profile.php) に移動することを知っています。

私の質問は次のとおりです。

PHPページに移動する代わりに、PHPとXcodeを使用してあるビューから別のビューに移動するには、どのステートメントを使用する必要がありますか? ログインコードのセッションを作成する方法は?

ここに私のPHPコードがあります:

<?php

//Getting entered values
$username = $_GET['name'];
$password = $_GET['pass'];

//database info 
$DB_HostName = "localhost";
$DB_Name = "test";
$DB_User = "root";
$DB_Pass = "";
$DB_Table = "user";

//connecting to database
$con = mysql_connect($DB_HostName,$DB_User,$DB_Pass);
mysql_select_db("$DB_Name");


//Create query
$qry="SELECT * FROM user WHERE name='$username' AND pass='$password' ";
$result=mysql_query($qry);



while($row= mysql_fetch_array($result)){

if($row['pass']== $password){
echo $row['name'];
}else{
echo'error';
}

?>

ここに私の目的のCコードがあります:

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController


- (void)enterCredential{

    NSMutableString *mtURL = [[NSMutableString alloc] initWithFormat:@"http://localhost     /login.php?name=%@&pass=%@",username.text ,password.text];


    [mtURL setString:[mtURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

    NSData * dataUrl = [NSData dataWithContentsOfURL:[NSURL URLWithString:mtURL]];
    NSMutableString * mtResult = [[NSMutableString alloc] initWithData:dataUrl encoding:NSUTF8StringEncoding];
    NSLog(@"PHP fatmah %@", mtResult);
}

@end
4

1 に答える 1

0

PHPページに移動する代わりに、PHPとXcodeを使用してあるビューから別のビューに移動するには、どのステートメントを使用する必要がありますか?

Objective C では、関数performSegueWithIdentifier:senderを読み込んで、1 つのコントローラから別のコントローラへのセグエを実行することによってこれを行います。

ログインコードのセッションを作成する方法は?

You can set a flag from your php that will determine wether the login is valid or not. If authenticated you can use NSUserDefaults to store the values you need. That flag could be a boolean that you send from your php script to your iPad app.

于 2013-10-05T11:48:20.970 に答える