[英]php function call direct as html form action
我发现以下HTML表单代码
<form action="<?php foo(bar)?>" 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>
当foo(bar)
是当前作用域中可用的函数时,它可以正常工作。
我对php和html很陌生,无法在线找到此功能的任何文档。 使用<?php foo(bar)?>
而不是调用脚本文件foo.php
什么foo.php
吗?
PHP函数不会被称为HTML表单动作。
实际上,PHP函数将在服务器将表单发送到浏览器之前执行,因此,表单的操作将是foo函数打印的值(如果已执行)。
只需打开从服务器收到的网页源,就不会再看到PHP代码。
这行不通。 在将HTML发送到浏览器之前,服务器正在执行PHP。
但这是一个主意:
<?php
function foo($bar)
{
echo $bar;
}
if (isset($_POST['func'])){
foo($_POST['file']);
}
?>
<form action="<?php $_SERVER['PHP_SELF'] ?>" method="post" enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file"><br>
<input type="hidden" name="func" id="file" value="foo">
<input type="submit" name="submit" value="submit">
</form>
但是,IMO更好的方法是使用CURL或其他指向控制器的URL捕获和指向控制器系统,例如使用Framework
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.