佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 779|回复: 9

php - 错了什么?

[复制链接]
发表于 17-5-2006 12:04 AM | 显示全部楼层 |阅读模式
当我按submit时就出现这段字了。什么原因?

Warning: Cannot modify header information - headers already sent by (output started at C:\Server\xampp\htdocs\ztgroup\add.php:11) in C:\Server\xampp\htdocs\ztgroup\add.php on line 31




这是我的coding

if(isset($_POST[Submit])){
        define('DB_USER', 'root');
        define('DB_PASSWORD', 'xxxxx');
        define('DB_HOST', 'localhost');
        define('DB_DATABASE', 'xxx');

        $link = mysql_pconnect(DB_HOST, DB_USER, DB_PASSWORD)
                or die('????????:'.mysql_error());

        mysql_select_db(DB_DATABASE)
                or die('???????['.DB_DATABASE.']:'.mysql_error());
               

        $sql = "INSERT INTO exam (date, name, time, language, ic, can_no, result) VALUES('$_POST[date]', '$_POST[name]', '$_POST[time]', '$_POST[language]','$_POST[ic]', '$_POST[can_no]', '$_POST[result]')";


        mysql_query($sql) || die('ty: '.$sql);

        header("Location:index.php");
        exit;
}
?>
<form name="form1" method="post" action="">
  <table width="600" border="1" align="center" cellpadding="5" cellspacing="0" bordercolor="#9999FF">
    <tr bgcolor="#9999FF">
      <td colspan="2"><font color="#FFFFFF">New Exam</font></td>
    </tr>
    <tr>
      <td width="23%"><div align="right">Date:</div></td>
      <td width="77%"><input name="date" type="text" id="date"></td>
    </tr>
    <tr>
      <td><p align="right">Name:</p></td>
      <td><input name="name" type="text" id="name"></td>
    </tr>
    <tr>
      <td><div align="right">Time:</div></td>
      <td><input name="time" type="text" id="time"></td>
    </tr>
    <tr>
      <td><div align="right">Language:</div></td>
      <td><input name="language" type="text" id="language"></td>
    </tr>
    <tr>
      <td><div align="right">IC:</div></td>
      <td><input name="ic" type="text" id="ic"></td>
    </tr>
    <tr>
      <td><div align="right">Candidate No:</div></td>
      <td><input name="can_no" type="text" id="can_no"></td>
    </tr>
    <tr>
      <td><div align="right">Result:</div></td>
      <td><input name="result" type="text" id="result"></td>
    </tr>
    <tr>
      <td colspan="2"><div align="center">
          <input type="submit" name="Submit" value="Submit">
        </div></td>
    </tr>
  </table>
</form>
回复

使用道具 举报


ADVERTISEMENT

发表于 17-5-2006 01:22 AM | 显示全部楼层
從 error message 看來是

mysql_select_db(DB_DATABASE)

有 error, 然後第 31 行的
header("Location:index.php");
再設定 header 就不行了.
回复

使用道具 举报

sweatbear 该用户已被删除
发表于 17-5-2006 02:08 AM | 显示全部楼层
你这段CODING之上有没有其他HTML CODE, 如<BODY><HTML>....

先当你是有吧....

header()之前, 不可以有OUTPUT.

你可以在这个PHP的第一行加入
ob_start();

最後一行加入
ob_end_flush();

应该就行了.
回复

使用道具 举报

 楼主| 发表于 17-5-2006 08:09 PM | 显示全部楼层
试了,还是不能解决问题。

除了header 还有什么方法可以redirect去别个网页?

Warning: Cannot modify header information - headers already sent by (output started at C:\Server\xampp\htdocs\ztgroup\add.php:11) in C:\Server\xampp\htdocs\ztgroup\add.php on line 31

<font color=red>C:\Server\xampp\htdocs\ztgroup\add.php:11</font>
11 是第11行也就是 <?php 这一句。

line 31 是这句header("Location:index.php");
回复

使用道具 举报

 楼主| 发表于 17-5-2006 08:11 PM | 显示全部楼层
原帖由 flashang 于 17-5-2006 01:22 AM 发表
從 error message 看來是

mysql_select_db(DB_DATABASE)

有 error, 然後第 31 行的
header("Location:index.php");
再設定 header 就不行了.







如果我拿掉header("Location:index.php"); 就没问题。
应该不是sql_select_db(DB_DATABASE)这句的问题吧?

data 可以存进database。
回复

使用道具 举报

sweatbear 该用户已被删除
发表于 17-5-2006 08:32 PM | 显示全部楼层
你先把


  1. header("Location:index.php");
  2. exit;
复制代码


这两行REMARK, 然後, 在其下加入

  1. echo "insert OK";
复制代码


如果你看得到"insert OK"的话, 那我肯定, 你一定是有在header()之前OUTPUT了资料了. 你查一下ob_start()的用法.
回复

使用道具 举报

Follow Us
 楼主| 发表于 17-5-2006 09:07 PM | 显示全部楼层
原帖由 sweatbear 于 17-5-2006 08:32 PM 发表
你先把


  1. header("Location:index.php");
  2. exit;
复制代码


这两行REMARK, 然後, 在其下加入

  1. echo "insert OK";
复制代码


如果你看得到"insert OK"的话, 那 ...




我看到"insert OK"。

我整句coding是这样的。。

  1. <HTML>
  2. <HEAD>
  3. <TITLE></TITLE>
  4. <META name="description" content="">
  5. <META name="keywords" content="">
  6. <META name="generator" content="CuteHTML">
  7. </HEAD>
  8. <BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080">


  9. <?

  10. if(isset($_POST[Submit])){
  11.         define('DB_USER', 'root');
  12.         define('DB_PASSWORD', 'xxx');
  13.         define('DB_HOST', 'localhost');
  14.         define('DB_DATABASE', 'exam');

  15.         $link = mysql_pconnect(DB_HOST, DB_USER, DB_PASSWORD)
  16.                 or die('Cant connect to server:'.mysql_error());

  17.         mysql_select_db(DB_DATABASE)
  18.                 or die('Cant connect to database:'.mysql_error());
  19.                

  20.         $sql = "INSERT INTO exam (date, name, time, language, ic, can_no, result) VALUES('$_POST[date]', '$_POST[name]', '$_POST[time]', '$_POST[language]','$_POST[ic]', '$_POST[can_no]', '$_POST[result]')";


  21.         mysql_query($sql) || die('Error: '.$sql);

  22.         header("Location:index.php");
  23.         exit;
  24.        
  25. }

  26. ?>

  27. <form name="form1" method="post" action="add_verify.php">
  28.   <table width="600" border="1" align="center" cellpadding="5" cellspacing="0" bordercolor="#9999FF">
  29.     <tr bgcolor="#9999FF">
  30.       <td colspan="2"><font color="#FFFFFF">New Exam</font></td>
  31.     </tr>
  32.     <tr>
  33.       <td width="23%"><div align="right">Date:</div></td>
  34.       <td width="77%"><input name="date" type="text" id="date"></td>
  35.     </tr>
  36.     <tr>
  37.       <td><p align="right">Name:</p></td>
  38.       <td><input name="name" type="text" id="name"></td>
  39.     </tr>
  40.     <tr>
  41.       <td><div align="right">Time:</div></td>
  42.       <td><input name="time" type="text" id="time"></td>
  43.     </tr>
  44.     <tr>
  45.       <td><div align="right">Language:</div></td>
  46.       <td><input name="language" type="text" id="language"></td>
  47.     </tr>
  48.     <tr>
  49.       <td><div align="right">IC:</div></td>
  50.       <td><input name="ic" type="text" id="ic"></td>
  51.     </tr>
  52.     <tr>
  53.       <td><div align="right">Candidate No:</div></td>
  54.       <td><input name="can_no" type="text" id="can_no"></td>
  55.     </tr>
  56.     <tr>
  57.       <td><div align="right">Result:</div></td>
  58.       <td><input name="result" type="text" id="result"></td>
  59.     </tr>
  60.     <tr>
  61.       <td colspan="2"><div align="center">
  62.           <input type="submit" name="Submit" value="Submit">
  63.         </div></td>
  64.     </tr>
  65.   </table>
  66. </form>


  67. </BODY>
  68. </HTML>
复制代码
回复

使用道具 举报

发表于 17-5-2006 11:25 PM | 显示全部楼层
原帖由 test 于 17-5-2006 08:09 PM 发表
试了,还是不能解决问题。

除了header 还有什么方法可以redirect去别个网页?

Warning: Cannot modify header information - headers already sent by (output started at C:\Server\xampp\htdocs\ztgroup\ ...


用Javascript

        <script language="JavaScript">
    window.location = "XXXX.php";
        </script>

Javascipt 里不可以有<?  ?>
就可以了。。
回复

使用道具 举报


ADVERTISEMENT

发表于 18-5-2006 12:07 AM | 显示全部楼层

  1. <?

  2. if(isset($_POST[Submit])){
  3.         define('DB_USER', 'root');
  4.         define('DB_PASSWORD', 'xxx');
  5.         define('DB_HOST', 'localhost');
  6.         define('DB_DATABASE', 'exam');

  7.         $link = mysql_pconnect(DB_HOST, DB_USER, DB_PASSWORD)
  8.                 or die('Cant connect to server:'.mysql_error());

  9.         mysql_select_db(DB_DATABASE)
  10.                 or die('Cant connect to database:'.mysql_error());
  11.                

  12.         $sql = "INSERT INTO exam (date, name, time, language, ic, can_no, result) VALUES('$_POST[date]', '$_POST[name]', '$_POST[time]', '$_POST[language]','$_POST[ic]', '$_POST[can_no]', '$_POST[result]')";


  13.         mysql_query($sql) || die('Error: '.$sql);

  14.         header("Location:index.php");
  15.         exit;
  16.         
  17. }

  18. ?>
复制代码


我想你把这一句放在最上面应该没有问题
回复

使用道具 举报

 楼主| 发表于 18-5-2006 01:27 AM | 显示全部楼层
原帖由 红发 于 18-5-2006 12:07 AM 发表
[code]
<?

if(isset($_POST[Submit])){
        define('DB_USER', 'root');
        define('DB_PASSWORD', 'xxx');
        define('DB_HOST', 'localhost');
        define('DB_DATABASE', 'exam' ...



ok..谢谢!
我已经解决问题了。
原来把 <?    ...... ?> 里面的东西放在<html>之前就解决了。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 13-11-2024 10:08 PM , Processed in 0.146418 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表