Why is my connection to the database not working? PHP object-oriented

0
<?php 
<?php 
class getForm{ 
    public $nome; 
    public $email;
    public $tel; 
    public $query;
    public $conexao = null;
    public $usuario = "root";
    public $senha = "";
    public $banco = "testando";
    public $servidor = "localhost";

    public function getNome(){ 
        $this->nome = $_POST['nome']; 
    } 

    public function getEmail(){ 
        $this->email = $_POST['email']; 
    } 

    public function getTel(){ 
        $this->tel = $_POST['tel']; 
    } 
}
if (isset($_POST['submit']))  {

    echo "<span style='color:green;'>Enviado com sucesso!</span>";
    function setConexao(){
        $this->conexao = mysqli_connect($this->servidor, $this->usuario, $this->senha, $this->banco);
        if($this->conexao)
        {
            echo "DEU";
        }
        else {
            echo "Falha na conexao com o Banco de Dados!<br />";
            echo "Erro: " . mysql_error();
            die();
        }
    }
    function setusuario(){

        $query = mysqli_query($this->conexao, "INSERT INTO contato
        VALUES ('$this->nome','$this->tel','$this->email')");
        echo "conectado";

    }

}
?>
    
asked by anonymous 16.07.2018 / 04:10

1 answer

2
class getForm{ 
    public $nome; 
    public $email;
    public $tel; 
    public $query;
    public $conexao = null;
    public $usuario = "root";
    public $senha = "";
    public $banco = "testando";
    public $servidor = "localhost";

    public function getNome($nome){ 
        $this->nome = $nome;
    } 

    public function getEmail($email){ 
        $this->email = $email;
    } 

    public function getTel($tel){ 
        $this->tel = $tel;
    }

    public function setConexao(){
        $this->conexao = mysqli_connect($this->servidor, $this->usuario, $this->senha, $this->banco);
        if(!$this->conexao){
            echo "Falha na conexao com o Banco de Dados!<br />";
            echo "Erro: " . mysql_error();
            die();
        }
    }

    public function setUsuario(){       
        $query = mysqli_query($this->conexao, "INSERT INTO contato
        VALUES ('$this->nome','$this->tel','$this->email')");
        echo "conectado";

    }
}

First of all, you have created a class and need to instantiate it, in your case, the operations will occur when the form is submitted, so we will perform the operations within if(isset($_POST['submit'])) .

Connection and user definition functions can be part of the main class, they do not need to be within if() , so you can access those functions from any other part of the code where the class is instantiated.

if (isset($_POST['submit']))  {
    /*
        Aqui nós instanciamos a classe
    */

    $getForm = new getForm();

    /*
        Agora teremos acesso as funções da sua classe, assim poderemos verificar a existencia dos dados necessários para a utilização das mesmas
        Após verificar a existencia e o preenchimento dos campos, chamamos as funções da classe responsáveis por definirem as variáveis que serão inseridas no banco de dados
        OBS: Veja que aterei as funções para facilitar a verificação e tratamento das variáveis antes de enviá-las ao banco de dados, evitando SQL Injections e outros possiveis problemas
    */

    if((isset($_POST['nome'])) && (!empty($_POST['nome']))){
        // fazer tratamento das variáveis antes de enviá-las ao banco de dados
        $getForm->getNome($_POST['nome']);
    }
    if((isset($_POST['email'])) && (!empty($_POST['email']))){
        // fazer tratamento das variáveis antes de enviá-las ao banco de dados
        $getForm->getEmail($_POST['email']);
    }
    if((isset($_POST['tel'])) && (!empty($_POST['tel']))){
        // fazer tratamento das variáveis antes de enviá-las ao banco de dados
        $getForm->getTel($_POST['tel']);
    }

    /*
        Agora podemos chamar as funções de conexão e envio dos dados
    */

    $getForm->setConexao();
    $getForm->setUsuario();

    echo "<span style='color:green;'>Enviado com sucesso!</span>";    
}
  

Treatment of PHP Forms

     

Function reference FILTER_INPUT ()

     

PHP Expressions Sample Reference

     

I suggest reading PHP documentation and research on form and variable handling

    
16.07.2018 / 15:01