目录
PHP基础
一、PHP简介与环境搭建
什么是PHP?
(外文名:PHP:Hypertext Preprocessor,中文名:"超文本预处理器") 是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用) 文档中去执行,执行效率比完全生成HTML标记的CGI要高许多,PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。 目前PHP在全球网页市场、手机网页市场还有为手机提供API程序接口)排名第一。 PHP入门简单,学习入门易入手。
PHP环境安装
集成环境 ·PHPStudy ·小皮面板 ·XAMPP 同时,WINDOWS/LINUX 上同样可直接安装环境//在这里,建议选用PHPstudy 作为环境安装,官网地址为小皮面板(phpstudy) - 让天下没有难配的服务器环境!
代码编辑选择
选择PHP代码的编辑器时,这里给出两点建议。拥有代码高亮功能 ·不会进行自动提示(建议新手使用) 推荐 phpstorm notepad++ vscode
二、基本语法
PHP基本语法操作
html
<!DOCTYPE html>
<html>
//这段代码为一个PHP文件实例,将该实例内容放置服务器端即可实现向浏览器输出"*刘华强*"的操作
<body>
<?php
echo"和我刘华强拼,你有这个实力吗";
?>
</body>
</htmI>
PHP变量与输出
php
<?php
$iphone13 = 5880;
//变量首字母不能是数字,同时,变量区分大小写
$iphone12 = 6088;
// 把变量命名的有意义一点,否则就会给读者挖坑
$shen = $iphone13 + $iphone12echo $shen;
// echo 是在PHP里面最常用的一个输出、显示功能的命令
?>
$ 叫作美元符
PHP中的变量必须以美元符开始
啥是常量?
顾名思义,就是长久不变的量 在PHP中,用define来定义一个常量如下
php
<?php
define('MY_NAME','我是雪野白香里');
echo MY_NAME;
?>
PHP注释
PHP注释
php
// 表示单行注释
#号也表示单行注释,用的比较少。多行注释 (注释多行)
//afdasdfadsf 单行注释
/*
多行注释 这里是注释区域代码
*/
PHP单引号双引号声明
在PHP中,单引号双引号都可适用于字符串 更推荐使用单引号,双引号会解析其中的变量
两者具体的不同之处可以去查阅相关资料了解
php
<?php
$byball = '兄弟,这瓜多少钱一斤';
$sellball = "两块钱一斤";
?>
三、PHP表单
PHP表单
该html文档够建立一个提交界面
我们利用post 提交方式向get_name.php
提交了名字以及性别资料,点击提交按钮进行提交
新建一个名为index.html的文件 放到PHPStudy网站根目录下
html
<html>
<head>
<meta charset="utf-8">
<title>问卷调查</title>
</head>
<body>
<form action="whoami.php" method="post">
你的名字:<input type="text" name="fname">
多大:<input type="text" name="age">
<input type="submit" value="提交">
</form>
</body>
</html>
通过网页输入localhost,直接访问到index.html该页面
四、登录界面搭建与讲解
新建一个名为whoami.php的文件放到PHPStudy网站根目录下
php
<html>
<body>
你叫<?php echo $_post["fname"];?>啊<br>
<?php echo $_POST["age"];?>有男朋友吗?
</body>
</html>
构建登陆页面
利用input 表单就可以构建简单的登陆页面 <fieldset>标签: 框住标签内容
<legend>标签:为fieldset标签添加标题
<label>标签: 点击字体,会自动聚焦后面的控件 <li>标签:列表标签,上方的ul标签代表着下方i标签将内容无序显示,同时,ol标签则代表这有序显示
checkbox: 复选圆框表单元素
登陆页面端
html
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<form action="login.php" method="post">
<fieldset>
<legend>用户登录</legend>
<ul>
<li>
<label>用户名:</label>
<input type="text" name="username">
</li>
<li>
<label>密码:</label>
<input type="password" name="userpassword">
</li>
<li>
<label></label>
<input type="checkbox" name="remember" value="yes">7天之内自动登录
</li>
<li>
<label></label>
<input type="submit" name="login" value="登录">
</li>
</ul>
</fieldset>
</form>
</body>
</html>
服务器端
php
<?php
header('Content-type:text/html;charset=utf-8');
//开启session
session_start();
//处理用户登录信息
if(isset($_POST['login'])){
//接收用户的登录信息
$username = trim($_POST['username']);
$password = trim($_POST['password']);
//判断提交的登录信息
if(($username == '')||($password =='')){
//若为空,视为未填写,提示错误,并3秒后返回登录界面
header('refresh:3; url=login.html');
echo "用户名或密码不能为空,系统将在3秒后跳转到登录界面,请重新填写登录信息!";
exit;
}elseif(($username != 'username') ||
($password !='password')){
#用户名或密码错误,同空的处理方式
header('refresh:3; url=login.html');
echo "用户名或密码错误,系统将在3秒后跳转到登录界面,请重新填写登录信息!";
exit;
}elseif(($username = 'username') && ($password = 'password')){
#用户名和密码都正确,将用户信息存到Session中
$_SESSION['username'] = $username;
$_SESSION['islogin'] = 1;
//若勾选7天内自动登录,则将其保存到Cookie并设置保留7天
if($_POST['remember'] == "yes"){
setcookie('username',$username,time()+7*24*60*60);
setcookie('code',md5($username.md5($password)),time()+7*24*60*60);
}else{
//没有勾选则删除Cookie
setcookie('username','',time()-999);
setcookie('code','',time()-999);
}
//处理完附加项目后跳转到登录成功的首页
header('location:index.php');
}
}
?>
接下来
使用MySQL数据库实现交互
php
<?php
header('Content-type:text/html;charset=utf-8');
//开启session
session_start();
//处理用户登录信息
if(isset($_POST['login'])){
//接收用户的登录信息
$username = trim($_POST['username']);
$password = trim($_POST['password']);
//判断提交的登录信息
if(($username == '')||($password =='')){
//若为空,视为未填写,提示错误,并3秒后返回登录界面
header('refresh:3; url=login.html');
echo "用户名或密码不能为空,系统将在3秒后跳转到登录界面,请重新填写登录信息!";
exit;
}
//连接数据库
//数据库用户名和密码是你自己的用户名和密码
$con = mysqli_connect('localhost','root','123456');
//验证数据库链接状态
if(mysqli_errno($con)){
echo "连接失败了,请重试".mysqli_error($con);
exit;
}
//设置解码方式
mysqli_set_charset($con,'utf8');
//如果没有相对应的数据库,请记得打开数据库进行创建
mysqli_select_db($con,'test');
$sql = "select * from login where username = '$username' and password = '$password'";
$result = mysqli_query($con,$sql);
if(!$num){
#用户名或密码错误,同空的处理方式
header('refresh:3; url=login.html');
echo "用户名或密码错误,系统将在3秒后跳转到登录界面,请重新填写登录信息!";
exit;
}
else{
#用户名和密码都正确,将用户信息存到Session中
$_SESSION['username'] = $username;
$_SESSION['islogin'] = 1;
//若勾选7天内自动登录,则将其保存到Cookie并设置保留7天
if($_POST['remember'] == "yes"){
setcookie('username',$username,time()+7*24*60*60);
setcookie('code',md5($username.md5($password)),time()+7*24*60*60);
}else{
//没有勾选则删除Cookie
setcookie('username','',time()-999);
setcookie('code','',time()-999);
}
echo("登陆成功");
mysqli_close($con);
}
}
?>