入门PHP就来我这(高级)10 ~ Web交互

有胆量你就来跟着路老师卷起来! -- 纯干货,技术知识分享

路老师给大家分享PHP语言的知识了,旨在想让大家入门PHP,并深入了解PHP语言。


1 Web工作原理

当您浏览网页的时候,会打开浏览器,输入网址后按下回车键,然后浏览器就会显示出你想要的结果,在看似简单的行为背后,到底隐藏了什么逻辑呢?

1.1 HTTP协议

超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵循这个标准。设计HTTP最初的目的是为了提供一种发布和接受HTML页面的方法。

HTTP是一个客户端和服务端请求和应答的标准(TCP)。客户端指的是终端用户,服务端是服务器上的网站。通过使用Web浏览器、网络爬虫或者其他的工具,客户端发起一个到服务器上指定端口(默认是80)的HTTP请求,基本原理如下:

常用的请求方式如下(最常用的就是GET和POST两种方式):

 1.2 Web工作原理

遵循HTTP协议,就可以向服务器发送请求,并接收消息。这中间有经历了什么呢?思考一下。其实这里面经历了Web的数据处理,处理流程如下图:

第一步:用户在浏览器中输入网址,比如"www.123xxx.com",浏览器会去请求DNS服务器,DNS(Domain Name System)是“域名系统”的英文简称,是一种组织成域层次结构的计算机和网络服务命名系统,应用于TCP/IP网络,从事将主机名或者域名转换为实际IP地址的工作。DNS就像一个翻译官,将“www.123xxx.com”翻译成IP地址“101.200.120.88”。

第二步:DNS将翻译过来的IP地址传递给浏览器。

第三步:浏览器通过IP地址找到IP对应的Web服务器(通常是Apache或者Nginx),建立TCP连接,并向服务器发送HTTP Request(请求)包。

第四步:Web服务器发现用户访问了后缀为“.php”的文件,如index.php文件,那么服务器就会访问PHP解析引擎。

第五步:PHP在解析时,发现需要使用数据库。于是,连接数据库,访问数据库服务器。

第六步:数据库根据查询条件,查找数据返回给PHP引擎。

第七步:PHP引擎拼接数据,解析成HTML,返回给Web服务器。

第八步:Web服务器将HTML文件返回给浏览器,浏览器开始解析HTML文件,此时,用户在浏览器中就可以看到访问的网站内容了。

注意:这期间搭建要熟悉HTML CSS以及JavaScript的知识点,会表单创建。

2 PHP获取表单数据

PHP获取表单数据很显然,PHP充当的是服务端的角色。PHP接受数据的方式很简单,最常用的就是POST和GET方法接收数据。

如果客户端使用的是POST方式提交,提交表单域代码如下:

<form method="POST" action="register.php">
  <input type="text" name="username" value="张三">
  <!-- 省略代码 -->
</form>

上述代码中,使用$_POST['username']接收<input>标签中的name属性为username的值,$_POST['username']值为“张三”。

如果以GET方式提交,则使用$_GET['username']接收。


www.123.cn

 2.1 POST方式

用户注册页面register.html

<form name="RegForm" method="post" action="reg.php" onSubmit="return InputCheck(this)">
    <p>
        <label for="username" class="label">用户名:</label>
        <input id="username" name="username" type="text" class="input" />
        <span>(必填,3-15字符长度,支持汉字、字母、数字及_)</span>
        </p>
        <p>
        <label for="password" class="label">密 码:</label>
        <input id="password" name="password" type="password" class="input" />
        <span>(必填,不得少于6位)</span>
    </p>
    <p>
        <label for="repass" class="label">重复密码:</label>
        <input id="repass" name="repass" type="password" class="input" />
    </p>
    <p>
        <label for="email" class="label">电子邮箱:</label>
        <input id="email" name="email" type="text" class="input" />
        <span>(必填)</span>
    </p>
        <p>
        <input type="submit" name="submit" value="  提交注册  " class="left" />
        </p>
    </form>

用户注册post方法显示页面reg.php

<?php
   $username = $_POST['username'];
   $password = $_POST['password'];
   $repass = $_POST['repass'];
   $email = $_POST['email'];

   echo "接收的用户名为:".$username."<br>";
   echo "接收的password为:".$password."<br>";
   echo "接收的repass为:".$repass."<br>";
   echo "接收的email为:".$email."<br>";

   $array = $_POST;//接收全面信息
   echo "<pre>";
   print_r($_POST);

?>

显示结果如下:

 2.2 GET方式(仅仅是改了method方法)
<form name="RegForm" method="get" action="reg2.php" onSubmit="return InputCheck(this)">
    <p>
        <label for="username" class="label">用户名:</label>
        <input id="username" name="username" type="text" class="input" />
        <span>(必填,3-15字符长度,支持汉字、字母、数字及_)</span>
        </p>
        <p>
        <label for="password" class="label">密 码:</label>
        <input id="password" name="password" type="password" class="input" />
        <span>(必填,不得少于6位)</span>
    </p>
    <p>
        <label for="repass" class="label">重复密码:</label>
        <input id="repass" name="repass" type="password" class="input" />
    </p>
    <p>
        <label for="email" class="label">电子邮箱:</label>
        <input id="email" name="email" type="text" class="input" />
        <span>(必填)</span>
    </p>
        <p>
        <input type="submit" name="submit" value="  提交注册  " class="left" />
        </p>
    </form>

 reg2.php显示get方式的内容:

<?php
   $username = $_GET['username'];
   $password = $_GET['password'];
   $repass = $_GET['repass'];
   $email = $_GET['email'];

   echo "接收的用户名为:".$username."<br>";
   echo "接收的password为:".$password."<br>";
   echo "接收的repass为:".$repass."<br>";
   echo "接收的email为:".$email."<br>";

   $array = $_GET;//接收全面信息
   echo "<pre>";
   print_r($_GET);

?>

显示结果如下:

下篇 PHP和MySQL。  


大家如果喜欢技术,并想有个好的交流平台可以关注我的 我的知乎首页,会不定期分享本人觉得比较好的技术类电子书。
另外,自己创建的一个技术qq群,玩转技术群,该群里功能:分享技能,电子书,代码,以及兼职项目等交流,欢迎大家加入一起交流。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路卿老师

大哥大姐给点吧!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值