接着前面的学习,几天上午学习了数据库网络值php用户的注册与登录,感觉代码与ios上的oc太相似了,因此学习下来没什么障碍了,下面是代码:

首先是javascript.html文件中:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<meta http-equiv="Content-Style-Type" content="text/css">

<title>hello</title>

</head>

<body>

<center>欢迎来到登录和注册界面</center>

<hr>

<form action="login.php" method="post">

<table align='center' border='1' width="300">

<tr><td>账号</td><td><input type="text" maxlength="10" name="uname"></td></tr>

<tr><td>密码</td><td><input type="password" maxlength="10" name="upass"></td></tr>

<tr><td><input type="submit" value="登录" name="action"></td><td><input type="submit" value="注册" name="action"></td></tr>

</table>

</form>

</body>

</html>

然后是login.php文件中:

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title></title>

</head>

<body>

<?

$uname=$_POST['uname'];

$upass=$_POST['upass'];

//对数据有效性检查

$uname=trim($uname);//剔除用户名两段的空格

$upass=trim($upass);//剔除密码两断的空格

if($uname==""||$upass=="")//判断用户名或密码是否为空

{

//导航回到登录注册界面

echo "<script>location.href='javascript.html';</script>";

}

$action=$_POST['action'];

$conn=mysql_connect("127.0.0.1","root","1234");

if(!$conn)

{

die("登录失败!");

}

$result=mysql_select_db("KL",$conn);

if(!$result)

{

mysql_close($conn);

die("指定数据库失败!");

}

if($action=="登录")

{

//查看用户是否存在

$sql="select * from t_user where uname='".$uname."' and upass='".$upass."'";

$rs=mysql_query($sql);

if(!$rs)

{

mysql_close($conn);

die("查询数据失败!");

}

$recordCount=mysql_num_rows($rs);

if($recordCount>0)

{

die("登录成功!");

}

else

{

mysql_close($conn);

die("对不起,登录失败,请检查你的用户名和密码,重新<a href='javascript.html'>登录</a>");

}

}

else if($action=="注册")

{

//查看用户是否存在

$sql="select * from t_user where uname='".$uname."'";

$rs=mysql_query($sql);

if(!$rs)

{

mysql_close($conn);

die("查询数据失败!");

}

$recordCount=mysql_num_rows($rs);

if($recordCount>0)

{

mysql_close($conn);

die("对不起,你所注册的用户已存在,请更换您的用户名!想返回重新<a href='javascript.html'>注册</a>吗?");

}

else

{

//插入用户信息

$sql="insert into t_user(uname,upass) values('".$uname."','".$upass."')";

$rs=mysql_query($sql);

if(!$rs)//如果用户不存在,则把用户信息写入表中

{

mysql_close($conn);

die("注册用户失败,请稍候再试!");

}

else

{

echo "恭喜你!注册成功,你可以用它去<a href='javascript.html'>登录</a>了!";

}

}

//如果存在,就显示提示信息,如果不存在,就将用户信息写到当前数据库中

}

else

{

echo "error!";

}

mysql_close($conn);

?>

</body>

</html>

ios开发之网络php的更多相关文章

  1. iOS开发之网络编程--5、NSURLSessionUploadTask+NSURLSessionDataDelegate代理上传

    前言:关于NSURLSession的主要内容快到尾声了,这里就讲讲文件上传.关于文件上传当然就要使用NSURLSessionUploadTask,这里直接讲解常用的会和代理NSURLSessionDa ...

  2. iOS开发之网络编程--4、NSURLSessionDataTask实现文件下载(离线断点续传下载) <进度值显示优化>

    前言:根据前篇<iOS开发之网络编程--2.NSURLSessionDownloadTask文件下载>或者<iOS开发之网络编程--3.NSURLSessionDataTask实现文 ...

  3. iOS开发之网络编程--3、NSURLSessionDataTask实现文件下载(离线断点续传下载)

    前言:使用NSURLSessionDownloadTask满足不这个需要离线断点续传的下载需求,所以这里就需要使用NSURLSessionDataTask的代理方法来处理下载大文件,并且实现离线断点续 ...

  4. iOS开发之网络编程--2、NSURLSessionDownloadTask文件下载

    本文内容大纲: 1.回顾NSURLSessionTask 2.NSURLSessionDownloadTask大文件之block下载 3.NSURLSessionDownloadTask大文件之代理方 ...

  5. iOS开发之网络编程--使用NSURLConnection实现文件上传

    前言:使用NSURLConnection实现文件上传有点繁琐.    本文并没有介绍使用第三方框架上传文件. 正文: 这里先提供用于编码测试的接口:http://120.25.226.186:3281 ...

  6. iOS开发之网络编程--使用NSURLConnection实现大文件断点续传下载+使用输出流代替文件句柄

    前言:本篇讲解,在前篇iOS开发之网络编程--使用NSURLConnection实现大文件断点续传下载的基础上,使用输出流代替文件句柄实现大文件断点续传.    在实际开发中,输入输出流用的比较少,但 ...

  7. iOS开发之网络编程--使用NSURLConnection实现大文件下载

    主要思路(实现下载数据分段写入缓存中) 1.使用NSURLConnectionDataDelegate以及代理方法.2.在成功获取响应的代理方法中,获得沙盒全路径,并在该路径下创建空文件和文件句柄.3 ...

  8. iOS开发之网络编程--小文件下载

    文件下载方式: 如果下载的文件比较小,下载方式: 直接用NSData的 +(id)dataWithContentsOfURL:(NSURL*)url; 利用NSURLConnection发送一个HTT ...

  9. IOS开发之网络开发工具

    IOS开发之网络开发工具 做移动端开发  常常会涉及到几个模块:1.网络检測   2.网络请求get和post请求  3.文件上传  4.文件下载   5.断点续传 如今将这些一一分享给大家 ,也欢迎 ...

  10. iOS开发系列--网络开发

    概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博.微信等,这些应用本身可能采用iOS开发,但是所有的数据支撑都是基于后台网络服务器的.如今,网络编程越来越普遍,孤立的应用通常是没有生命力 ...

随机推荐

  1. Java中如何获取spring中配置文件.properties中属性值

    通过spring配置properties文件 1 2 3 4 5 6 7 8 9 <bean id="propertyConfigurer"   class="co ...

  2. wireshark常用命令

    Wireshark 基本语法,基本使用方法,及包过虑规则: 1.过滤IP,如来源IP或者目标IP等于某个IP   例子: ip.src eq 192.168.1.107 or ip.dst eq 19 ...

  3. swift_Dictionary 字典

    // //  main.Swift //  字典 // //  Created by zhangbiao on 14-6-15. //  Copyright (c) 2014年 理想. All rig ...

  4. django学习记录--第一个网页“hello django”

    一.安装django 下面两种方法任选其一 1.pip或easy_install 安装 pip install django easy_install django 2.到django官网(https ...

  5. 在引用KindEditor编辑器时,运行时出现以下错误:错误46 找不到类型或命名空间名称“LitJson”(是否缺少 using 指令或程序集引用?)

    将asp.net下bin文件夹下的文件LitJSON.dll拷贝到工程的bin目录下,并在工程中添加引用 在后台加入: using LitJson;

  6. C#读写TxT文件

    文/嶽永鹏 WPF 中读取和写入TxT 是经常性的操作,本篇将从详细演示WPF如何读取和写入TxT文件. 首先,TxT文件希望逐行读取,并将每行读取到的数据作为一个数组的一个元素,因此需要引入List ...

  7. C++中的一些小知识

    判断字符是否为数字 在C/C++中有isdigit()来判断一个字符是否为数字 原型:int isdigit(char c); 用法:#include <ctype.h> (C语言):#i ...

  8. java 选择排序

    import java.util.Scanner; public class SelectionSort { public static void sort(int[] a, int n){ if(n ...

  9. synchronized和ReentrantLock

    一.什么是sychronized sychronized是java中最基本同步互斥的手段,可以修饰代码块,方法,类. 在修饰代码块的时候需要一个reference对象作为锁的对象. 在修饰方法的时候默 ...

  10. jboss设置图片上传大小

    <http-listener name="default" socket-binding="http" max-post-size="10485 ...