0

您好,感谢您抽出宝贵时间阅读本文。

我一直在整个网站上搜索,但没有一个答案对我有用。

我正在尝试做的事情:

我正在尝试从用户那里获取用户名和密码,并通过 post 方法将其发送到 php 脚本,因为它更安全,(我认为?)最终会将它们散列并将它们弹出一个不错的MySql 数据库中的表。

我做了什么:

我已经能够让它工作,但只能通过 GET 方法。我认为 post 更安全,但即使它们相同,这也可能只是一个学习练习。

我对 xcode 比较陌生,但是当我查看它时我可以理解它.. :P

再次感谢您阅读本主题。

真挚地。

编辑:

这是代码..:P

NSLog(@"输入的用户名 = %@",usernameField.text); NSLog(@"输入的密码 = %@", passwordField.text);

    NSString *strURL = [NSString stringWithFormat: @"http://localhost:8888/login.php?username=%@&password=%@", usernameField.text, passwordField.text];
    NSLog(@"Url accessed = %@", strURL);

    NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:strURL]];

    NSString *strResult = [[NSString alloc] initWithData:dataURL encoding:NSUTF8StringEncoding];

    if ([strResult isEqualToString:@"success"]) {
        [self performSegueWithIdentifier:@"segue1" sender:self];
        [loginActivityView stopAnimating];
        usernameField.enabled = YES;
        passwordField.enabled = YES;
        passwordField.text = @"";
        buttonThatWasPressed.enabled = YES;
    }
4

1 回答 1

1

Hii Frank Dixon 首先它不能在本地主机上工作它只能在远程主机上工作,你还没有发布你的 php 编码我不确定你在做什么,但希望这会有所帮助

NSURL *url=[[NSURL alloc]initWithString:strURL];
        NSURLRequest *request=[[NSURLRequest alloc]initWithURL:url];

        NSData *data1=[NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];

        NSString *str=[[NSString alloc] initWithData:data1 encoding:NSUTF8StringEncoding];
        // NSLog(@"%@",str);

        NSMutableDictionary *responseJSON =[str JSONValue];

        // NSString *new=[responseJSON objectForKey:@"success"];
        if ([[responseJSON objectForKey:@"success"] intValue] == 1) {
            NSLog(@"success");

        }

在这里我收到 JSON 值的结果,其中 php 在 POST 方法中看起来像这样

if (isset($_POST['name']) && isset($_POST['YOUR DATA']) ) {

$name = $_POST['name'];
$addr1 = $_POST['YOUR DATA'];


// include db connect class

// 需要一次DIR . '/db_connect.php';

// connecting to db
//$db = new DB_CONNECT();

// mysql inserting a new row
$result = mysql_query("INSERT INTO Db_name(name, YOUR DATA) VALUES('$name', '$addr1')");

希望这对您有所帮助....此处返回 JSON 值 1 表示成功,以便您可以在项目中处理它们

于 2013-07-22T08:03:34.147 回答