四、 向服务器发送数据
现在我们从数据库读取数据已经没有太多困难了。但是怎么反过来向数据库发送数据呢?其实这不是PHP的问题。
首选,我们创建一个带有简单表格的网页。
$#@60;html$#@62; $#@60;body$#@62; $#@60;form method="post" action="$#@60;?php echo $PATH_INFO?$#@62;"$#@62; 名:$#@60;input type="Text" name="first"$#@62;$#@60;br$#@62; 姓:$#@60;input type="Text" name="last"$#@62;$#@60;br$#@62; 住址:$#@60;input type="Text" name="address"$#@62;$#@60;br$#@62; 职位:$#@60;input type="Text" name="position"$#@62;$#@60;br$#@62; $#@60;input type="Submit" name="submit" value="输入信息"$#@62; $#@60;/form$#@62; $#@60;/body$#@62; $#@60;/html$#@62; |
同样要注意$PATH_INFO的用法。就象我在第一课里讲到的,您可以在HTML代码中的任意位置使用PHP。您也会注意到,表格中的每一个元素都对应着数据库中的一个字段。这种对应关系并不是必须的,这么做只是更直观一些,便于您以后理解这些代码。
还要注意的是,我在Submit按钮中加入了name属性。这样我在程序中可以试探$submit变量是否存在。于是,当网页被再次调用时,我就会知道调用页面时是否已经填写了表格。
我应该指出,您不一定要把上面的网页内容写到PHP程序中,再返过来调用程序本身。您完全可以把显示表格的网页和处理表格的程序分开放在两个网页、三个网页甚至更多网页中,悉听尊便。放在一个文件中只是可以使内容更加紧凑而已。
那好,我们现在加入一些代码,来检查用户在表格中输入的内容。我会把用$HTTP_POST_VARS把所有查询参数变量都显示出来,这只不过是为了证明PHP确实把所有变量都传给了程序。这种方法是一个很有用的调试手段。如果您要想看全部的变量,可以用$GLOBALS。
$#@60;html$#@62; $#@60;body$#@62; $#@60;?php if ($submit) { // 处理表格输入 while (list($name, $value) = each($HTTP_POST_VARS)) { echo "$name = $value$#@60;br$#@62; "; } } else{ // 显示表格 ?$#@62; $#@60;form method="post" action="$#@60;?php echo $PATH_INFO?$#@62;"$#@62; 名:$#@60;input type="Text" name="first"$#@62;$#@60;br$#@62; 姓:$#@60;input type="Text" name="last"$#@62;$#@60;br$#@62; 住址:$#@60;input type="Text" name="address"$#@62;$#@60;br$#@62; 职位:$#@60;input type="Text" name="position"$#@62;$#@60;br$#@62; $#@60;input type="Submit" name="submit" value="输入信息"$#@62; $#@60;/form$#@62; $#@60;?php } // end if,if结束 ?$#@62; $#@60;/body$#@62; $#@60;/html$#@62; |
程序现在运行正常,那我们现在就可以取到表格输入的内容,并把它们发送给数据库。
$#@60;html$#@62; $#@60;body$#@62; $#@60;?php if ($submit) { // 处理表格输入 $db = mysql_connect("localhost", "root"); mysql_select_db("mydb",$db); $sql = "INSERT INTO employees (first,last,address,position) VALUES ($first,$last,$address,$position)"; $result = mysql_query($sql); echo "Thank you! Information entered. "; } else{ // 显示表格内容 ?$#@62; $#@60;form method="post" action="$#@60;?php echo $PATH_INFO?$#@62;"$#@62; 名:$#@60;input type="Text" name="first"$#@62;$#@60;br$#@62; 姓:$#@60;input type="Text" name="last"$#@62;$#@60;br$#@62; 住址:$#@60;input type="Text" name="address"$#@62;$#@60;br$#@62; 职位:$#@60;input type="Text" name="position"$#@62;$#@60;br$#@62; $#@60;input type="Submit" name="submit" value="输入信息"$#@62; $#@60;/form$#@62; $#@60;?php } // end if,if结束 ?$#@62; $#@60;/body$#@62; $#@60;/html$#@62; |
您现在已经向数据库中插入数据了。不过还有很多完善的工作要做。如果用户没有填写某一栏怎么办?在需要填入数字的地方填了文字怎么办?或者填错了怎么办?别担心。我们一步一步来。

PHP和Python各有优势,选择应基于项目需求。1.PHP适合web开发,语法简单,执行效率高。2.Python适用于数据科学和机器学习,语法简洁,库丰富。

PHP不是在消亡,而是在不断适应和进化。1)PHP从1994年起经历多次版本迭代,适应新技术趋势。2)目前广泛应用于电子商务、内容管理系统等领域。3)PHP8引入JIT编译器等功能,提升性能和现代化。4)使用OPcache和遵循PSR-12标准可优化性能和代码质量。

PHP的未来将通过适应新技术趋势和引入创新特性来实现:1)适应云计算、容器化和微服务架构,支持Docker和Kubernetes;2)引入JIT编译器和枚举类型,提升性能和数据处理效率;3)持续优化性能和推广最佳实践。

在PHP中,trait适用于需要方法复用但不适合使用继承的情况。1)trait允许在类中复用方法,避免多重继承复杂性。2)使用trait时需注意方法冲突,可通过insteadof和as关键字解决。3)应避免过度使用trait,保持其单一职责,以优化性能和提高代码可维护性。

依赖注入容器(DIC)是一种管理和提供对象依赖关系的工具,用于PHP项目中。DIC的主要好处包括:1.解耦,使组件独立,代码易维护和测试;2.灵活性,易替换或修改依赖关系;3.可测试性,方便注入mock对象进行单元测试。

SplFixedArray在PHP中是一种固定大小的数组,适用于需要高性能和低内存使用量的场景。1)它在创建时需指定大小,避免动态调整带来的开销。2)基于C语言数组,直接操作内存,访问速度快。3)适合大规模数据处理和内存敏感环境,但需谨慎使用,因其大小固定。

PHP通过$\_FILES变量处理文件上传,确保安全性的方法包括:1.检查上传错误,2.验证文件类型和大小,3.防止文件覆盖,4.移动文件到永久存储位置。

JavaScript中处理空值可以使用NullCoalescingOperator(??)和NullCoalescingAssignmentOperator(??=)。1.??返回第一个非null或非undefined的操作数。2.??=将变量赋值为右操作数的值,但前提是该变量为null或undefined。这些操作符简化了代码逻辑,提高了可读性和性能。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

SublimeText3汉化版
中文版,非常好用

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

禅工作室 13.0.1
功能强大的PHP集成开发环境