繁体   English   中英

php函数直接作为html表单调用

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM