在不同页面之间移动<input />数据

时间:2013-07-02 18:04:27

标签: php html

在同一台服务器中,我有一个名为mkwars的页面,另一个名为generatedtab。在mkwars里面我有很多包含数字的输入字段。我需要将这些输入的数据传输到页面generatedtab中的另一个新输入。

这是HTML代码:

<table border="0" id="table1" align="center" cellspacing="0" cellpadding="3" width="100%">
<tr>
<td width="50%" valign="top"><b>Home Clan:</b> <input type="text" id="clan1" name="clan1" onchange="nomewar();"/></td>
<td><b>Opponent Clan: </b> <input type="text" id="clan2" name="clan2" onchange="nomewar();"/></td>
</tr>
</table>

//other code

<form method="post" action="savewar.php">
<input type="submit" Value="Generate Table" style="height:70px;width:800px" />
</form>

在这里你可以看到PHP文件:

<?
$percorso = file("war/filedb.txt");
while(list(,$value) = each($percorso)){
list($clan1, $clan2) = split("[:]", $value);
$params["clan1"] = trim($clan1);
$params["clan2"] = trim($clan2);
#print results
echo $params["clan1"]." - ".$params["clan2"]."<br />";
}
?>

war是我服务器内的文件夹。当我单击Generate Table按钮时,我看不到文件(war / filedb.txt)。你可以帮帮我吗?我认为PHP的方式更好,但如果你认为我应该做别的事情,请告诉我。

1 个答案:

答案 0 :(得分:1)

我不清楚你在这里要做什么。我你要填写html表单并让php脚本将新输入保存到服务器上的文件中,然后打印出文件的内容。如果这是正确的,这里有一些你需要解决的问题。

1)在您的html页面上,<form>标记必须包含您要发回服务器的所有输入字段。这样:

<form method="post" action="savewar.php">
<table border="0" id="table1" align="center" cellspacing="0" cellpadding="3" width="100%">
<tr>
<td width="50%" valign="top"><b>Home Clan:</b> <input type="text" id="clan1" name="clan1" onchange="nomewar();"/></td>
<td><b>Opponent Clan: </b> <input type="text" id="clan2" name="clan2" onchange="nomewar();"/></td>
</tr>
</table>

<input type="submit" Value="Generate Table" style="height:70px;width:800px" />
</form> 

2)在您的php脚本中,您需要使用超全局$ _POST或$ _REQUEST变量来捕获已发布表单中的数据。例如:

$clan1 = $_POST['clan1'];
$clan2 = $_POST['clan2'];

3)在你的php脚本中,你需要打开文件进行编写,并将新数据附加到文件的末尾:

$fileappendpointer = fopen("war/filedb.txt",'a');
$newline = $clan1 . " - " . $clan2 . "<br>";
fwrite($fileappendpointer, $newline);

4)然后你可以轻松地读出文件的内容:

fclose($fileappendpointer);
$filereadpointer = fopen("war/filedb.txt",'r');
$contents = fread($filereadpointer,filesize("war/filedb.txt"));
fclose($filereadpointer);
print $contents;