php的入门
1.php的学习路线
- html+css的学习(重点了解form表单)
- 理解动态语言概念和基本的php语法
- 静动态页面的区别及如何将其连接起来
- 接触mysql,开始设计数据库
- 了解一些基本的php函数
- 完成登陆注册页面
php的学习前准备
环境搭配和安装相应的编译器
(推荐phpstudy和sublime)
了解静动态网页和php的工作原理
静态网页(前端)
在网页设计中,纯粹html格式的网页通常被称为“静态网页”,静态网页是标准的html文件,它的文件扩展名 是.htm,.html,.shtml,.xml,其中可以包括文本,图像,声音,flash动画,javascript客服端脚本等。html代码一 旦生成就基本上不会再发生变化了,除非你修改页面代码。
动态网页
动态网页和静态网页是相对而言的,动态网页能与后台数据库进行交互,数据传递。也就是说,网页扩展命 不是常见的.htm,.html,.shtml,.xml等静态网页而是以.aspx,.asp,.jsp,.php,.perl,.cgi等形式为后缀。动态网页创建 后,页面代码虽说没有变,但是显示的内容却可以随着时间,环境或者数据库操作的结果发生变化。(这就 是我们后端需要去做的。)
php的基本语法和form表单的理解
简单的form表单
<!DOCTYPE html>
<meta charset="utf-8">
<html>
<head>
<title></title>
</head>
<body>
<form action="" method="post">
姓名:<input type="text" name="name"><br>
性别:<input type="radio" name="sex" value="female">女
<input type="radio" name="sex" value="male">男<br>
爱好:<input type="checkbox" name="hobby[]" value="music">音乐
<input type="checkbox" name="hobby[]" value="movie">电影<br>
城市:<select name="city" >
<option value="wuhan">武汉</option>
<option value="hangzhou">杭州</option>
</select><br>
个人简介:<textarea name="jianjie" placeholder="请输入您的个人简介">
</textarea><br>
密码:<input type="password" name="pwd" >
<input type="submit" name="submit" value="提交">
<input type="reset" name="reset" value="重置">
</form>
</body>
</html>
php的基本语法
1.基本格式:
<?php 内容; ?>第一个php文件
<?php
echo "hello php";
?>
2.php与html的互相嵌套
php文件可以嵌套在html中
html文件也可以嵌套在php文件中
但需要注意的是:
最终都需要以php文件的形式保存,也就是以.php后缀名的形式结尾。
3.变量
变量以 $ 符号开头,其后是变量的名称
变量名称必须以字母或下划线开头
变量名称不能以数字开头
变量名称只能包含字母数字字符和下划线(A-z、0-9 以及 _)
变量名称对大小写敏感($y 与 $Y 是两个不同的变量)
4.输出语句
echo ‘输出字符串’;
print_r(‘输出数组’);
5.数据类型
字符串、整数、浮点数、逻辑、数组、对象(暂时不管,面向对象会涉及到)、NULL。
数组
-
1.什么是数组
(1)数组就是一组数据的集合
(2)其表现形式就是内存中的一段连续的内存地址
(3)数组名称其实就是连续内存地址的首地址
数组的特点:(1)连续的
(2)与其他语言不同的是,PHP中数组的key可以是字符串,而values可以是任意类型。 -
2.构造一个数组
可以用 array() 语言结构来新建一个数组。它接受任意数量用逗号分隔的 键(key) => 值(value)对。array( key => value
, …
)
// 键(key)可是是一个整数 integer 或字符串 string
// 值(value)可以是任意类型的值v -
3.索引数组和关联数组
索引数组:
运行结果:
Array
(
[0] => 苹果
【1】 => 香蕉
)
关联数组:
运行结果:
Array
(
[apple] => 苹果
[banana] => 香蕉
)
区别: 其实关联数组和索引数组的差别只是在键值上,关联数组的键值是字符串,并且是人为的规定;而索引数组是数字 -
4.如何读取数组中的元素
见php文件
<?php
$cars=array("Volvo","BMW","SAAB");
var_dump($cars);
?>
**php文件**
<?php
//1.构造数组
$hobby = array('1' =>'羽毛球' ,'2'=>'篮球','3'=>'网球');
//2.读取数组元素
print_r($hobby);
echo "<br>";
$lisi=array('name'=>'lisi','hobby'=>'羽毛球','email'=>'123@qq.com');
print_r($hobby);
//2.读取数组元素
echo "$lisi['name']";
?>
php与html的相互嵌套
php文件
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<!-- 1.在html中嵌套在html中 -->
<?php echo "你好,我是php;" ?>
<?php
// 2.在php里面嵌套html
echo"<table border='1'>";
echo"<tr>";
echo"<td>123</td>";
echo"</tr>";
echo "<tr>";
echo"<td>456</td>";
echo"</tr>";
echo"</table>";
?>
</body>
</html>
将html与php联系起来
form表单各元素的含义
form表单
- action:form表单将传递到test.php,然后由test.php文件处理该表单。
- 传递数据的不同方式 post:传递的信息不显示在地址栏中,而显示在消息体中。 get:
(1)提交时,它的变量和值都会在地址栏显示,这对它的安全性有一定的影响。
(2)主要用于一个页面向另一个页面传参,比如对页面数据的显示 - name属性用于对提交到服务器后的表单数据进行标识 注释:只有设置了name属性的表单才能在提交表单时传递它们的值。
- a标签:<a href="test.php?hobby=‘羽毛球’&name=“张三”>点开看看
- $ _post:1.$_POST 广泛用于收集提交 method=“post” 的 HTML 表单后的表单数据。
- $ _GET
1.也可用于收集提交 HTML 表单 (method=“get”) 之后的表单数据。
2.$_GET 也可以收集 URL 中的发送的数据。
form传值中的html文件
<!DOCTYPE html>
<meta charset="utf-8">
<html>
<head>
<style type="text/css">
.error{color: red;}
</style>
<title></title>
</head>
<body>
<span style="color: red"><a href="test.php?hobby='羽毛球'&name="张三">点开看看</a></span>
<form action="test.php" method="post">
<table>
<tr>
<td>姓名:</td>
<td><input type="text" name="name" required><span class='error'>*</span></td>
</tr>
<tr>
<td>性别:</td>
<td><input type="radio" name="sex" value="female">女
<input type="radio" name="sex" value="male">男<span class='error'>*</span></td>
</tr>
<tr>
<td>爱好:</td>
<td><input type="checkbox" name="hobby[]" value="music">音乐
<input type="checkbox" name="hobby[]" value="movie">电影</td>
</tr>
<tr>
<td>城市:</td>
<td><select name="city" >
<option value="wuhan">武汉</option>
<option value="hangzhou">杭州</option>
</select></td>
</tr>
<tr>
<td>个人简介:</td>
<td><textarea name="jianjie" placeholder="请输入您的个人介绍"></textarea></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" name="pwd" placeholder="请输入密码" ><span class='error'>*</span></td>
</tr>
</table>
<tr>
<td> <input type="submit" name="submit" value="提交"></td>
<td><input type="reset" name="reset" value="重置"></td>
</tr>
</form>
</body>
</html>
form传值中的php文件
<?php
print_r($_POST);
print_r($_GET);
?>
几种常用的mysql语句
mysql语法
一.数据库的基本操作
-
创建数据库 create database 数据库名称;
显示有哪些数据库 show databases;
使用数据库 use 数据库名;
创建表 create table 表名(字段名1 类型 not null ,
字段名2 类型 not null
…
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
删除表 drop table 表名;
删除数据库 drop database 数据库名;
显示有哪些表 show tables;
增加一个字段 alter table 表名 add column 字段名 属性;
改变字段属性 alter table 表名modify 字段名 varchar(10);
改变字段名称 alter table 表名change字段名 varchar(10);注意此时一定要重新指定该字段的类型
删除一个字段 alter table 表名 DROP COLUMN 字段名 (某些数据库不允许该操作)
显示表的结构 desc 表名; -
插入一条记录 insert into 表名 values();
同时插入多条记录 insert into 表名(字段1,字段2…)values(),(),()…;
查看表中的数据 select *from 表名;
查看某条记录 select from 表名 where 条件;
查看指定列 select 字段名 from 表名;
行计数 select count()from 表名;
修改某条记录 update 表名 set 字段值= where 条件;
删除一条记录 delete from 表名 where 条件;
二.其他操作
- 多表联查,事务机制等等。需要你们自己学习。我给的百度云视频里面也粗略的涉及到了。
- 数据库的设计在后期项目之中也十分重要。(这个可以百度查找别人数据库设计的例子,也可以查阅相关书籍)
数据库数据表
数据表
数据库
熟练mysql的增删改查然后进行建表
建表过程出现的乱码问题
在my.ini 文件中找到default-character-set=utf8改成default-character-set=gbk
如何进入mysql
密码默认为root
建表
- 手动建表
- mysql语句建表
php学习
用php进行mysql操作
连接数据库
<?php
$servername = "localhost";//服务器的名称或者ip地址
$username = "root";//用户名
$password = "root";//用户密码
// 创建连接
$conn = mysqli_connect($servername, $username, $password);
// 检测连接
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "连接成功";
mysqli_set_charset($conn,'utf8');//设置字符集为utf8
?>
建库建表
建库
<?php
include('link.php');
// 创建数据库
$sql = "CREATE DATABASE myDB";
if (mysqli_query($conn, $sql)) {
echo "数据库创建成功";
} else {
echo "Error creating database: " . mysqli_error($conn);
}
mysqli_close($conn);
?>
建表
<?php
include("link.php");
mysqli_select_db($conn,'myDB');//数据库的选择
$sql="create table study(
id int(10) not null primary key auto_increment,
name varchar(20) not null,
sex char(4) not null,
hobby varchar(50) not null,
city varchar(20) not null,
jianjie text(100) not null,
pad varchar(50) not null)engine=innodb default charset=utf8;";
if (mysqli_query($conn, $sql)) {
echo "数据表 MyGuests 创建成功";
} else {
echo "创建数据表错误: " . mysqli_error($conn);
}
mysqli_close($conn);//关闭数据库
?>
向表中插入数据
php文件直接插入数据
<?php
include("link.php");
mysqli_select_db($conn,'myDB');
$sql="insert into study (name,sex,hobby,city,jianjie,pad) values('张三','男','羽毛球','武汉','你好','253813')";
if (mysqli_query($conn, $sql)) {
echo "新记录插入成功";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
?>
form表单传值,php文件直接插入数据
html文件
<!DOCTYPE html>
<meta charset="utf-8">
<html>
<head>
<title></title>
</head>
<body>
<form action="form.php" method="post">
姓名:<input type="text" name="name"><br>
性别:<input type="radio" name="sex" value="female">女
<input type="radio" name="sex" value="male">男<br>
爱好:<input type="checkbox" name="hobby[]" value="music">音乐
<input type="checkbox" name="hobby[]" value="movie">电影<br>
城市:<select name="city" >
<option value="wuhan">武汉</option>
<option value="hangzhou">杭州</option>
</select><br>
个人简介:<textarea name="jianjie" placeholder="请输入您的个人简介">
</textarea><br>
密码:<input type="password" name="pwd" >
<input type="submit" name="submit" value="提交">
<input type="reset" name="reset" value="重置">
</form>
</body>
</html>
php文件
<?php
print_r($_POST);
echo "<br>";
echo $_POST['name'];
echo "<br>";
print_r($_POST['hobby']);
echo "<br>";
print_r($_POST['hobby'][0]);
?>
php文件
<?php
include("link.php");
mysqli_select_db($conn,'myDB');
$hobby=$_POST['hobby'][0];
$name=$_POST['name'];
$sex=$_POST['sex'];
$city=$_POST['city'];
$jianjie=$_POST['jianjie'];
$pwd=$_POST['pwd'];
$sql="insert into study (name,sex,hobby,city,jianjie,pad) values('$name','$sex','$hobby','$city','$jianjie','$pwd')";
// var_dump($sql);
if (mysqli_query($conn, $sql)) {
echo "新记录插入成功";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
?>
如何查看表中数据
<?php
include('link.php');
mysqli_select_db($conn,'myDB');
$sql="select*from study";
$a=mysqli_query($conn,$sql);
if ($a) {
while ($rs = mysqli_fetch_assoc($a)) {
var_dump($rs);
}
}else{
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
?>
如何修改表中数据
略
如何删除表中数据
略
完成登陆注册页面
待续。。。