php - 如何仅使用 php 以我的表单返回结果?

标签 php forms

在这种情况下,我不想使用 javascript、jquery 或类似的东西(如果不可能,请展示如何使用 jquery 来做到这一点)。我想只使用 php 来完成这项任务。这是一个很简单的例子,但我无法解决它。

我有一个 php 表单

表单.php

<form name="form" method="post" action="test.php">
    <button name="create" id="create">create</button>
    <button name="edit" id="edit">Edit</button>
    <button name="remove" id="remove">Remove</button>

        <div class='message'>

        </div>
</form>

A类

事件.php

class Event{
    protected $name;

    public function setName($name){
        $this->name = $name;
    }

    public function getName(){
        return $this->name;
    }   
}

以及将处理发布数据的文件

测试.php

<?php
require 'Event.php';

$evento = new Event();

if(isset($_POST)){  
        if(isset($_POST['create'])){
            $result = "created!";
        }

        if(isset($_POST['edit'])){
            $result = "edited!";
        }

        if(isset($_POST['remove'])){
            $result = "deleted!";
        }

        $event->setName($result);
        return $event->getName();

    } 
?>

我想根据提交的按钮将变量 $result 的内容放入 message 类的 div 中。只有这样。我该怎么做?

最佳答案

为此目的,您需要 session

试试这个代码(test.php):

<?php
session_start();
require 'Event.php';

$evento = new Event();

if(isset($_POST)){  
        if(isset($_POST['create'])){
            $result = "created!";
        }

        if(isset($_POST['edit'])){
            $result = "edited!";
        }

        if(isset($_POST['remove'])){
            $result = "deleted!";
        }

        $event->setName($result);
        $_SESSION["data"] = $event->getName();
        header("Location : form.php");

    } 
?>

表单.php

<div class='message'>
<?php 
session_start();
if(isset($_SESSION["data"]) && $_SESSION["data"] != "") {
    echo $_SESSION["data"];
    unset($_SESSION["data"]);
}
?>
</div>

没有 session

如果您想在没有 session 的情况下执行此操作,则需要将两个文件 test.phpform.php 合并为单个文件。因此,在这种情况下,您需要以下代码:

<?php
require 'Event.php';

$evento = new Event();

$result = "";
if(isset($_POST)){  
        if(isset($_POST['create'])){
            $result = "created!";
        }

        if(isset($_POST['edit'])){
            $result = "edited!";
        }

        if(isset($_POST['remove'])){
            $result = "deleted!";
        }

        $event->setName($result);


    } 
?>
<form name="form" method="post">
    <button name="create" id="create">create</button>
    <button name="edit" id="edit">Edit</button>
    <button name="remove" id="remove">Remove</button>

        <div class='message'>
        <?php if($result != "") { echo $result; }?>
        </div>
</form>

关于php - 如何仅使用 php 以我的表单返回结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35463163/

相关文章:

python - Django Forms 默认选择动态循环前面的值

javascript - 如何使用 AJAX GET 处理表单输入

javascript - 如何使用javascript从下拉菜单中更改网页的背景颜色需要这个

php - yii 通过检查两个条件从表中获取结果

php - 对于 php flush - 如何禁用特定文件的 gzip?

javascript - 如何在 Javascript 中选中多个复选框

ruby-on-rails - Rails - 格式日期字段

javascript - 如何获取按钮单击时的计数计时器的值?

php - 使用 Dreamweaver 将多个检查值插入到一个数据库字段中

php - 即使文件存在,使用 dirname(__FILE__) 附加样式表也不起作用