iOS-进阶整理09 - PHP后端基础

PHP后端基础

PHP(Hypertext Preprocessor)超文本预处理器,开源脚本语言,我们用它来连接后台服务器和前端显示

安装XAMPP(XML,Apache,MySQL,PHP,Perl)集成环境
安装Coda2,一款适用于Mac电脑的网页编程工具,支持(HTML,PHP,JavaScript,CSS等)
打开XAMPP,启动MySQL和Apache服务器
服务器的地址默认为127.0.0.1,应用程序---XAMPP---htdocs是web的根目录
HTML就不说了,php可以写在html里面
php需要学个框架

PHP基本语法
PHP输出

");  
      
    //PHP中定义变量时不需要指定变量的类型,他会根据赋值动态判断  
    $num = 1;  
    $name = "a";  
        //获取变量长度  
        echo($name.strlen($name)."
"); //strpos函数查找字符串在另一字符串中第一次出现的位置 echo (strpos("Hello world!","world")."< br/>"); //随机数 $random = rand(1,100); echo($random); //表达式 $var_int = 100; $var_int_b = 1000; $sum = $var_int + $var_int_b; echo($sum."
"); //得到变量的类型 echo(gettype($var_int)); //字符串 $var_str = "嘻嘻嘻"; $var_str_b = "重中之重"; //字符串拼接 $sum_str = $var_str.$var_str_b; echo($sum_str); //数组和字典 //数组是可变的 $var_array = array(); //给数组添加元素 $var_array[0] = rand(1,100); echo($var_array[0]); //给数组添加随机数 for($i = 0;$i < 10;$i++) { $var_array[$i] = rand(1,100); } //输出数组的结构 echo(var_dump($var_array)."
"); //字典 $var_dic = array("one"=>"12","two"=>3,"three"=>43); echo($var_dic["one"]."< br>"); echo(var_dump($var_dic)."
"); //输出所有的键和值 foreach($var_dic as $key=>$value) { echo($key."=".$value."
"); } ?>

PHP从数据库请求数据
通过浏览器访问下面的URL可以进行登录判断
127.0.0.1/getAndPost.php?name=nameStr&pwd=12

"登录成功login OK","name"=>$name,"pwd"=>$pwd)));  
            }  
            else  
            {  
                echo(json_encode(array("flag"=>"密码错误")));  
            }  
        }  
        else  
        {  
            echo(json_encode(array("flag"=>"用户不存在")));  
        }  
    }  
?>  

通过PHP进行注册操作
访问该PHP带上参数进行注册操作
http://127.0.0.1/register.php?name=user1&pwd=123456

"已存在","result"=>"$rows")));  
        }  
        else  
        {  
            //将数据插入表中  
            $result = mysql_query("insert into register (name,pwd)values('$name','$pwd')");  
            if($result)  
            {  
                echo(json_encode(array("flag"=>"reg ok")));  
            }  
            else  
            {  
                echo(json_encode(array("flag"=>"reg fs")));  
            }  
        }  
          
        //返回操作影响的行数  
        mysql_affected_rows($result);  
        //返回查询结果的一条数据,数组类型  
        //再次执行会顺序读取下一条记录  
        $array = mysql_fetch_array($result);  
          
        //返回字段个数  
        $count = mysql_num_fields($result);  
        //返回第个$i字段名  
        echo(mysql_field_name($result, $i));  
          
        //使用后释放资源  
        mysql_free_result($result);  
          
    }  
    else  
    {  
        echo(json_encode(array("flag"=>"网络异常")));  
    }  
    //操作完成后关闭连接  
    mysql_close($link);  
?>  

在OC中可以通过网络请求,与php通信,从而进行数据库的读写
登录方法

-(void)userLogin  
{  
    //url  
    NSURL *url = [NSURL URLWithString:@"http://127.0.0.1/getAndPost.php?name=gangcheng&pwd=no"];  
    //session  
    NSURLSession *session = [NSURLSession sharedSession];  
      
    NSURLSessionDataTask *task = [session dataTaskWithURL:url completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {  
          
        //解析数据  
        NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil];  
        NSString *dic2 = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];  
        NSLog(@"flag--%@",dic[@"flag"]);  
        NSLog(@"%@",dic2);  
    }];  
    [task resume];  
}  

注册方法

//注册按钮  
- (IBAction)regiterAction:(UIButton *)sender {  
      
        //创建url对象  
        NSString *urlStr = @"http://127.0.0.1/register.php";  
        //得到网址  
        NSURL *url = [NSURL URLWithString:urlStr];  
          
        //创建参数  
        NSString *pStr = [NSString stringWithFormat:@"name=%@&pwd=%@",_nameLabel.text,_pwdLabel.text];  
      
        NSData *pData = [pStr dataUsingEncoding:NSUTF8StringEncoding];  
          
        NSMutableURLRequest *mReq = [[NSMutableURLRequest alloc]initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:30];  
  
        //设置request的请求方式  
        [mReq setHTTPMethod:@"POST"];  
        [mReq setHTTPBody:pData];  
          
        //建session  
        NSURLSession *session = [NSURLSession sharedSession];  
          
        //加载任务的数据对象  
        NSURLSessionTask *task = [session dataTaskWithRequest:mReq completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {  
            NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil];  
            NSString *dic2 = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];  
            NSLog(@"flag--%@",dic[@"flag"]);  
            NSLog(@"%@",dic2);  
        }];  
        //开启任务  
        [task resume];  
}  

你可能感兴趣的:(iOS-进阶整理09 - PHP后端基础)