【笔记】php与web的交互

表单传输数据方式

  • POST:url不显示参数
  • GET:url显示参数

PHP参数传递方式

$_POST[]全局变量

获取post方法传来的值

<?php
	$user = $_POST["user"]
?>

$_GET[]全局变量

获取get方法传来的值

<?php
	$user = $_GET["user"]
?>

$_SESSION[]变量

获取表单元素的值。使用$_SESSION[]传参的方法获取的变量值,保存之后任何页面都可以使用。但这种方法很耗费系统资源

<?php
	$user = $_SESSION["user"]
?>

在WEB中嵌入php脚本

在Web页中嵌入PHP脚本的方法有两种:

  • 一种是直接在HTML标记中添加PHP标记符<?php ?>,写入PHP脚本
  • 另一种是对表单元素的value属性进行赋值。

在HTML标记中嵌入PHP脚本

在Web编码过程中,可以随时添加PHP脚本标记<?php ?>,两个标记之间的所有文本都会被解释成PHP,而标记之外的任何文本都会被认为是普通的HTML。
例如,在标记中添加PHP标识符,使用include语句调用外部文件top.php,代码如下:

<?php
	include("top.php");
?>

对表单元素的value属性进行赋值

在Web程序开发过程中,通常需要对表单元素的value属性进行赋值,以获取该表单元素的默认值。例如,为表单元素隐藏域进行赋值,只需要将所赋的值添加到value属性后即可,代码如下:

<?php
	$hidden = "yg0025";
?>
<input type = "hidden" name = "ID" value = "<?php echo $hidden;?>" >

从上面的代码中可以看出,首先为变量$hidden赋予一个初始值,然后将变量$hidden的值赋给隐藏域。在程序开发过程中,经常使用隐藏域存储一些无须显示的信息或需传送的参数。

在PHP中获取表单数据(实例)

获取文本框、密码域、隐藏域、按钮、文本域的值

例:登录

  1. 创建一个php文件,添加一个表单
    <form name="form1" method="post" action="">
    	<table width="509" border="0">
    		<tr>
    			<td>用户名:</td>
    			<td>
    				<input type="text" name="user" size="20">
    			</td>
    			<td>密码:</td>
    			<td>
    				<input type="password" name="pwd" size="pwd">
    			</td>
    			<td>
    				<input name="submit" type="submit" id="submit" value="登录"/>
    			</td>
    		</tr>
    	</table>
    </form>
    
  2. 在form表单元素外的任意位置添加php标记符
    • 使用if条件语句判断用户是否提交了表单
    • 如果条件成立,则用echo语句输出使用$_POST[]方法获取的用户名和密码
    	<?php
    	if (isset($_POST["submit"]) && $_POST["submit"] == "登录") {
    		echo "您输入的用户名为:".$_POST['user']."&nbsp;&nbsp;密码为:".$_POST['pwd'];
    	}
    ?>
    
    <form name="form1" method="post" action="">
    	<table width="509" border="0">
    		<tr>
    			<td>用户名:</td>
    			<td>
    				<input type="text" name="user" size="20">
    			</td>
    			<td>密码:</td>
    			<td>
    				<input type="password" name="pwd" size="pwd">
    			</td>
    			<td>
    				<input name="submit" type="submit" id="submit" value="登录"/>
    			</td>
    		</tr>
    	</table>
    </form>
    
  3. 进入网页,输入用户名和密码
    在这里插入图片描述

获取单选按钮的值

radio(单选按钮)一般是成组出现的,具有相同的name值和不同的value值,在一组单选按钮中,同一时间只能有一个被选中。

例:radio.php

  1. 创建radio.php文件
  2. 添加一个form表单
    <form action="" method="post" name="form1" >
    	性别:
    	<input name="sex" type="radio" value="1" checked><input name="sex" type="radio" value="0"><input type="submit" name="Submit" vlaue="提交">
    </form>
    
  3. <form>表单元素外的任意位置添加PHP标记符,然后应用$_POST[]全局变量获取单选按钮组的值,最后通过echo语句进行输出
    <?php
    	if (isset($_POST["sex"]) && $_POST["sex"] != "") {
    		echo "您选择的性别为:".$_POST["sex"];
    	} 
    ?>
    <form action="" method="post" name="form1" >
    	性别:
    	<input name="sex" type="radio" value="1" checked><input name="sex" type="radio" value="0"><input type="submit" name="Submit" vlaue="提交">
    </form>
    

获取复选框的值

例:checkbox.php

  1. 创建checkbox.php页面,添加form表单和复选框
    <form name="form1" method="post" action="checkbox.php">
    	<table width="440" cellpadding="0" cellspacing="0">
    		<tr>
    			<td width="400" height="25" align="center" valign="top">
    			您喜欢的图书类型:
    				<input type="checkbox" name="mrbook[]" value="入门类">入门类
    				<input type="checkbox" name="mrbook[]" value="案例类">案例类
    				<input type="checkbox" name="mrbook[]" value="讲解类">讲解类
    				<input type="checkbox" name="mrbook[]" value="典型实例类">实例类
    			</td>
    			<td width="40" align="center" valign="top">
    				<input type="submit" name="submit" value="提交">
    			</td>
    		</tr>
    	</table>
    </form>
    
  2. <form>表单元素外的任意位置添加PHP标记符,然后使用$_POST[]全局变量获取复选框的值,最后通过echo语句进行输出
    <?php
    if (isset($_POST['mrbook']) && $_POST['mrbook'] != null) {
    	echo "您的选择结果是:";
    	for ($i = 0; $i < count($_POST['mrbook']); $i++) {
    		echo $_POST['mrbook'][$i]."&nbsp;&nbsp;";
    	}
    }
    ?>
    <form name="form1" method="post" action="checkbox.php">
    	<table width="440" cellpadding="0" cellspacing="0">
    		<tr>
    			<td width="400" height="25" align="center" valign="top">
    			您喜欢的图书类型:
    				<input type="checkbox" name="mrbook[]" value="入门类">入门类
    				<input type="checkbox" name="mrbook[]" value="案例类">案例类
    				<input type="checkbox" name="mrbook[]" value="讲解类">讲解类
    				<input type="checkbox" name="mrbook[]" value="典型实例类">实例类
    			</td>
    			<td width="40" align="center" valign="top">
    				<input type="submit" name="submit" value="提交">
    			</td>
    		</tr>
    	</table>
    </form>
    

获取下拉列表框/菜单列表框的值

<?php
	if (isset($_POST['submit']) && $_POST['submit'] == "提交") {
		echo "你选择的意见主题为:".$_POST['select'];
	}
?>
<form name="form1" method="post" action="">
	<table>
		<tr>
			<td>意见主题:</td>
			<td>
				<select name="select" size="1">
					<option value="公司发展" selected>公司发展</option>
					<option value="管理制度" selected>管理制度</option>
					<option value="后勤服务" selected>后勤服务</option>
					<option value="员工薪资" selected>员工薪资</option>
				</select>
				<input type="submit" name="submit" value="提交">
			</td>
		</tr>
	</table>
</form>

获取文件域的值

<?php
	if (isset($_POST['file']) && $_POST['file'] != "") {
		echo $_POST['file'];
	}
?>
<form name="form1" method="post" action="file.php">
	<input type="file" name="file" size="15">
	<input type="submit" name="upload" value="上传">
</form>

对URL传递的参数进行编/解码

编码

使用URL参数传递数据,就是在URL地址后面加上适当的参数。URL实体对这些参数进行处理。使用方法如下:
在这里插入图片描述显而易见,这种方法会将参数暴露。

URL编码是一种浏览器用来打包表单输入数据的格式,是对用地址栏传递参数进行的一种编码规则。如在参数中带有空格,则传递参数时就会发生错误,而用URL编码后,空格转换成“%20”,这样错误就不会发生了,对中文进行编码也是同样的情况,最主要的一点就是对传递的参数起到了隐藏的作用。
在PHP中对查询字符串进行URL编码,可以通过urlencode()函数实现。

<a href="index.php?id=<?php echo urlencode("php教程");?>php教程</a>

解码

对于URL传递的参数直接使用$_GET[]方法即可获取。而对于进行URL加密的查询字符串,则需要通过urldecode()函数对获取后的字符串进行解码

<a href="index.php?id=<?php echo urlencode("php教程");?>php教程</a>
<?php
	if (isset($_GET['id'])) {
		echo "字符串内容是:".urldecode($_GET['id']);
	}
?>
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

ZhShy23

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值