百度传课php

百度传课php

第一节 PHP概述

为什么要学PHP
graph LR
A[做动态网站]-->B[赚钱]
A-->C[买房]
A-->D[买车]

赚钱
买房
买车

月薪3W
年终奖 3-6月工资
16薪
年终18w
graph LR
A[什么是PHP]-->B[动态网页脚本语言]
A-->C[做网站的]
A-->D[做网站后台的]
A-->E{超文本预处理器Hyper text Preprocessor}

如何玩转PHP?

  • 编程工具(用什么工具来写程序?)
  • 写程序如同用Word软件来写文档
  • Notepad++、Zend Studio、Eclipse、PhpEdit
  • PHP的运行环境
  • WAMP(windows)、LAMP(linux)

PHP开发环境的安装步骤?

安装相应版本的Wamp就可以。32位/64位

第一个PHP程序

  • index.php
<?php
echo "helloworld";
?>

作业:

  • 安装PHP开发环境WAMP
  • 编写第一个PHP程序,用到echo函数。
  • echo 出你的名字。
  • echo 1+1
  • 看到结果是什么?
<?php
echo "hello world<br/>";
echo "hello ,jiang<br/>";
echo 1+1;
?>
helloworld
hello ,jiang
2

变量和常量

控制与运算

http://www.aitclass.com

virualbox
vmware

第二节

常量 变量

老虎 狮子 熊猫
是常量。老虎不能是狮子。不变的是常量。

把老虎装进笼子。笼子是变量。
可以装老虎,也可以装其他的。

$a="12";

<?php

echo "hello world<br/>";
echo "hello ,jiang<br/>";
$a=12;//变量赋值
echo $a;
?>

编程--从最简单的运算开始

  • 计算器就是个程序
  • 加减乘除就是运算
  • +、-、X、/就是运算符(算术运算符)

  • ==就是比较运算符
  • 我们按计算器=号的时候,就是在做比较
  • 有人说不是?
  • 试想:当0做分母的时候,计算器在做什么?

程序下一步该做什么?由你掌控

  • 控制一点都不难
  • 有人说编程就是if……else
  • if……else就是控制
  • 编程如同搭积木,3分钟教你学会选择语句
if(条件){
    //一楼
}elseif(条件){
    //二楼
}else{
    //三楼
}

操练起来:实战运算与控制

  • program.php
<?php
$a=3;
$a=4;
$a++;
echo $a;
?>
----------------------
<?php


$score=80;
if($score<100&&$score>=90){
	echo "优秀";
}elseif($score<90&&$score>=80){
	echo "良好";
}elseif($score<80&&$score>=60){
	echo "一般";
}else{
	echo "差";
}

?>

作业

  • 自己编写一个计算器,只做加减乘除
  • 想想当0为分母的时候,程序该怎么处理
  • 亲自实战if-elseif-else
  • 一定要有三个分支
  • 会做上面两个题目,你已学会编程。

下一讲:

  • 挑战大数据-数组
  • 教你遍历数组-循环语句。

第三节 什么是数组

graph LR
A{$a}-->B[1:老虎]
A-->C[2:狮子]
A-->D[3:熊猫]

PHP语言数组的定义

array.php

$a=array();
$a=array("老虎","狮子","熊猫");
$a=array("1"=>"老虎","2"=>"狮子","3"=>"熊猫");
var_dump($a);
//数组主要用于存放一组相关的内容。

结果

array (size=3)
  0 => string '老虎' (length=4)
  1 => string '狮子' (length=4)
  2 => string '熊猫' (length=4)

如何遍历数组的内容?、

  • 你上课的进候被老师点过名吗?
  • 如果我们把一个班级看成一个数组,那么这个班的的学生就是这个数组的元素。
 $a=array("1"=>"老虎","2"=>"狮子","3"=>"熊猫");
foreach($a as $key=>$value){
    //遍历数组
}
  • test.php
<?php
 $a=array("1"=>"老虎","2"=>"狮子","3"=>"熊猫");
 var_damp($a);
 foreach($a as $key=>$value){
  echo $key; //遍历数组键
   echo $value; //遍历数组值
}
?>

拓展学习

  • 循环语句的另一种形式,是FOR循环。
  • 学有余力的同学,请尝试自学for循环语句。
  • 遇到问题,请加老师的QQ群374397017提问。

下节内容

  • 文件操作方法
  • 教你编写留言板。

第四节 留言板

网站前后端是怎校交互的?

graph LR
A[用户]-->B[HTML_form]
B-->C[服务器_?php ?_]
C-->B
C-->D[文件]
D-->C
C-->E[数据]
E-->C

后端通过什么接收表单的数据?

  • $_POST['title'] //发送
  • $_GET['id']//接收

文件读写操作

  • 读文件 file_get_contents(文件的地址)
  • 写文件 file_put_contents(文件名,内容,标志)
  • 读文件用get,写文件用put
  • 不写标志则每次覆盖,要追加用FILE_APPEND

留言板项目

  • new.html
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>最简单的留言板</title>
</head>
<body>
	<form method="post" action="board.php">
	<p>标题:
	<input type="text" name="title"></p>
<p>内容:
<textarea name="content" id="" cols="30" rows="10"></textarea></p>
<p>
<input type="Submit" value="提交"></p>
	</form>
</body>
</html>
  • board.php
<?php
$title=$_POST['title'];
$content=$_POST["content"];
//var_dump($title,$content);
file_put_contents("data.txt",$title.",".$content."\n",FILE_APPEND);
echo 'OK<a href="new.html">继续添加</a><a href="show.php">查看全部</a>'

?>
  • show.php
<?php
header("Content-Type:text/html;charset=utf8");
$message = file_get_contents("data.txt");
//echo $message;
echo str_replace("\n", "<br>",$message);
echo 'OK<a href="new.html">继续添加</a>'
?>

第五节 MySQL数据库快速入门

PHP、MySQL数据库与phpMyAdmin

  • PHP:Hypertext Preprocessor 超文本预处理器
  • MySQL: Structured Query Language 结构化查询语言,用于存取数据以及查询、更新和管理关系数据库系统。
  • 关系型数据库管理系统Relational Database Management System 被认为是PHP的最佳拍档
  • PhpMyAdmin:MySQL的数据库管理工具 用Web接口管理MySQL数据库
graph LR
A[PhpMyadmin]-->B[PHP]
B-->C[MySQL]

实战PHPMyAdmin

建立数据库chuanke 数据表 user 字段 UID UserName.

PHP 如何连接MySQL
MySQL的主机 $host
MySQL的用户名 $user
MySQL的密码 $password
mysql_connect ($host,$user,$password);

PHP如何操作MySQL

  • MySQL的数据库名 $dbname
  • MySQL的连接标识符$connection
  • mysql_select_db($dbname,$connection);

PHP关闭与MySQL的连接

mysql_close($connection);

MySQL查询语句:$sql

PHP执行MySQL查询:mysql_query($sql);

结构化查询语言 SQL

增:insert 删:delete改:update 查:select

预备知识:While循环

while(条件){
//循环体
//里面写你要执行的循环PHP语句
//……
    
}

$result

$row=mysql_fetch_array($result)

while($row=mysql_fetch_array($result)){
//循环体
//里面写你要执行的循环PHP语句
//……
    
}

代码

  • db.sql
<?php
header("Content-Type:text/html;charset=utf8");
$host="localhost";
$user="root";
$password="";
$connection=mysql_connect($host,$user,$password);
if(!$connection){
	//die('连接mysql数据库失败');
	exit('连接mysql数据库失败');
}
//echo "连接成功";
$dbname="chuanke";


mysql_select_db($dbname,$connection);

error_reporting(E_ALL ^ E_DEPRECATED);
//$connection = mysqli_connect($host,$user,$password, $dbname);


$sql = "INSERT INTO `user`(`username`)VALUE('lilei')";
$result = mysql_query($sql);
if($result){
	echo "操作成功";
}else{
	echo"操作失败";
}

?>
  • dbshow.php
<?php
header("Content-Type:text/html;charset=utf8");
$host="localhost";
$user="root";
$password="";
$connection=mysql_connect($host,$user,$password);
if(!$connection){
	//die('连接mysql数据库失败');
	exit('连接mysql数据库失败');
}
//echo "连接成功";
$dbname="chuanke";


mysql_select_db($dbname,$connection);

error_reporting(E_ALL ^ E_DEPRECATED);

//以上 是相同的

$sql = "SELECT*FROM `user`";
$result = mysql_query($sql);
while ($row=mysql_fetch_array($result)) {
	echo $row['username']."<br/>";# code...
}

?>

答疑

-遇到php操作数据库失败怎么办?
mysqli

第六节 项目实战 注册登录页面

注册

  • register.html
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>注册页面</title>
</head>
<body>
	<form method="POST" action="register.php">
	<p>用户名:<input type="text" name="username"></p>
	<p>登录密码:<input type="password" name="password"></p>
	<p>确认密码:<input type="password" name="password2"></p>
	<input type="submit" value="注册">
	</form>

</body>
</html>
  • register.php
<?php
error_reporting(E_ALL ^ E_DEPRECATED);//
header("Content-Type:text/html;charset=utf8");//
$username=$_POST['username'];
$password=$_POST['password'];
$password2=$_POST['password2'];
var_dump($username,$password,$password2);
if($username==""){
	exit("用户名不能为空");
};
if($password!=$password2){
	exit("两次输入的密码不一致");
};
//入库
$host="localhost";
$user="root";
$pwd="";
$dbname="chuanke";
$connection=mysql_connect($host,$user,$pwd);
if($connection){
	$password= md5($password);
	mysql_select_db($dbname,$connection);
	$sql = "INSERT INTO `userinfo` (`username`,`password`) VALUES ('$username','$password')";
	$result=mysql_query($sql);
	if($result){
		echo $username."注册成功";
	}else{
		die("注册失败") ;
	}
}
//echo "连接成功";

?>

登陆

  • login.html
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>注册页面</title>
</head>
<body>
	<form method="POST" action="login.php">
	<p>用户名:<input type="text" name="username"></p>
	<p>登录密码:<input type="password" name="password"></p>
	
	<input type="submit" value="登陆">
	</form>

</body>
</html>

  • login.php
<?php
error_reporting(E_ALL ^ E_DEPRECATED);
header("Content-Type:text/html;charset=utf8");
$username=$_POST['username'];
$password=$_POST['password'];
if($password==""){
	die("密码不能为空");

}
if($username==""){
	die("用户名不能为空");

}
//连接数据库
$host="localhost";
$user="root";
$pwd="";
$dbname="chuanke";
$connection=mysql_connect($host,$user,$pwd);
if($connection){
	$password= md5($password);
	mysql_select_db($dbname,$connection);

	$sql = "SELECT * FROM `userinfo` WHERE `username`='$username'&&`password`='$password'";
	var_dump($sql);
	$result = mysql_query($sql);
	if($result){
		$row = mysql_fetch_array($result);
		if($row){
			var_dump($row);
			echo $row['username']."登陆成功";
		}
	}else{
		die('登录失败,用户名密码不正确或者该用户不存在');
	}

}

?>

第七节 最后一讲

实战调试PHP程序

  • test.php
  • php.ini
  • display_errors.on
  • 制作tiaoshi.php调试文件。
<?php
error_reporting(E_ALL ^ E_DEPRECATED);
header("Content-Type:text/html;charset=utf8");
//ini_set("display_errors", "on");
//error_reporting(E_ALL);
//die("OK停止");
$a=1;
//die("$a");
$b=5;
$c=$b/$a;
var_dump ($c);


?>

你已经入门,修行路上要靠自己了!

  • 学习调用PHP内置函数,学习自己编写函数
  • 数组排序、合并、拆分、序列化
  • 字符串拼接、格式化、切分、合并
  • 正则表达式的应用
  • PHP面向对象的编程,面向过程已理解
  • 会话管理Cookie/Session
  • 文件、目录操作、读写csv文件
  • PHP上传文件
  • GD库图像处理 验证码,统计图,缩略图
  • MySQL数据库管理、事务管理、性能优化
  • WebSevice的应用 不同系统间的API ,json.
  • 熟悉常用的PHP框架 TP.
posted @ 2017-08-06 22:17  东方常德  阅读(222)  评论(0编辑  收藏  举报