在php中的一个页面中存在多个表单的问题

时间:2016-02-27 05:46:42

标签: php html mysql

我发出的问题是,我创建了两个表单,一个是PROFILE PAGE,一个用于将用户图像上传到数据库,另一个用于更新用户基本信息,如姓名,电子邮件等。问题我我有的是只有一个表格正在运作,另一个表格停止工作。这是我的代码。             

{{1}}

很抱歉,我的长代码......会感激您的贡献。第二个表没有更新到我的数据库..当按下更新按钮时没有任何反应。没有显示错误消息。

1 个答案:

答案 0 :(得分:3)

问题和解决方案:

我在这里看到的主要问题是您的第二个表单使用method="POSTT"。当然,没有像POSTT这样的方法,所以默认使用GET方法。删除额外的' T'它应该解决问题。

如何逐步调试:

我还建议应用一些常用的调试技术来追踪您可能遇到的任何未来错误。

第1步:检查您的PHP错误日志,确保他们报告错误。

第2步:在浏览器中查看生成的源代码,然后通过https://validator.w3.org/

等验证程序运行

第3步:如果上面没有遇到任何错误,请在整个程序中的不同位置或至少在问题区域使用大量的echo语句。例如,如果您放置了一个echo语句,例如:

echo "Second if block"; 

(我常常在我的程序中放置一些echo语句以防万一我忽略了某些东西。如果是这种情况,我通常会使用诸如...... echo 7;之类的数字。 .. echo 8 ...等,每个代码块之前,之后和之内)

你的第二个if块里面你会注意到它没有运行。这可能会让你知道包含$ _POST变量的if语句被评估为false。如您所知,它应该已经评估为true,您知道这是您问题的根源。然后,您可以按如下方式显示表单变量的内容:

echo "<pre>";
echo "GET:";
print_r($_GET);
echo "POST:";
print_r($_POST);
echo "</pre>";

这会向您显示数据位于$ _GET变量中,而不是您预期的$ _POST变量。

步骤4:如果在上述任何步骤中未检测到您的错误,则最后一步是验证您的SQL语句是否正确。尝试直接在SQL环境中在PHP之外运行它,看看是否有任何错误。另外,设置PHP脚本以显示SQL错误。

在您的网站上线之前,请确保所有错误仅发送到日志文件而不是发送到浏览器。