PHP-表单提交-数据库交互-正则表达式

表单提交

  • phpinfo()
<?php phpinfo();?> # 打印出PHP的版本
  • var_dump() # 打印出字符串的类型长度以及字符串
<?php
var_dump('abc123');
?>

在这里插入图片描述

  • 标单提交
    action表示表单提交的地址,method是提交的方法(一般为GET/POST/REQUEST),name表示传递的参数,百度搜索的参数默认为wd
<form action="https://www.baidu.com/s" method="GET">
<input type='text' name='wd'/>
<input type='submit'/>
</form>

在这里插入图片描述
输入任意内容,发现跳转到百度搜索界面,搜索内容即为我们输入的内容。
在这里插入图片描述

PHP和数据库交互

  • 基本函数
mysqli_connect(地址,账号,密码,数据库名)	# 用于数据库连接
mysqli_query(连接语句,执行语句)	# 执行数据库语句
mysqli_fetch_array()	# 将数据转换成数组形式

登陆界面

<form action="login.php" method="REQUEST">
<input type='text' name="username"/>
<input type='password' name="password"/>
<input type='submit'/>
</form>

<?php
	$username=$_REQUEST['username'];
	$pass=$_REQUEST['password'];
	$con=mysqli_connect('127.0.0.1','root','root','abc');
	$sql="select * from admin_tb where username='$username' and password='$pass'";
	$query=mysqli_query($con,$sql);
	if(mysqli_fetch_array($query)){echo "登陆成功!欢迎您!";}
	else{echo "帐户名或密码错误,登陆失败!";}
?>

注册界面

<form action='register.php' method='REQUEST'>
	<input type="text" name="username">
	<input type="password" name="password">
	<input type="submit">
</form>
<?php
	$user=$_REQUEST['username'];
	$pass=$_REQUEST['password'];
	$conn=mysqli_connect('127.0.0.1','root','root','abc');
	$sql="insert into admin_tb (username,password) values('$user','$pass')";
	if(mysqli_query($conn,$sql)) echo "注册成功!";
	else echo "注册失败!";
?>

PHP正则表达式

常用函数

  • preg_match_all(/要搜索的字符串/,输入字符串,匹配后输出的字符串存入数组)
<?php
	echo preg_match_all('/1/','123321',$c); # 输出'123321'字符串中匹配到1的次数
	print_r($c);
?>

在这里插入图片描述

  • preg_replace(/要搜索的字符串/,要替换成什么字符串,需要替换的字符串)
<?php
	echo preg_replace('/1/','a','123123');
?>

在这里插入图片描述

常用转义字符

数字:\d
非数字:\D
空白字符:\s
非空白字符:\S
单词字符(英文字符+数字+下划线):\w
非单词:\W

e.g将所有非单词字符替换为1

<?php
 echo preg_replace('/\W/','1','ah!@$#%ahs');	
 ?>

在这里插入图片描述
e.g 判断非法字符输入

<?php
	if(preg_match_all('/\W/',$_GET['id'])) die('非法输入');
?>

在这里插入图片描述

自定义字符

[a-z]	表示a-z这26个字母
[0-9a-z]	表示0-9这10个数字a-z这26个字母
[1357a-c]	表示1357这4个数字和a-c这3个字母
[^0-9a-z]	表示所有非0-9和a-z的字符
<?php
	if(preg_match_all('/[^0-9a-zA-Z]/',$_GET['id'])) die('非法输入');
?>

在这里插入图片描述

关键词

()	表示一个整体
^	匹配字符串开始的位置
$	匹配字符串结尾的位置($放在需要匹配的字符串后,e.g /123$/)
.	匹配任意字符
* 匹配0次或多次(*放在需匹配的字符串后)
+	匹配1次或多次(+放在需匹配的字符串后)
\	转义字符
|	二选一

限定符+修饰符

限定符:
{n}	e.g 1{3} 要3个1才会被匹配
{n,}	e.g 1{3,} 3个1及以上会被匹配
{n,m}	e.g 1{1,3} 最少匹配1个1,最多匹配3个1(默认匹配最多次数)

修饰符:
/i	不区分大小写
/A  匹配规则必须从头开始匹配
/s .将匹配一切字符
/x 挣扎表达式中的空白符将会被忽略
<?php
	echo preg_match_all('/a/i','aAbbsd');
?>

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值