提交返回空白页

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";

?> 

【讨论】:

以上是关于提交返回空白页的主要内容,如果未能解决你的问题,请参考以下文章

dede模板留言提交错误时返回空白页处理方法

CodeIgniter 简单表单验证返回空白页

HTTP Web 服务器 POST 返回空白页(Python)

提交 mailchimp subscribe php 后我有一个空白页

Laravel 8 返回空白页

Laravel View Make 返回空白页