有胆量你就来跟着路老师卷起来! -- 纯干货,技术知识分享
路老师给大家分享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']接收。
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
$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方式的内容:
$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。