2014-09-27 14 views
0

我有以下HTML彥博空,而使用文件和文本形式

<form action="upload.php" method="get" enctype="multipart/form-data"> 
Enter 10 digit mobile number &nbsp;<input id="imgphno" type="text" maxlength="10" /> 
<br/><br/> 
<input id="file" type="file" name="file" /> 
<br/><br/> 
<input type="submit" name="submit" value="Send" id="sndimg"/> 
</form> 

當我運行瀏覽器的地址欄中顯示

http://116.75.128.138/balasaheb/upload.php?file=thumb.jpg&submit=Send 

我如何訪問upload.php的文本框中的內容?

回答

1

彥博空,而使用文件和文本形式

如果您上傳文件,POST必須使用,並沒有得到。上傳不適用於GET方法。

  • 原因是您正在使用GET方法。你的方法更改爲method="post"

另外,還要確保你的PHP包含$_POST,而不是$_GET你還沒有告訴我們。

如果你想要得到的文本框中使用的值,並命名你的表單元素:

<input id="imgphno" type="text" maxlength="10" name="textbox" /> 
               ^^^^^^^^^^^^^^ 

然後用它作爲:

$text = $_POST['textbox']; 

你不能id僅僅依靠但name傳遞一個表單元素。

然後按照你的意願去做,但是再次使用POST ...因爲你也在上傳,所以沒有GET。


作爲每手動http://php.net/manual/en/function.move-uploaded-file.php

該功能檢查,以確保由文件名指定的文件是有效的上傳文件(這意味着其是通過PHP的HTTP POST上傳機制上傳)。如果文件有效,它將被移動到由目的地給出的文件名。

堆棧上給予支持此另一個答案:

move_uploaded_file()是僅適用於通過POST上載的文件。

+0

DV的解釋?我是對的。上傳不適用於GET,**事實。** – 2014-09-27 15:54:22

+0

您沒有正確地收到我的問題。我想獲得正在使用的文本框的值。 – Abhi 2014-09-27 15:55:26

+0

@Ahi看到我的編輯。重新加載我的答案。 – 2014-09-27 15:57:07

2

您正在使用GET方法將表單的數據發送到上載頁面。

可以達到使用_GET["submit"]_GET["file"]

的變量並添加屬性<input id="imgphno" type="text" maxlength="10" />

但是,你需要使用POST方法來達到thumb.jpg的內容發送數據。

+0

實際上我使用'POST',但包括我這樣做的網址。文件正在成功上傳,但我無法訪問文本框的上下文。這是我的問題。 – Abhi 2014-09-27 15:53:16

+1

您必須將** name **屬性添加到imgphno input元素。它應該像''之後,您可以在url上看到該輸入區域並且您可以到達它。 – cKNet 2014-09-27 15:57:18

+0

'_GET'你錯過了一些至關重要的東西。另外,'_GET [「文件」]'不起作用。上傳文件時必須使用POST **,因此您需要相應地編輯您的答案,以便將來的訪問者進行問答。 – 2014-09-27 16:01:06

相關問題