前后端交互

本文介绍了如何使用PHP进行表单验证,包括姓名、邮箱、网址的输入检查,以及性别选择的必填项。通过实例展示了HTML与PHP的前后端交互过程,适合初学者练习。

web前后端交互
这里我自己创建了一个表单文件,用来交互信息。

  1. 前后端交互
    在这里插入图片描述
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>shine</title>
		<style>
			.adc{
				color: red;

			}
			}
		</style>
	</head>
	<body>
		
		<?php
			//定义变量并默认值设置为空,所有变量初始化
			$name=$email=$web=$notes=$wm="";
			$nameErr=$emailErr=$webErr=$wmErr="";
			
		//访问页面请求方式  REQUEST请求的意思  METHOD代表交互请求
		if($_SERVER['REQUEST_METHOD']=="POST"){
			
			//传输值进来,判断name值是否为空
			if(empty($_POST["name"])){
				$nameErr = "名字是必填选项";
				
			}else{
				
				//否则传入name值
				$name = abc($_POST["name"]);
				//正则表达式,检测名字是否包含字母和空格/^[a-zA-Z]*$/
				if(!preg_match("/^[a-zA-Z]*$/",$name)){
					$nameErr="名字只能输入字母和空格";
				}
			}
			if(empty($_POST["email"])){
				$emailErr = "请输入邮箱";
				
			}else{
				
				//否则传入email值
				$email = abc($_POST["email"]);
				//正则表达式,检测邮箱是否合法/([\w\-]+@[\w\-]+\.[\w\-+]+)/
				if(!preg_match("/([\w\-]+@[\w\-]+\.[\w\-+]+)/",$email)){
					$emailErr="请输入正确的邮箱";
				}
			}
			
			if(empty($_POST["web"])){
				$webErr = "请填写网址";
				
			}else{
				
				//否则传入web值
				$web = abc($_POST["web"]);
				//正则表达式,检测URL地址是否合法/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i
				if(!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$web)){
					$webErr="请输入正确的网址";
				}
			}
			
			if(empty($_POST["notes"])){
				$notes="";
			}else{
				$notes=abc($_POST["notes"]);
			}
			
			if(empty($_POST["wm"])){
				$wm="性别是必填选项";
			}else{
				$wm=abc($_POST["wm"]);
			}
		}
		
		//构造函数
		function abc($shine){
			$shine=trim($shine);
			$shine=stripslashes($shine);
			$shine=htmlspecialchars($shine);
			return $shine;
		}

		?>
		
		<h1>表单验证</h1>
		<p> <span class="adc">*代表必填选项</span> </p>
		
		<form method="post" action="<?php echo htmlspecialchars($SERVER["PHP_SELF"])?>" >&nbsp &nbsp &nbsp字&nbsp:<input type="text" name="name" value="<?php echo $name;?>"/>
			<span class="adc">*<?php echo $nameErr;?></span>
			<br>
			E-mail&nbsp &nbsp:<input type="text" name="email" value="<?php echo $email;?>"/>
			<span class="adc">*<?php echo $emailErr;?></span>
			<br>
			web地址:<input type="text" name="web" value="<?php echo $web;?>"/>
			<span class="adc">*<?php echo $webErr;?></span>
			<br>
			备注:<br><textarea name="notes" cols="40" rows="5"><?php echo $notes;?></textarea><br>
			性别:<br>
			<input type="radio" name="wm" <?php if(isset($wm) && $wm=="woman") echo "checked" ?> value="woman"><br>
			<input type="radio" name="wm" <?php if(isset($wm) && $wm=="man") echo "checked" ?> value="man"><span class="adc">*<?php echo $wmErr;?></span>
			<br>
			<input type="submit" name="submit" value="submit">
		</form>
		
		<?php 
		echo "<h1>你输入的内容是:</h1>";
		echo $name;
		echo "<br>";
		echo $email;
		echo "<br>";
		echo $web;
		echo "<br>";
		echo $notes;
		echo "<br>";
		echo $wm;
		?>
		
	</body>
</html>

简单的php的前后端交互,技术友可以用来练习.

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

跳楼梯企鹅

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

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

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

打赏作者

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

抵扣说明:

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

余额充值