提交返回空白页
Posted
技术标签:
【中文标题】提交返回空白页【英文标题】:Submit returning a blank page 【发布时间】:2013-07-06 01:45:14 【问题描述】:当我尝试添加新笔记时返回空白页。我的代码是php,数据库是mysql
这是php代码:
if (isset($_POST['Submit']))
$candidate_id = $_POST['candidate_id'];
$Notes = $_POST['notes'];
if ($Notes != "")
$sql3 = "INSERT INTO notes (notes_id, candidate_id, notes) VALUES(DEFAULT,'$candidate_id','$Notes')";
$result3=mysql_query($sql3);
if (!$result3)
die('Error: ' . mysql_error());
echo "</br>1 note added"
mysql_close();
表单代码
<div id="tab3">
<h2> Notes </h2>
<dl>
<dt>Notes</dt>
<dd>
<textarea id="notes" style="width: 80%; height: 150px;" name="notes"></textarea>
</dd>
</dl>
<?php
echo "<a href =newCandidate.php?id=$contact_id><input style =\"right:2em; bottom:1em;\" type =\"button\" name =\"update\" value =\"Submit\"></a>";
?>
</div>
【问题讨论】:
首先,避免使用 mysql_* 函数 第二,不要相信$_POST 您的数据库中是否添加了注释? @ImaneFateh 没有注释没有添加 开启报错看看有什么问题 【参考方案1】:试试
if($_SERVER['REQUEST_METHOD']=="POST")
或
if(isset($_POST['update']))
而不是
if (isset($_POST['Submit']))
提交按钮的名称是 update 而不是 Submit 在您的表单上
也停止使用 mysql_* 函数。如果你现在必须使用它们,至少在将它们插入数据库之前正确地转义输入。
【讨论】:
谢谢。我的代码不起作用的另一个原因是输入类型是按钮,但它应该已提交表单。感谢您浏览我的代码并提供您的意见。帮了大忙!【参考方案2】:总结一下:
在脚本开头使用错误报告
error_reporting(E_ALL);
回显 SQL 查询(在创建之后)以查看您想要发送到服务器的奇怪、未转义的内容:
echo $sql3;
exit; // to prevent execution
使用 phpmyadmin 尝试回显的 SQL,看看问题是您的查询还是缺少数据库连接。
你的脚本中有很多不好的地方,但是对于第一次错误跟踪,这些提示可能没问题... 一般来说,我建议你在阅读 SQL 注入,现代数据库后完全重写它查询方法,正确的php编码等!要完成您的项目,您应该考虑使用微框架来获得快速且安全的结果。
【讨论】:
【参考方案3】:在您的提交按钮中,您没有表单
试试这个
<div id ="tab3">
<h2> Notes </h2>
<dl><dt>Notes</dt><dd><form action="" method="post" name="myform"><textarea id="notes" style="width: 80%; height: 150px;" name="notes"></textarea></dd></dl>
<?php echo "<a href =newCandidate.php?id=$contact_id><input style =\"right:2em; bottom:1em;\" type =\"button\" name =\"update\" value =\"Submit\"></a></form>";
?> </div>
请避免使用内部 css,请使用其他 css 文件中的类。
【讨论】:
【参考方案4】:试试这个
<?php
if(isset($_POST['submit']))
// Code
<?php
else
echo "form not submited properly";
?>
<?php
include 'header.php';
include 'nav.php';
include 'config.php';
?>
除了
<?php
include 'header.php';
include 'nav.php';
include 'config.php';
?>
<?php
if(isset($_POST['submit']))
// Code
<?php
else
echo "form not submited properly";
?>
【讨论】:
以上是关于提交返回空白页的主要内容,如果未能解决你的问题,请参考以下文章
HTTP Web 服务器 POST 返回空白页(Python)