簡體   English   中英

將帶有表單操作html的參數傳遞給php

[英]pass parameters with form action html to php

我有一個php文件,我相信它會成功並接受兩個參數,即文件名和路徑,並嘗試使用以下代碼對其進行調用。

<html>
<body>
<form action="/var/www/upload_file.php foo.php docs/School/" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file"><br>
<input type="submit" name="submit" value="Submit">
</form>
</body>
</html>

其中foo.php和docs / School /是我的兩個參數。 但是,當我單擊提交時,它說:

“在此服務器上找不到請求的URL /var/www/upload_file.php foo.php docs / School /。”

我知道這種傳遞可以在php中與exec命令一起使用,但是我不確定在html中對此格式進行格式化。

那不是您通過網絡發送內容的方式。 您的表單應如下所示:

<form action="upload_file.php" method="post" enctype="multipart/form-data">
    <!--Note the relative path above; not a direct path to a server location-->
    <label for="file">Filename:</label>
    <input type="file" name="file" id="file"><br>
    <input type="submit" name="submit" value="Submit">
</form>

然后,在您的upload_file.php頁面中,您可以使用$ _POST引用這些值:

<?php
    $file = $_POST['file']; // Whatever the "name" was in the HTML element
?>

編輯:

只是注意到<input/>有一個“文件”類型。 為此使用$_FILES

您應該從隱藏字段中傳遞參數,並相應地修改php。 “操作”是從用戶的角度考慮的-將“ /var/www/upload_file.php foo.php docs / School /”放到瀏覽器中將不起作用,因此同樣無效。

您需要使用MVC框架,該框架會將GET請求路由到適當的控制器和方法,並傳遞您的參數。您還需要使用分段的URL:

'/控制器/方法/參數1 / param2的'。

暫無
暫無

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

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