[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,放在第一列,添加为主键,(每个表只有一个主键滴);这样每一行数据就唯一了。

唯一的主键干嘛用呢?明天再看再写。嘿嘿,要劳逸结合。
				
时间: 2024-11-02 23:41:18

[head first php&mysql]读书笔记-客户的反馈(第四章)的相关文章

读书笔记 - js高级程序设计 - 第四章 变量 作用域 和 内存问题

5种基本数据类型 可以直接对值操作 判断引用类型 var result = instanceof Array 执行环境 每个执行环境都有一个与之关联的变量对象,环境中定义的所有变量和函数都保存在这个对象中 执行环境的销毁 某个执行环境中的所有代码执行完毕后 该环境被销毁 保存在其中的所有变量了函数定义也会随之销毁 作用域链中的对象 全局执行环境的变更对象始终都是作用域链中的最后一个对象 没有块级作用域 if 和 for 内的变量 外部也可以访问 标记清除 不同浏览器 只不过垃圾时间的长短不同 引

[读书笔记]了不起的node.js(四)

这周的学习主要是nodejs的数据库交互上,并使用jade模板一起做了一个用户验证的网站.主要是遇到了一下几个问题. 1.mongodb版本过低 npm ERR! Not compatible with your operating system or architecture: [email protected] 0.9.9只支持linux,darwin,freebsd这几个系统,最新版本已支持wins. 2.nodejs进行insert操作后:无法读取结果 1 app.post('/sign

高性能MySQL --- 读书笔记(2) - 2016/8/2

第1章 MySQL架构 MySQL架构与其他数据库服务器大不相同,这使它能够适应广泛的应用.MySQL足够灵活,能适应高要求架构.例如Web应用,同时还适用于嵌入式应用.数据仓库.内容索引和分发软件.高可用的冗余系统.联机事务处理系统OLTP及很多其他应用类型. 为了充分发挥MySQL的性能,顺畅地使用它,就必须理解它的设计.MySQL的灵活性体现在很多方面,它可以再众多硬件平台上良好的配置和运行,还支持多种数据类型.不过MySQL最重要.最不同寻常的特征是它的存储引擎框架,这种架构可以讲查询处

[head first php&amp;mysql]读书笔记-啥是php

php是一门在服务端运行的语言.为什么要有PHP呢,服务端放静态资源html,css,js,img这些不就好了吗? 但是单单有这些就太单调了.怎么要弄点交互出来,而不是天天眼巴巴地看静态的东西把,所以才有了PHP. 书上就是以一个栗子开始的,简单的说就是提交表单到后台,后台获取到数据,再运行PHP脚本,把拿过来的数据insert到数据库里,想用的时候调出来. 表单提交到后台,用$_GET或$_POST(根据form提交的method决定)通过表单名也就是name属性,再把这些数据分别放在一个变量

高性能Mysql读书笔记7.12.1

缓存存放在一个应用表中,通过一个哈希值应用,这个哈希值包括了如下因素,查询本身,当前要查询的数据库,客户端协议的版本等一些其他可能会影响返回结果的信息. 当判断缓存是否命中时,Mysql不会解析,"正规化"或者参数化查询语句,而是直接适用SQL语句和客户端发送过来的其他原始信息.任何字符上的不同,例如空额,注释等都会导致缓存的不命中,所以统一的编码规则是一个好的习惯. 检查缓存的时候并没有解析SQL语句,所以Mysql并不知道查询语句中是否包含不确定函数.在检查缓存之前,Mysql就做

高性能mysql读书笔记(一):Schema与数据类型优化

4.5 加快ALTER TABLE 操作的速度 原理: MySQL 的ALTER TABLE 操作的性能对大表来说是个大问题. MySQL 执行大部分修改表结构操作的方法是用新的结构创建一个空表,从旧表中查出所有数据插入新表,然后删除旧表.这样操作可能需要花费很长时间,如果内存不足而表又很大,而且还有很多索引的情况下尤其如此 特点: 大部分ALTER TABLE 操作将导致MySQL 服务中断 ALTER TABLE 本质是建新结构的表,从旧表插入数据到新表 (SHOW STATUS 显示这个语

[head first php&amp;mysql]读书笔记-上传文件吧(第五章)

想上传一张图片,可以前台用input type='file' name='file',后台用类似$_post的东西$_FILES['file']来接收,$_FILES这玩意也是个超级全局变量,有['name'],['size']这些属性.前台多了一个表单域,后台自然也要对应多一列了,sql语句么alter table tablename add column pic varchar(50).前台后台的东西都有了,就把数据插进数据库把. $pic=$_FILES['file']['name'];

[head first php&amp;mysql]读书笔记-基本的安全信息(第五章)

1.用服务器发送一个头部给客户端,客户端输入用户名和密码才能查看返回的页面. 调用header()设置头信息启用验证信息. header('HTTP/1.1401 Unauthorized');header('www-Authenticate:Basic realm="guitar wars"'); 在服务端用$_SERVER['PHP_AUTH_USER']和$_SERVER['PHP_AUTH_PW']验证密码 假如是错的,直接调用EXIT(<h1>sorry</

【读书笔记】深入分布式缓存 第一章

什么是缓存? 缓存就是存储在计算机上的一个原始数据的复制集,以便于访问 为什么使用缓存 因为从缓存中读取数据非常,能有效的提升用户体验 系统的性能指标 指标一般包括响应时间.延迟时间.吞吐量.并发用户数和资源利用率等 响应时间是指系统对用户请求做出响应的时间,它完整的记录了整个系统处理请求时间.由于一个系统有很多的功能,而不同的功能的处理逻辑也是千差万别,因而b不同功能的响应时间也不尽相同,甚至同一功能在输入数据不同的情况,响应时间也不同.所以响应时间通常是指该软件系统所有功能的平均响应时间,或