Php 以';s动作属性

Php 以';s动作属性,php,html,forms,Php,Html,Forms,为什么这不起作用 <form action="<?php echo 'test'; ?>"><input type="submit"></form> 您不能将代码放在action属性中,这根本不是HTML的工作方式 <form action="index.php"> <input type="hidden" name="do" value="dotest"> 在应用程序中需要一个路由器来分派任务。在这种情况下,“do

为什么这不起作用

<form action="<?php echo 'test'; ?>"><input type="submit"></form>

您不能将代码放在action属性中,这根本不是HTML的工作方式

<form action="index.php">
<input type="hidden" name="do" value="dotest">

在应用程序中需要一个路由器来分派任务。在这种情况下,“do”查询参数将指示要执行的操作。代码可以是一个大开关语句(不推荐),也可以将操作存储在单独的文件/类/类方法中。您可以直接查找代码(
file\u exists
/
method\u exists
/autoloading…),或者您可以解耦查找并进行某种预注册,并将操作存储在字典中(
数组

我建议您也检查一些PHP框架,了解一些想法。这里有一些非常聪明的路由器和控制器抽象。这将比你能想到的要好,特别是如果你没有经验的话


注意:大量的小文件并没有什么问题——只是尝试为您的web应用程序使用一个入口点。

因为浏览器不关心PHP,也不关心PHP。当浏览器收到此HTML时:

<form action="<?php echo 'test'; ?>"><input type="submit"></form>

我没有外部文件。这就是我想要避免的。我不想要10个只有3或4行长的文件,如果我可以将它们放在与表单相同的文件中,那么解释一下为什么这是一个糟糕的问题而不是向下投票?没有重复的问题,提供了示例代码,您还想要什么?那么,除了生成多个PHP文件之外,还有其他选择吗?我可以把PHP放在页面顶部的同一个文件中,然后让动作指向同一个页面吗?是的,没错。没有人说它需要单独的文件。它只需要是一个URL,服务器就可以用它想要的任何东西进行响应。它甚至可以是表单所在的URL。那么,我来试一试。