繁体   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