🤖 AI智能摘要

暂未配置

前言

字符串在 PHP 开发当中使用十分频繁,网页标题、文章内容、用户输入的数据全部都是字符串。本章首先学习字符串常用处理函数,之后学习表单,掌握 GET、POST 两种数据提交方式,实现网页接收用户输入的数据,这是做登录、注册、留言功能的基础。

一、字符串基础

字符串就是一段文本内容,使用单引号' '或者双引号" "包裹。

单引号与双引号区别

  1. 单引号:原样输出内容,不会解析里面的变量,解析速度更快。
  2. 双引号:会自动解析里面的变量。
<?php
$name = "小明";

//单引号,变量不会解析
$str1 = '我的名字是$name';
echo $str1."<br>";

//双引号,可以解析变量
$str2 = "我的名字是$name";
echo $str2;
?>

字符串拼接

使用英文小数点.,可以把多段字符串、变量拼接在一起。

<?php
$username = "张三";
$str = "用户名:" . $username . ",欢迎访问网站";
echo $str;
?>

二、字符串常用系统函数

1.strlen () 获取字符串字节长度

注意:一个中文占 3 个字节,统计中文不要使用 strlen。
<?php
echo strlen("abc123");
?>

2.mb\_strlen () 获取字符个数(中文专用)

统计汉字、字母一共多少个字符,做输入字数限制经常用到。

<?php
echo mb_strlen("我爱PHP教程");
?>

3.str\_replace () 字符串替换

格式:str_replace(要查找的内容,替换成的内容,原字符串)

<?php
$text = "小红很开心";
$newText = str_replace("小红","小明",$text);
echo $newText;
?>

4.trim () 去除字符串两边空格

用户输入账号密码经常会不小心输入多余空格,使用 trim 清除。

<?php
$input = "   admin   ";
echo trim($input);
?>

5.substr () 截取字符串

从字符串当中截取一部分内容,常用于文章摘要。

<?php
$article = "PHP第五章字符串与表单基础教程";
//从0位置开始,截取10个字符
echo substr($article,0,10);
?>

三、HTML 表单基础

表单的作用:接收用户输入,把浏览器的数据提交给 PHP 后端处理。

  • action:提交地址,数据发送到哪个 PHP 文件
  • method:提交方式,分为getpost
<form action="test.php" method="get">
    用户名:<input type="text" name="username">
    <br>
    <input type="submit" value="提交">
</form>
name 属性非常重要!PHP 就是依靠 name 来读取表单数据,如果没有 name,后端接收不到数据。

四、GET 提交方式

GET 会把提交的数据直接显示在浏览器地址栏 URL 上面。
优点:可以收藏、可以分享链接;
缺点:地址栏可见,不安全,传输数据量小,不适合密码、大段文章。

表单页面 form.html

<form action="get.php" method="get">
    昵称:<input type="text" name="nick">
    <br>
    <input type="submit" value="GET提交">
</form>

接收页面 get.php
使用$_GET['表单name名称']获取数据

<?php
//接收表单传过来的nick数据
$nick = $_GET['nick'];
echo "你输入的昵称是:" . $nick;
?>

五、POST 提交方式

POST 数据放在请求体内,不会显示在浏览器地址栏
优点:相对安全,可以传输大量数据,适合密码、文章、留言;
缺点:不能直接保存为链接。

表单页面 form.html

<form action="post.php" method="post">
    账号:<input type="text" name="user">
    <br>
    密码:<input type="password" name="pwd">
    <br>
    <input type="submit" value="POST提交">
</form>

接收页面 post.php
使用$_POST['表单name名称']接收数据

<?php
$username = $_POST['user'];
$password = $_POST['pwd'];

echo "账号:".$username."<br>";
echo "密码:".$password;
?>

六、简单判断:表单为空判断

用户什么都不填直接点击提交,会出现报错,需要增加判断。
empty()函数:判断内容是否为空,为空返回 true。

<?php
$name = $_POST["user"];

if(empty($name)){
    echo "用户名不能为空!";
}else{
    echo "欢迎你:".$name;
}
?>

七、实战小案例:简易留言表单

form.html

<form action="msg.php" method="post">
    昵称:<input type="text" name="name"><br>
    留言内容:<textarea name="msg"></textarea><br>
    <input type="submit" value="发表留言">
</form>

msg.php

<?php
//接收数据
$name = trim($_POST["name"]);
$msg = trim($_POST["msg"]);

//判断是否为空
if(empty($name) || empty($msg)){
    echo "昵称和留言内容都不能为空!";
}else{
    echo "【".$name."】的留言:<br>";
    echo $msg;
}
?>

八、本章总结

  1. 单引号原样输出文本,双引号可以解析变量,.用于字符串拼接;
  2. mb\_strlen 统计中文,trim 去除两端空格,substr 实现字符串截取;
  3. 表单是用户和后端交互的桥梁,input 标签必须设置 name 属性;
  4. GET 数据显示在 URL 地址栏,使用$_GET接收;POST数据不显示地址栏,使用$\_POST 接收;
  5. empty () 检测数据是否为空,接收表单数据一定要做非空判断,避免代码报错。
(注:部分内容可能由 AI 生成)