当前位置: 首页 > 知识库问答 >
问题:

如何运行PHP文件只是作为脚本而不加载为html文档?

顾嘉纳
2023-03-14

我有一个html表单和PHP文件作为它的动作。当我点击提交按钮,它运行PHP代码,但也加载一个空白页面和url的变化。

我怎么能只是运行代码和停留在同一个html页面?

共有1个答案

韦正业
2023-03-14

听起来你可能需要超越“一页=一个脚本”的范式。现在,有许多可能的方法来“不离开页面”,例如:

>

通过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;
    
}

您需要考虑如何构建一个在多个上下文中可重用的表单处理器,例如,通过传递定义特定于案例的验证和数据处理的参数。可能将其转换为一个类,或者至少转换为多个任务明确分离的函数(验证、存储、电子邮件等)。以上内容将为您提供一条基本的前进道路。

 类似资料:
  • 问题内容: 我正在将站点安装在Droplet中(数字海洋)。我在使用PHP正确安装NGINX时遇到问题,但是当我尝试运行一些.php文件正在下载…例如,它正在工作,但是…如果我进入主目录,它将下载我的index.php:/ 任何的想法? 我的/ etc / nginx / sites-available / default …评论其他“位置”(#) 问题答案: 尝试这个: 编辑 取消注释两个侦听行

  • 我正在尝试在windows 2012R2中运行powershell脚本版本5.1 powershell。exe-NoProfile D:\test2。powershell命令控制台上的ps1(我不使用系统上的任何配置文件编写脚本会话) $profile 我得到输出C:\Users\XXXXX\Documents\WindowsPowerShell\Microsoft。PowerShell\u配置文

  • 我最近在我的机器上安装了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脚本如下所示: