在没有 $_POST 和转义的情况下获取价值 html

Getting value without $_POST and escape html

我有一个表单 class 我从 display() 调用 method.Then display() 方法通过 $_POST 获取名称、电子邮件、密码等的值 method.But 我想要在没有 $_POST.And 的情况下获取值的名称也想转义 html.Is 可以在没有 $_POST 的情况下获取值然后转义 html。像这样 classname::get('name');

public function display()
{
    $newform=new Form();

 // Input::get('name');

    $newform->setvalue($_POST['name']);
    $name=$newform->getvalue();

    $newform->setvalue($_POST['email']);
    $b=$newform->getvalue();

    $newform->setvalue($_POST['pass']);
    $c=$newform->getvalue();
    $newform->setvalue($_POST['rpass']);
    $d=$newform->getvalue();
    $newform->setvalue($_POST['phone']);
    $e=$newform->getvalue();
}


<?php 

class Form
{
private $value;


public  function setvalue($value)
{
    $this->value=$value;
}


public function getvalue()
    {
        $a=$this->value;
        return $a;
    }
}

可能,但是 $_POST 有什么问题?

无需使用 $_POST,您可以直接从 HTTP 请求中获取表单数据 header。查看此官方文档

http://php.net/manual/en/function.http-get-request-body.php

据我了解,您不喜欢在代码中使用 $_POST,但愿意有一个 class 专用于获取 $_POST 值。所以我创建了一个 class,它接受 post 和 returns 一个 $_POST 值的数组。

$newform = new Form();
echo "<pre>";
var_dump($newform->getValue());


class Form{
    private $value = array();
    function __construct(){
        foreach($_POST as $k=>$v)
            $this->value[$k] = $v;// here you can use some validation or escapes

    }
    public function getValue(){
        return $this->value;
    }
}