PHP $ _POST问题

时间:2011-07-15 15:15:39

标签: php post

我在php $ _POST代码中遇到问题。这是我的代码?我做错了什么?

这是index.php

<form action="upload.php" method="post" id="form">
<input type="text" name="fname" size="87" />
<input type="submit" style="display:none" />

如果我点击提交,页面将转到upload.php和白色屏幕。我看看sample.txt,它就像一个:

<h1></h1>

这是upload.php

$yazi=$_POST['fname'];
$fo = fopen("sample".".txt", "a");
fwrite($fo, '<h1>'.$yazi.'</h1>');
fclose($fo);

我能做些什么来修复? 我使用jquery提交。所以没有问题显示:没有,我想。

4 个答案:

答案 0 :(得分:1)

没有任何错误发生,白屏应该是如何工作的。

upload.php中完成处理后,您可以使用Location标头指令将浏览器重定向到某处。例如:

header("Location: http://mypage.com/where_to_go_after.php");

空的$ var问题,请尝试使用",如:

fwrite($fo, "<h1>".$yazi."</h1>");

答案 1 :(得分:0)

更改

$fo = fopen(sample.".txt", "a");

$fo = fopen("sample.txt", "a");

完整代码:

<?php
var_dump($_POST);

$filename = 'sample.txt';
$yazi = '<h1>'.$_POST['fname'].'</h1>';

if (is_writable($filename)) {
    if (!$fo = fopen($filename, 'a')) {
         echo "Cannot open file ($filename)";
         exit;
    }
    if (fwrite($fo, $yazi) === FALSE) {
        echo "Cannot write to file ($filename)";
        exit;
    }
    echo "Success, wrote ($yazi) to file ($filename)";
    fclose($fo);
} else {
    echo "The file $filename is not writable";
}
?>

答案 2 :(得分:0)

我在代码中看不到任何会阻止表单字段在文件中结束的内容,因此错误最有可能发生在其他地方。在这里,您可以使用几个技巧来帮助您找到问题:

  1. 在所有脚本之上添加此内容:

    ini_set('display_errors', TRUE);
    error_reporting(E_ALL);
    
  2. upload.php

    之上添加此项
    var_dump($_POST);
    

    ...然后转到浏览器的“查看 - >来源”菜单,查看您的数据是什么样的。

  3. 使用W3C online validator验证您生成的HTML。

答案 3 :(得分:0)

您可以先执行$ _POST方法,然后再执行upload.php操作

<php>
  if(isset($_POST['fname'])){
    //your echo or any code here..
    //this is to test your method
  }
?>