在html中显示表单数据

时间:2012-07-29 21:13:48

标签: php html

我有一个HTML格式的表单。提交后,我想在同一个HTML页面中显示文件名。我使用一个名为upLoad.php的PHP文件来回显文件的名称,但是如何在同一个html页面中显示文件的名称呢? 我也不想在我的HTML代码中使用php代码。 的 HTML:

<form action="upLoad.php" method="post" enctype="multipart/form-data">
    <input type="file" name="file"/>
    <input type="submit" name="submit" value="submit"/>
</form>

PHP:

if ($_FILES["file"]["error"] > 0)
{
    echo "Error: " . $_FILES["file"]["error"] . "<br />";
}
else
{
    echo "Upload: " . $_FILES["file"]["name"] . "<br />";
    echo "Type: " . $_FILES["file"]["type"] . "<br />";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
    echo "Stored in: " . $_FILES["file"]["tmp_name"];
}

3 个答案:

答案 0 :(得分:1)

保持action为空

<form action="" method="post" enctype="multipart/form-data">
    <input type="file" name="file"/>
    <input type="submit" name="submit" value="submit"/>
</form>

并将其放在页面的开头

if(isset($_POST['submit']))
{
  if ($_FILES["file"]["error"] > 0)
  {
    echo "Error: " . $_FILES["file"]["error"] . "<br />";
  }
  else
  {
    $print  = "Upload: " . $_FILES["file"]["name"] . "<br />";
    $print .= "Type: " . $_FILES["file"]["type"] . "<br />";
    $print .= "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
    $print .= "Stored in: " . $_FILES["file"]["tmp_name"];
  }
}

您现在可以在同一页的任何位置使用$print变量,以使用echo $print

显示结果

答案 1 :(得分:0)

您无法仅使用HTML接收数据,因此您必须将第一页设为.php:

<?php
if(isset($_FILES))
{
  if ($_FILES["file"]["error"] > 0)
  {
     echo "Error: " . $_FILES["file"]["error"] . "<br />";
  }
  else
  {
     echo "Upload: " . $_FILES["file"]["name"] . "<br />";
     echo "Type: " . $_FILES["file"]["type"] . "<br />";
     echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
     echo "Stored in: " . $_FILES["file"]["tmp_name"];
  }
}
?>
<form action="thispage.php" method="post" enctype="multipart/form-data">
<input type="file" name="file"/>
<input type="submit" name="submit" value="submit"/>
</form>

如果您最终使用多个表单,则可以在此操作中使用get变量:

<?php 
if($_GET['delete'] == 1)
{
 //PHP code
}
elseif($_GET['update'] == 1)
{
 //PHP code
}
?>

<form action='thispage.html?delete=1' method='POST' >
 <!-- html inputs -->
</form>

<form action='thispage.html?update=1' method='POST' >
 <!-- html inputs -->
</form>

如果您不想使用任何GET变量,只需使用隐藏输入:

<?php 
if($_POST['delete'] == 1)
{
 //PHP code
}
elseif($_POST['update'] == 1)
{
 //PHP code
}
?>

<form action='thispage.html' method='POST' >
 <input type='hidden' name='delete' value='1' />
 <!-- html inputs -->
</form>

<form action='thispage.html' method='POST' >
 <input type='hidden' name='update' value='1' />
 <!-- html inputs -->
</form>

答案 2 :(得分:0)

如果你真的不想在HTML文件上使用php,你可以使用jquery表单插件http://jquery.malsup.com/form/