-2

我的任务是将表单数据保存到文本文件中。但是,php 没有被执行。即使在点击提交按钮后,文本文件也是空的。请让我知道 myhtml 的缺陷

 <form id="form" name="form" method="post" action="Input2.php">


 <label>Choose my Map set  :
 </label>
 <select name="Mapset">
  <option value="Global network">Global Network</option>

  </select> <br> 
 <br>

<label>Tiff code:
</label>
<select name="Tiff">
<option value="MX">MX</option>
  </select> <br> <br>
<label>Physical size :
</label>
<input type="text" name="size" size="10"><br>
<label>time:
</label>
<input type="text" name="time" size="10"><br>
<div style="text-align: center"><br>

<input type="submit" name="submit" id="submit" value="Next" class="submit">

<div class="spacer"></div> 
</form>

我的PHP:

if (isset($_POST['submit'])) { 
$data = $_POST['size'];
$data = $_POST['time'];

$file = "input.txt"; 

$fp = fopen($file, "a") or die("Couldn't open $file for writing!");
 fwrite($fp, $data) or die("Couldn't write values to file!"); 

fclose($fp); 
echo "Saved to $file successfully!";
}
header("location:NetOptInput3.html");
4

1 回答 1

1

在这里试一试(经过测试)

您需要分配您的$_POST值以便告诉它“什么”保存在文件中。

这样做的方式是它将采用所有 POST 值。

您还可以像这样分配单个变量:

$size=$_POST['size'];

补充说明:

header("location:NetOptInput3.html");由于缺少空间,您已经失败并且将会失败。

这是正确的方法header("Location: NetOptInput3.html");

HTML 表单(我删除name="submit"了,因为它也会显示在文件中)

<form id="form" name="form" method="post" action="Input2.php">
 <label>Choose my Map set  :
 </label>
 <select name="Mapset">
 <option value="Global network">Global Network</option>
 </select> <br> 
 <br>

<label>Tiff code:
</label>
<select name="Tiff">
<option value="MX">MX</option>
 </select> <br> <br>
<label>Physical size :
</label>
<input type="text" name="size" size="10"><br>
<label>time:
</label>
<input type="text" name="time" size="10"><br>
<div style="text-align: center"><br>

<input type="submit" id="submit" value="Next" class="submit">

<div class="spacer"></div> 
</form>

PHP 处理程序( Input2.php)

注意:使用a开关将追加/添加到文件,同时w将覆盖所有以前保存的内容。

<?php

foreach($_POST as $data) {
$info = '';
$info .= $data . "\n";
$file = "data.txt";
$fp = fopen($file, "a") or die("Couldn't open $file for writing!");

fwrite($fp, $data . "\n") or die("Couldn't write values to file!");
}
fclose($fp); 

// You cannot use both header and echo. Choose one.
// header("Location: NetOptInput3.html");

echo "Success";

?>
于 2013-09-09T00:50:31.593 回答