我有一些php源码,它可以发送表单数据信息到MySQL4.x版本下的其他页面。
但是在升级到MySQL5.x版本后,该php源不能将表单数据信息发送到其他页面。
我搜索了很多信息,但不知道我的php源码出了什么问题。
我只能猜测这与mysql升级有关,我必须编辑我的php源代码,
但由于缺乏知识,这对我来说非常困难。
如果有人帮助我或给我一些提示,真的很感谢!
我的php源码由3部分组成。
表单发件人页面( http://pastebin.com/3Sg7SyWV )
->提交的表单数据信息检查页( http://pastebin.com/WEx5tEn2 )
->将表单数据插入数据库( http://pastebin.com/918iZkgw )
我找了好几天,但对php和mysql一无所知。
这很难解决。
提前感谢
发布于 2010-09-13 21:23:20
您没有检查insert查询是否成功。我不知道您使用的是哪个MySQL库,但如果查询失败,它们通常都会返回FALSE,所以您可以将查询行更改为如下所示:
$DB->ExecSql($InsertQuery) or die($DB->whatever_returns_error_information());如果查询有问题,这将中止脚本并输出产生的任何错误信息。
同样,它看起来也不像是在任何地方转义查询数据。这就为您提供了SQL注入的机会。而且,任何包含单引号(')的表单数据都会因为引入语法错误而“中断”查询。如果你在那里进行了适当的错误检查,你会得到一个语法错误报告。
那么,在哪里提取提交的数据并构建粘贴到查询中的所有变量呢?在您的三个脚本中,只有一个地方引用了$_POST,它似乎在一个错误输出函数中,该函数只是将每个键/值作为隐藏的表单字段转储(在那里,您也不会转义/引用数据,因此您的表单本身很容易受到XSS攻击)。
https://stackoverflow.com/questions/3700119
复制相似问题