我试图在表单操作中从PHP脚本运行一个函数.
'; ?>
我回应表单,但我想要从username.php调用函数"username"来执行.我怎么能以类似的方式做到这一点?
'; ?>
您需要在表单发送到的页面中运行该功能.
在PHP中,函数不会在字符串内部进行求值,因为变量有不同的规则.
HTML中标记的action参数不应引用您要运行的PHP函数.操作应该引用Web服务器上的一个页面,该页面将处理表单输入并将新HTML返回给用户.这可以与输出表单的PHP脚本位于同一位置,或者某些人更喜欢创建单独的PHP文件来处理操作.
基本过程是相同的两种方式:
为用户生成HTML表单.
用户填写表单,点击提交.
形式的数据被发送到由服务器上动作中定义的位置.
该脚本验证数据,并做一些事情吧.
通常会返回一个新的HTML页面.
一个简单的例子是:
'; } ?>对于未来的信息,我建议你阅读的PHP教程:http://php.net/tut.php
甚至有关于处理表格的部分.
3> lpfavreau..:我不确定我理解你想要实现什么,因为我们没有
username()
应该返回的东西,但你可能想尝试类似的东西.我还建议你不要回显整个页面,而是使用类似的东西,它更容易阅读和维护:
这会将结果发布在同一页面中.因此,首次显示页面时,只显示空表单,如果按下提交,则文本字段将位于$textfield
变量中,您可以根据需要再次显示该字段.
我不知道该username()
函数是否应该返回您应该发送结果的URL,但这是您在action
表单属性中所需要的.我已将结果放在示例段落中,以便您了解如何显示结果.请参阅"您的用户名是..."部分.
//编辑:
如果要在不离开页面的情况下发送值,则需要使用AJAX.在StackOverflow或Google上搜索jQuery.
您可能希望让函数返回用户名而不是回显它.但是如果你绝对想要从函数中回应它,只需在HTML表单中调用它.
我认为在进一步研究之前,您需要了解页面客户端 - 服务器进程的流程.假设上面的示例代码名为form.php.
你的form.php被调用.
form.php生成HTML并发送到客户端的浏览器.
客户端只能看到生成的HTML表单.
当用户按下按钮时,您有两个选择:a)让浏览器执行常规操作,因此将表单字段中的值发送到操作中指定的页面(在这种情况下,URL由PHP_SELF定义,这是当前的page.php文件).或者b)使用javascript将这些数据推送到页面而不刷新页面,这通常称为AJAX.
一个页面,在您的情况下,它可以更改为username.php,然后将验证用户名是否存在,然后您想要重新生成包含所需值的HTML,返回步骤1.