PHP $_POST Problem


PHP $_POST Problem

我在php $_POST代码有问题。这是我的密码?我做错了什么?

this is 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,就像a:

<h1></h1>

这是upload.php

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

我能做些什么来修复?我使用jquery提交。所以没问题display:none

没有什么问题发生,白屏是它应该如何工作的。

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

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

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

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

我在你的代码中没有看到任何东西可以阻止表单字段在文件中结束,所以错误很可能是在其他地方。以下是一些可以帮助您找到问题的技巧:

  1. 将此添加到所有脚本的顶部:

    ini_set('display_errors', TRUE);
    error_reporting(E_ALL);
    
  2. 将此添加到upload.php:

    var_dump($_POST);
    

    …然后打开浏览器的"View-> Source"菜单,看看你的数据是什么样子的

  3. 使用W3C在线验证器验证生成的HTML

变化

$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";
}
?>

在执行upload.php操作之前,可以先验证$_POST方法

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