软件架构
- B/S架构:浏览器(Browser)/服务器(Server)
- C/S架构:客户端(Client)/服务器
数据库:MYSQL(开源免费的数据库)
php(文件放服务器里):在服务器里读取数据生成html页面
<?php
//设置中文编码
header('content-type:text/html;charset=utf-8');
//多有语句要加;
//输出的关键字
echo '你好';
//变量
//数据类型:字符串
$name='吴京'
//数字
$num=123;
//换行
echo '<br>';
//小数
$pi=3.1415926;
//bool
$male=false;
//逻辑语句
if($male==false){
echo 'false';
}else{
echo 'true';
}
//选择语句
$day='礼拜一';
switch($day){
case '礼拜一':
case '礼拜二':
case '礼拜三':
、
、
、
case '礼拜天':
default:
}
//循环语句
//for
for($i=0;$i<10;$i++){
echo 'i'.$i;//i0i1i2...i9 .为拼接符
}
?>
//while
$num=0;
while($num<998){
echo 'hahaha';
$num++;
}
//do...while
do{
echo '进来了吗';
}while(false);
//定义数组
$foodArr=array('西红柿','西兰花','鸡蛋');
//下标从0开始
echo $foodArr[0];
//直接输出复杂类型
print_r($foodArr);//输出整个数组
//遍历
//获取数组的长度(php不能通过.lenth来获取数组长度)
count($foodArr);
for($i=0;$i<count($foodArr);$i++){
echo $foodArr[$i];
}
//索引数组
$person=array('name'=>'吴京','film'=>'战狼','wife'=>'谢楠');
//获取内容
echo $person['wife'];
//完整输出
print_r($person);
//遍历
//$key循环的键
//$value循环的值
foreach($person as $key =>$value){
//打印内容
echo $key.'----'.$value.'<br>';
}
//二维数组
$starArr=array(
array('name'=>'吴京','film'=>'战狼2','friend'=>'张翰'),
array('name'=>'刘德华','film'=>'无间道','friend'=>'曾志伟'),
array('name'=>'黄渤','film'=>'疯狂的石头','friend'=>'林志玲'),
);
echo $starArr[1]['film'];
for($i=0;$i<count($starArr);$i++){
echo '明星:'.$starArr[$i]['name'].'出演了:'.$starArr[$i]['film'].'<br>';
}
?>
php输出html代码(php标签之外的代码,不会执行,原封不动的返回浏览器,会将其作为html代码执行)
<style>
span{
color:hotpink;
font-size:100px;
}
</style>
<?php
header('content-type:text/html;charset=utf-8');
$starArr=array(
array('name'=>'吴京','film'=>'战狼2','friend'=>'张翰'),
array('name'=>'刘德华','film'=>'无间道','friend'=>'曾志伟'),
array('name'=>'黄渤','film'=>'疯狂的石头','friend'=>'林志玲'),
);
echo $starArr[1]['film'];
for($i=0;$i<count($starArr);$i++){
echo '明星:<span>'.$starArr[$i]['name'].'</span>出演了:'.$starArr[$i]['film'].'<br>';
}
?>
<a href="#">戳我</a>
phpstudy 集成环境
根据数据生成页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
//使用php来生成页面
<?php
include 'data.php';//引入其他的php文件
//print_r($arr);
<!--
生成页面的步骤
1.商业的网站数据是保存在==》服务器的数据库中
2.用户访问这个页面时读取数据
3.生成对应的html代码==>让页面好看一些
-->
//列表(如下图所)
?>
</body>
</html>
- 列表
form表单提交数据去服务器
- 界面
- 运行结果
提交数据流程
url 是改变了的
- form表单通过get提交数据的本质是在URL的后边拼街上name=value
例如:
- 如果自己能够拼接url,也能够实现数据的提交
get方式提交数据
- 数据是拼接在url中的,数据的安全性不好
- 理论上来说url的长度是可以任意改变的,但是有一些浏览器会限制url的长度,有一些服务器对于长度太长的url直接就屏蔽了
- 测试方便
post方式提交数据
- action属性:提交的url
- method必须设置成post,因为默认是get
- 提交的数据不在url中,安全性好一些
- post提交数据没有长度的限制,浏览器只要你想,随意添加,浏览器可以选择是否接受这么多的数据
- 如果要上传文件,必须使用post
get还是post
—如果是登录页跳转的方式提交数据一般是后端程序员实现,后端程序员根据需求选择用哪种方式跳转
页面不跳转,提交数据—ajax
- 也分get和post,但由后端程序员确定
上传文件
- 提交的方式:post
- form表单:type=“file” name=""
- form表单属性
— enctype:默认值application/x-www-form-urlencoded,提交文件设置成“multipart/form-data”