[英]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.