PHP e MySQL parte 3 – Inserir/remover dados

Neste momento já temos uma ligação á base de dados, assim como um login que podemos utilizar para entrar na nossa área de administrador.

Vamos agora tratar de inserir e remover dados da base de dados.

Toda a sequência:

  1. Criar uma ligação
  2. Efectuar um login
  3. Inserir e remover dados na base de dados
  4. Obter e apresentar os dados da base de dados

Parte 3 – Inserir e remover dados na base de dados


Para inserir os dados vamos utilizar o nosso ficheiro loggedin.php já criado na parte 2 deste tutorial.

Inserir um novo utilizador

Criamos então um formulario simples para inserção de um novo utilizador.

loggedin.php:

<!doctype html>
<html>
<head>
</head>
<body>
    <?php 
        include("sessionmanager.php");
        $sessionman = new sessionmanager();
    ?>
    Parabens <?php $sessionman->getNome(); ?>, login efectuado com sucesso.<br/>
    Inserir novo user:<br/>
    <form action="dbconnect.php" method="post">
        Nome:<input type="text" name="nome"/><br/>
        Password:<input type="text" name="password"/><br/>
        <input type="submit" value="Criar"/>
        <input type="hidden" name="opcao" value="2"/>
    </form>
</body>
</html>

Agora que temos o nosso formulário completo, temos de alterar o ficheiro dbconnect.php para suportar a nossa opção 2(que será criar um utilizador).

dbconnect.php:

<?php
    include("AcessoBD.php");
    $opcao = $_REQUEST['opcao'];
    if($opcao == 1){
        $ligacaoBD = new AcessoBD();
        $user = $_REQUEST['username'];
        $pass = $_REQUEST['password'];
        if(isset($user) && isset($pass)){
            $result = $ligacaoBD->login($user,$pass);
        }
        if($result == 1){
            header("Location: loggedin.php");
        }
        header("Location: index.php");
    }else if($opcao == 2){
        $ligacaoBD = new AcessoBD();
        $user = $_POST['nome'];
        $pass = $_POST['password'];
        if(isset($user) && isset($pass)){
            $result = $ligacaoBD->criarUser($user,$pass);
        }
    }

Como podem ver temos de adicionar também a função “criarUser” no nosso objecto de acesso à base de dados.

Logo a seguir à função “getUserPass($user)” vamos adicionar a “criarUser($nome,$password)” AcessoBD.php:

...
function criarUser($user,$pass){
    $result = $this->criarCon();
    if($result == 1){
        $query = "INSERT INTO users (ID, username, password) VALUES ('', '$user', '$pass')";
        mysql_query($query,$this->con);
        mysql_close($this->con);
    }
}
...

Remover um utilizador

Para esta parte não vou criar uma página na qual vemos os utilizadores para os podermos remover, pois vou deixar isso para a parte 4 deste tutorial.

Vou portanto adicionar à pagina loggedin.php um campo onde escreves o nome do utilizador e o podemos eliminar:

loggedin.php:

<!doctype html>
<html>
<head>
</head>
<body>
    <?php 
        include("sessionmanager.php");
        $sessionman = new sessionmanager();
    ?>
    Parabens <?php $sessionman->getNome(); ?>, login efectuado com sucesso.<br/>
    Inserir novo user:<br/>
    <form action="dbconnect.php" method="post">
        Nome:<input type="text" name="nome"/><br/>
        Password:<input type="text" name="password"/><br/>
        <input type="submit" value="Criar"/>
        <input type="hidden" name="opcao" value="2"/>
    </form><br/>
    <form action="dbconnect.php" method="post">
        Nome:<input type="text" name="nome"/><br/>
        <input type="submit" value="Criar"/>
        <input type="hidden" name="opcao" value="3"/>
    </form>
</body>
</html>

Agora temos de criar a opção no ficheiro dbconnect.php para eliminar o utilizador.

dbconnect.php

<?php
    include("AcessoBD.php");
    $opcao = $_REQUEST['opcao'];
    if($opcao == 1){
        $ligacaoBD = new AcessoBD();
        $user = $_REQUEST['username'];
        $pass = $_REQUEST['password'];
        if(isset($user) && isset($pass)){
            $result = $ligacaoBD->login($user,$pass);
        }
        if($result == 1){
            header("Location: loggedin.php");
        }
        header("Location: index.php");
    }else if($opcao == 2){
        $ligacaoBD = new AcessoBD();
        $user = $_POST['nome'];
        $pass = $_POST['password'];
        if(isset($user) && isset($pass)){
            $ligacaoBD->criarUser($user,$pass);
        }
    }else if(opcao == 3){
        $ligacaoBD = new AcessoBD();
        $user = $_POST['nome'];
        if(isset($user)){
            $ligacaoBD->eliminarUser($user);
        }
    }
?>

Para terminar só nos falta criar a função “eliminarUser($user)” na classe AcessoBD.

Para isso vamos fazer como fizemos para o “criarUser”, AcessoBD.php:

...
function eliminarUser($user){
    $result = $this->criarCon();
    if($result == 1){
        $query = "DELETE FROM Persons WHERE username='$user'";
        mysql_query($query,$this->con);
        mysql_close($this->con);
    }
}
...

E terminamos assim a parte 3 da sequência.

O próximo artigo já sabem, será sobre obter os dados da base de dados e como os mostrar no ecrã.

Se tiverem duvidas deixem aqui a pergunta ou então na página do facebook, podem encontrar o link na sidebar do blog.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s