我有一个html表单和PHP文件作为它的动作。当我点击提交按钮,它运行PHP代码,但也加载一个空白页面和url的变化。
我怎么能只是运行代码和停留在同一个html页面?
听起来你可能需要超越“一页=一个脚本”的范式。现在,有许多可能的方法来“不离开页面”,例如:
>
通过javascript(AJAX/Fetch)提交表单。优点:“现代”和优雅。缺点:相对复杂。需要PHP和Javascript。
最简单的“优雅”方法:在提交表单时,将表单处理逻辑和include/call从页面中分离出来。基本示例:
<?php /* form.php */
if(!empty($_POST)) { // if form was submitted ("post")
include 'form_processor.php';
$result = process_form($_POST);
echo 'Form Process Result: ' . $result;
}
?>
<form action="form.php" method="post">
... your HTML form here ...
</form>
<?php /* form_processor.php */
function process_form($post, $args = []) {
$errors = [];
// do stuff with the post data: validate, store, etc.
if(count($errors) > 0) {
$result = 'Errors: ' . implode(', ', $errors);
} else {
$result = 'Okay';
}
return $result;
}
您需要考虑如何构建一个在多个上下文中可重用的表单处理器,例如,通过传递定义特定于案例的验证和数据处理的参数。可能将其转换为一个类,或者至少转换为多个任务明确分离的函数(验证、存储、电子邮件等)。以上内容将为您提供一条基本的前进道路。
我正在尝试在windows 2012R2中运行powershell脚本版本5.1 powershell。exe-NoProfile D:\test2。powershell命令控制台上的ps1(我不使用系统上的任何配置文件编写脚本会话) $profile 我得到输出C:\Users\XXXXX\Documents\WindowsPowerShell\Microsoft。PowerShell\u配置文
问题内容: 我正在将站点安装在Droplet中(数字海洋)。我在使用PHP正确安装NGINX时遇到问题,但是当我尝试运行一些.php文件正在下载…例如,它正在工作,但是…如果我进入主目录,它将下载我的index.php:/ 任何的想法? 我的/ etc / nginx / sites-available / default …评论其他“位置”(#) 问题答案: 尝试这个: 编辑 取消注释两个侦听行
我最近在我的机器上安装了nginx和php 7.0.16,但是由于某种原因,nginx下载了php文件,而不是执行它们。我已经花了几天时间在网上实施了所有可用的解决方案,但都是徒劳的。 我的nginx。配置文件是: conf.d文件夹中没有文件,启用的站点只有如下所示的默认文件 有人能告诉我,有什么问题吗?
我正在一个水滴(数字海洋)中安装一个网站。我对正确安装带有PHP的NGINX有一个问题。我做了一个辅导https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-on-ubuntu-14-04但是当我试着跑的时候。php文件只是下载而已。。。例如<代码>http:/
问题内容: 我是PHP新手。我安装了XAMPP并运行了Apache。我在XAMPP的htdocs中创建了helloworld.php,并在浏览器中显示了PHP。我的问题是,为什么我的HTML文件中的PHP脚本不显示在浏览器中?香港专业教育学院从未安装过PHP。我也应该安装吗?它会与XAMPP冲突吗?我的代码如下。任何帮助将不胜感激。提前致谢: 问题答案: XAMPP已经包含PHP,但是除非您以该脚
我写了一个简单的脚本,将具有单个值的列添加到现有文件中,我想为位于一个文件夹中的其他几个文件运行它,知道我该怎么做吗? python脚本如下所示: