php(黑马程序员)

软件架构

  • 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方式提交数据

  1. 数据是拼接在url中的,数据的安全性不好
  2. 理论上来说url的长度是可以任意改变的,但是有一些浏览器会限制url的长度,有一些服务器对于长度太长的url直接就屏蔽了
  3. 测试方便

post方式提交数据

  1. action属性:提交的url
  2. method必须设置成post,因为默认是get
  3. 提交的数据不在url中,安全性好一些
  4. post提交数据没有长度的限制,浏览器只要你想,随意添加,浏览器可以选择是否接受这么多的数据
  5. 如果要上传文件,必须使用post

get还是post

—如果是登录页跳转的方式提交数据一般是后端程序员实现,后端程序员根据需求选择用哪种方式跳转

页面不跳转,提交数据—ajax

  • 也分get和post,但由后端程序员确定

上传文件

  • 提交的方式:post
  • form表单:type=“file” name=""
  • form表单属性
    — enctype:默认值application/x-www-form-urlencoded,提交文件设置成“multipart/form-data”
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值