簡體   English   中英

PHP表單元素未顯示。

[英]PHP form elements not showing up.

因此,我為一個學校老師開設了一個小型網站,並且我一直在嘗試實現一些php腳本,以便老師可以在現場上傳文件,而不必親自找我手動將文件上傳到她的服務器。

我將文件本身上傳,但是當我嘗試使用文本框讓老師輸入名稱時,該字段內的文本拒絕將自身分配給變量。 我對所有$ _POST []值都使用了轉儲方法,它出現在數組中。

這是我的表格代碼。

<body>
<div id="page">
<div id="header"></div>
<div id="cssmenu">
<ul>
<li><a href="../../index-2.html"><span>Home</span></a></li>
<li><a href="../../tline.html"><span>Timeline</span></a></li>
<li><a href="../../notes-apus.html"><span>Notes</span></a></li>
<li><a href="../../links.html"><span>Links</span></a></li>
<!--   <li class='last'><a href='videos.html'><span>Videos</span></a></li> --></ul>
</div>
<hr />
<div id="content" class="narrowcolumn">
<div class="post" id="div">
<h2 class="style8">File Upload</h2>
<div class="entry" align="center">
      <form action="upload_file.php" method="post" enctype="multipart/form-data">
         <label for="file">File:</label>
         <input type="file" name="file" id="file"><br>
         <label for="text">Entry Name:</label>
         <input type="text" name="Filed" value="File Name" id="FileName">
         <input type="submit" name="submit" value="Submit">
      </form>
</div>
<p class="postmetadata">&nbsp;</p>
</div>
</div>
<hr />
<div id="footer">
<p><br />Last updated
<script type="text/javascript">// <![CDATA[
document.write(document.lastModified);
// ]]></script>
</p>
</div>
</body>

這是上傳文件的代碼。

<body>
<div id="page">
<div id="header"></div>
<div id="cssmenu">
<ul>
<li><a href="../../index-2.html"><span>Home</span></a></li>
<li><a href="../../tline.html"><span>Timeline</span></a></li>
<li><a href="../../notes-apus.html"><span>Notes</span></a></li>
<li><a href="../../links.html"><span>Links</span></a></li>
<!--   <li class='last'><a href='videos.html'><span>Videos</span></a></li> --></ul>
</div>
<hr />
<div id="content" class="narrowcolumn">
<div class="post" id="div">
<h2 class="style8">File Upload</h2>
<div class="entry" align="center">
      <?php
$filenamed = $_GET["Filed"];
$temp = explode(".", $_FILES["file"]["name"]);

  if ($_FILES["file"]["error"] > 0)
    {
    echo "Return Code: " . $_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 "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";

    if (file_exists("uploadedFiles/" . $_FILES["file"]["name"]))
      {
      echo $_FILES["file"]["name"] . " already exists. ";
      }
    else
      {
      move_uploaded_file($_FILES["file"]["tmp_name"],
      "../../uploadedFiles/" . $_FILES["file"]["name"]);
      echo "Stored in: " . "uploadedFiles/" . $_FILES["file"]["name"];
      file_put_contents("./php_registries/ScullyFilenameRegistry.txt", $filenamed, FILE_APPEND);
      }
   }

?>
</div>
<p class="postmetadata">&nbsp;</p>
</div>
</div>
<hr />
<div id="footer">
<p><br />Last updated
<script type="text/javascript">// <![CDATA[
document.write(document.lastModified);
// ]]></script>
</p>
</div>
</body>

我只是不明白什么地方出了問題,所以我真的會在這方面得到一些幫助。

您是從$_GET獲取文件名,而不是從$_POST獲取文件名。

$filenamed = $_GET["Filed"];

應該:

$filenamed = $_POST["Filed"];

您正在使用以下形式發出POST請求:即設置method='post'

但是在php代碼中,您使用$_GET['Filed']來獲取文件名,而使用$_POST['Filed']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM