接着前面的学习,几天上午学习了数据库网络值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. RabbitMQ之入门

    生成者: #coding:utf-8 import sys import pika credentials=pika.PlainCredentials("guest"," ...

  2. vs2012配置OpenGL

    1.下载glut包: http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip 2.将下载的压缩包解压,得到5个文件,如下: ...

  3. linux发行版基础目录

    linux发行版基础目录 linux 基础目录 linux基础目录 目录 作用 / 根目录,起源 /boot linux引导启动目录 /lib 库目录 /bin 常用内部命令 /sbin 常用内部管理 ...

  4. Html锚点定位偏差计算解决插件

    /*=============== 以下为HTML中的锚点代码 =====================*/ <div id="fixedNavBar" class=&qu ...

  5. 关于ViewPager、ViewFilpper、ViewFlow三种实现水平向滑动方式的比较

    ViewPagerViewPager类提供了多界面切换的新效果.新效果有如下特征:[1] 当前显示一组界面中的其中一个界面.[2] 当用户通过左右滑动界面时,当前的屏幕显示当前界面和下一个界面的一部分 ...

  6. boost.asio与boost.log同时使用导致socket不能正常收发数据

    现象: 1. 没有使用boost.log前能正常收发数据 2.加入boost.log后async_connect没有回调 fix过程: 1. gdb调试发现程序block在pthread_timed_ ...

  7. for循环每次展示固定条数的数据的写法。

    第一种是一组json数据实现分页的效果,也就是每一次展示5条数据.第二种场景是每一秒展示4条数据,直到全部显示完.两种思路都做个笔记记录下. var nums = 5; //每页出现的数量 var p ...

  8. Java split()用法

    特殊情况有 * ^ : | . \ 一.单个符号作为分隔符  String address="上海\上海市|闵行区\吴中路"; String[] splitAddress=addr ...

  9. F:ungeon Master

    总时间限制: 1000ms 内存限制: 65536kB描述You are trapped in a 3D dungeon and need to find the quickest way out! ...

  10. SQL Server中Text和varchar(max)数据类型区别

    SQL Server中Text和varchar(max)数据类型区别   以前只知道text和image是可能被SQL Server淘汰的数据类型,但具体原因不太清楚,今天读书的时候发现了text与v ...