[head first php&mysql]读书笔记-客户的反馈(第四章)
有时候会发送空白表单到客户那,因为啥都没填直接submit掉。哎,多不好。
介绍2个函数,isset和empty。isset对赋值后的变量返回true,不论赋的什么值,空string也是true;empty当里面的参数是空值是返回true;
空值有null,'',0,false.
这样就不会就能再用户提交空的东西的时候做出响应了。照理来说应该在客户端用js先去处理,再PHP处理,php作为最后一道墙检验。
假如提交过来东西有问题,就用类似这样的if循环去判断掉
判断掉之后,万一出错呢,还要回显一张表单给客户重填把。
就直接用html代码了
<?php
if(out_false){
?>
<form action="<?php echo $_SERVER[PHP_SELF]?>" method="post">
<input type="text" name="user" value="<?php echo $user ?>">
<input type="pasword" name="password" value=<?php echo $password?>>
<input type="submit" value="submit"/>
</form>
<?php
}
?>
<?php?>外面的都是html代码了,但是form表单部分还是在if逻辑里面的,还有这个东西$_SERVER[PHP_SELF],可以引用前台提交过来的表单的url。假如表单数据填写有误,直接返回一个表单,这个返回的表单记录这之前填的东西。<?php echo $password?> 直接用php代码把传过来的东西再输到表单上,不过这次的表单地址url是.php结尾的了,要注意下。
另外,可以用isset($_POST['submit'])判断表单是否提交,点了submit,就有一个值传到这个超级全局变量中了,isset就是true了。
另外,数据库中我们必须让表的每一行数据具有唯一性。这就用到了主键这个东西。这就要改数据表了,总不能直接drop table 掉把。。。
alter table 表名 add id int not null auto_increment first,add primary key(id)
大意就是添加id,Int类型,不能为空,每次自己增加1,放在第一列,添加为主键,(每个表只有一个主键滴);这样每一行数据就唯一了。
唯一的主键干嘛用呢?明天再看再写。嘿嘿,要劳逸结合。
接上篇。
主键用来标志每一行,给每个表单字段加上一个复选框,再name设为todelete[],value设为主键,传到后台$_POST['todelete']就是一个数组,数组的项就是value值,也就是主键。
这样就可以用来删主键对应的行了。
标签:
php
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(四):结合BotSharp
· 软件产品开发中常见的10个问题及处理方法
· Vite CVE-2025-30208 安全漏洞
· 《HelloGitHub》第 108 期
· MQ 如何保证数据一致性?