最近打算学习下PHP,总的来说,PHP相对来讲还是简单易学的,最近多少学习了一些点,可以做一个总结,以后有个参考
首先,作为快速开发的解释语言,PHP在WEB开发方面 有着强有力的竞争力,一般作为企业门户,BBS,CMS,电子商务类的用途广泛
特别的是CGI出现以后,PHP的效率有了大量的提升,这样也加速了它的普及使用率。
其实学习语言,一般开始就是Hello Word,但是对于工作多年的人来说,这个太小儿科了。。。。
PHP是跨平台,弱类型的语言,这点类似JS,夸平台:主要是在主流的OS上,都有PHP的解释器PHP SDK ,当然跨平台一般都是这个套路。PHP可以与HTML集成,嵌入到页面中,这点类似于JSP页面写JAVA代码,既然能和HTML集成,那么自然也支持JS。。看下面的示例代码:
<script lang="javascript"> function checkUserAndPwd() { var uname = loginForm.username.value; if (uname == "") { alert("username not allow null!"); document.getElementById("username").focus(); return false; } var password = loginForm.password.value; if (password == "") { alert("password not allow null!"); document.getElementById("password").focus(); return false; } return true; } </script> <html> <head> <meta charset="UTF-8"> <title>个人日常积分系统</title> </head> <body onload="javascript:document.getElementById('password').value='';"> <?php echo "打算开发一个积分系统来练练手...这是首页"; ?> <div> <form id="loginForm" name="loginForm" method="post" action="jifen.php" > <input autocomplete="off" type="input" name="username" id="username" value=""/> <br> <input autocomplete="off" type="password" name="password" id="password" value=""/> <br> <input type="submit" name="submit" value="现在登录" onclick="return checkUserAndPwd();"/> <a id="regist" href="regist.php" id="regist">还没帐号?立即注册</a> </form> </div> </body> </html>
HTTP提交有post,get,等多种方式,但是常用的就是这两种,通过Form表单的method="post" 这个参数来决定,对于Post,后台获取参数的值的办法如下:
<?php $uname = $_POST["username"]; $pawd = $_POST["password"]; ?
而对于采用Get这种类型比如URL重写这种,后台使用$_GET[“name"]来获取
<?php $uname = $_GET["username"]; $pawd = $_GET["password"]; ?
这个是获取参数的例子,那么如果我要实现一个注册用户的功能改怎么样呢?其实就是要连接数据库了,如果是用Mysql,那么新手的例子如下:
regist.php
<!DOCTYPE html> <script lang="javascript"> function checkUserAndPwd(){ var uname=registForm.username.value; if(uname ==""){ alert("username not allow null!"); document.getElementById("username").focus(); return false; } var password=registForm.password.value; var password2=registForm.password2.value; if(password =="" ||password2 ==""){ alert("password not allow null!"); document.getElementById("password").focus(); return false; } var phone=registForm.phone.value; if(phone ==""){ alert("phone not allow null!"); document.getElementById("phone").focus(); return false; } return true; } </script> <html> <head> <meta charset="UTF-8"> <title>个人日常积分系统</title> </head> <body> <?php echo "打算开发一个积分系统来练练手...这是注册页面"; ?> <div> <form id="registForm" name="registForm" method="post" action="registprocess.php" > 用户名: <input type="input" name="username" id="username" value=""/> <br> 密码: <input type="password" name="password" id="password" value=""/> <br> 确认密码:<input type="password" name="password2" id="password2" value=""/> <br> 手机号码: <input type="input" name="phone" id="phone" value=""/> <br> <input type="submit" name="submit" onclick="return checkUserAndPwd();" value="现在注册"/> <a id="regist" href="index.php" id="regist">已有帐号?立即登录</a> </form> </div> </body> </html>
提交到处理页面
<html> <head> <meta charset="UTF-8"> </head> <body> <?php echo "打算开发一个积分系统来练练手...这是注册处理页面"; echo "<br>"; $username = $_POST["username"]; echo "你输入的用户名是:" . $_POST["username"]; echo "<br>"; $password = $_POST["password"]; echo "你输入的密码是:" . $_POST["password"]; echo "<br>"; $phone = $_POST["phone"]; echo "你输入的手机号码是:" . $_POST["phone"]; ?> <?php $dbname = "mysql"; echo "<br>"; $link = @mysql_connect("localhost", "root", "root123") or die("不能连接数据库" . mysql_error()); echo "<br>"; echo "$link"; echo "<br>"; if ($link) { // echo "数据库连接成功"; // echo "<br>"; } $db_selected = mysql_select_db($dbname, $link); // $db_selected= mysql_query($dbname,$link); //等价上面 if ($db_selected) { echo "<br>"; echo "数据库连接成功"; echo "<br>"; echo "你输入的用户名是:" . $username; echo "<br>"; } $sql = "insert into jf_user(uname,pwd,phone,bumen,isadmin) values ('$username','$password','$phone','研发中心','N')"; $jifen = "insert into jf_jifen (uname,fenshu,yuanying) values ('$username',100,'initOk')"; echo $sql; mysql_query("set names utf8"); $insertResult = mysql_query($sql, $link); echo "<br>"; echo $insertResult; if($insertResult){ $init = mysql_query($jifen, $link); } echo "<script>alert('regist ok ');window.location.href='index.php';</script>"; // mysql_free_result($insertResult); mysql_close($link); ?> </body> </html>
这里是连接数据库的代码,其中主要的:
连接Mysql数据库,不能连接则提示错误
// $db_selected= mysql_query($dbname,$link); //等价上面
if ($db_selected) {
为True,表示连接成功
$insertResult = mysql_query($sql, $link);
if($insertResult){
$init = mysql_query($jifen, $link);
}
echo "<script>alert('regist ok ');window.location.href='index.php';</script>";
执行SQl,判断是否成功,然后提示用户并返回,
最后,关闭连接:
// mysql_free_result($insertResult);
mysql_close($link);
这注册好了,我要登陆,这个时候首先要验证用户和密码:当然到数据库里取出来和用户的输入做比较
<php? $uname = $_POST["username"]; $pawd = $_POST["password"]; ?>
连接数据库,查询用户是否存在:
<?php $dbname = "mysql"; $link = @mysql_connect("localhost", "root", "root123") or die("不能连接数据库" . mysql_error()); $db_selected = mysql_select_db($dbname, $link); $sql = "select * from jf_user where uname = '$uname'"; $result = mysql_query($sql); $list = mysql_fetch_array($result); if (strcmp($pawd, $pwd) != 0) { echo "<script> alert('用户名或者密码错误!');history.back();</script>"; } else { $_SESSION["user"] = $uname; } ?>
关于便利查询结果:这里简单介绍两个:mysql_fetch_array mysql_fetch_object
mysql_fetch_object如何取值:
do { echo "<br>"; echo "数据库取出来的用户是 :" . $list2->uname; echo "<br>"; echo "数据库取出来的分数是 :" . $list2->fenshu; echo "<br>"; echo "得分原因:" . $list2->yuanying; } while ($list2 = mysql_fetch_object($jifenresult));
mysql_fetch_array 如何取值:
do { echo "<br>"; echo "数据库取出来的用户是 :" . $listAll[uname] . " " . "<a href='edit_jifen.php?uname=$listAll[uname]&fenshu=$listAll[fenshu]&yy=$listAll[yuanying]' > 编辑</a>"; echo "<br>"; echo "数据库取出来的分数是 :" . $listAll[fenshu]; echo "<br>"; echo "得分原因 :" . $listAll[yuanying]; echo "<br>"; } while ($listAll = mysql_fetch_array($allList));
来个综合的:
if (strcmp($uname, 'admin') != 0) { do { echo "<br>"; echo "数据库取出来的用户是 :" . $list2->uname; echo "<br>"; echo "数据库取出来的分数是 :" . $list2->fenshu; echo "<br>"; echo "得分原因:" . $list2->yuanying; } while ($list2 = mysql_fetch_object($jifenresult)); } else { do { echo "<br>"; echo "数据库取出来的用户是 :" . $listAll[uname] . " " . "<a href='edit_jifen.php?uname=$listAll[uname]&fenshu=$listAll[fenshu]&yy=$listAll[yuanying]' > 编辑</a>"; echo "<br>"; echo "数据库取出来的分数是 :" . $listAll[fenshu]; echo "<br>"; echo "得分原因 :" . $listAll[yuanying]; echo "<br>"; } while ($listAll = mysql_fetch_array($allList)); echo "<br>"; } mysql_close($link);
相关推荐
本资源包含mysql,php基础知识,适合新手小白去下载学习,也适合查漏补缺的人。
php基础知识学习笔记,可以作为一个电子书看
本文是一篇关于Redis全套学习笔记的文章,主要介绍了Redis的基础知识、数据结构、持久化、集群、高可用、性能优化等方面的内容。通过本文的学习,读者可以全面掌握Redis的使用和应用,提高自己的技术水平和实践能力...
主要介绍了php学习笔记的基础知识部分,需要的朋友可以参考下
每次学完一小节都会用笔记记录下来,我学习四个月的学习成果。包括HTML基础,CSS基础,PHP基础。每个知识点都有小案例。适合入门。
毕设&课设&项目&实训-计算机基础知识学习笔记.操作系统.计算机网络.数据库..Java.后端.设计模式.数据结构与算法. 【项目资源】: 包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件...
PHP基础知识汇总,这里记录了我一年以来学习PHP记录下来的一些基础知识,虽然笔记有点乱,但是知识都是干货,希望对新来的一些朋友有一定的帮助。
本次分享的资源涵盖了Java面试的各个方面,从基础知识到高级技术,从数据库到框架应用,都做了深入的探讨和总结。具体内容包括: Java基础知识点:包括数据类型、面向对象特性、异常处理、集合框架等。 Java核心...
asp 异步传输 是软件开发学习的一项 也是学习php基础知识的要下载文档之一
前端HTML,CSS,Sass JavaScript 解决freeCodeCamp和HackerRank挑战JavaScript算法 React体验一下React:构建您的第一个ToDo应用并将其托管在GitHub Pages上从零到英雄:React基础知识课程2020-FreeCodeCamp 移动的 ...
学习目标 学会使用PHPunit测试函数,类,数据库,xml/json 等 目录 内容:入门示例,依赖关系,数据供给器 内容:异常、错误、输出测试 skeleton(失败) Selenium(未完成) 参考资料 PHPUnit Example PHP Master: ...
- 本笔记内容包括以下内容: 1.git使用 2.webpack使用 3.常用html代码 4.常用css代码 5.常用js代码 6.php基础知识
编程基础 Node.js Java Go PHP C++ 框架和类库 工具库 jQuery Axios requirejs seajs lodash 前端框架 react dva Vue Angularjs UI框架 Bootstrap 跨端开发 react Native flutter Weex 微信小程序 Node框架 Express ...
课程将按照html基础,css样式表,JavaScript,PHP环境配置(包括简单的Apache配置),PHP基础知识,MySQL的基本运用等,逐步将学习者带入PHP的世界。
此系列文章是本人关于学习 Web/Cloud/Docker 安全、渗透测试、安全建设等时记录的一些笔记,部分原创,部分是对网上文章的理解整理。如果可以找到原始参考链接时则会在文末贴出(如 乌云很多链接已失效,或者记不起...
本仓库用于记录学习过程中的所思所想,并力图构建一个完善的知识体系,便于复习巩固 :folded_hands:参考大佬模板: | :crown:编程语言 :pushpin: C :cloud: C ++ :hot_beverage: Java :snake: Python :...
简历 托鲁奈·库特鲁 Herderstraat 17 9000根特 (+32)489 49 08 31 我是Tolunay Kutlu。 我在根特的Artevelde University College学习研究生编程。... 学习能力:我是一个记笔记很多的人,当我忘记信
内容一:相关知识、工具的学习资料、笔记等。 内容二:实践项目记录。 用途 1、记录学习心得、交流学习经验、分享学习成果。 2、学习成果和项目展示,丰富实践经验和简历。 目录 数据分析的计算机语言与工具类 ...
有任何使用问题欢迎随时与博主沟通,第一时间进行解答!该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 基于STM32、ESP8266、PHP、QT、应用软件开发、系统...