Jump to content
c.orelhas

Apagar utilizador

Recommended Posts

c.orelhas

Bom dia pessoal,

Estou a desenvolver um pedaço de código capaz de apagar os utilizadores que eu tenho inseridos na base de dados, no entanto tenho algumas duvidas quanto ao como fazer o código, visto não saber se é necessário ou não utilizador o uso de sessões.

<?php
session_start()
?>
<?php
if($_SESSION["mail"]=="A"){
echo $_SESSION["nome"];
echo"<br><form action='login_success.php' method='POST'><input type='submit' name='sair' value='Sair'></button></form>";
}
else{
echo "<script>alert('Tem de ser administrador para ter acesso')</script>";
echo "<meta http-equiv='refresh' content='0;URL=index.php'>";
}
?>
<html>
<body background="./images/fundo.jpg">
<?php

include("conn.php");
$email=$_POST['delID'];
$sql="Select * From produto where email='$email'";
$resultado=mysql_query($sql,$ligacao);
$registo=mysql_fetch_array($resultado);

if(isset($email))
{
$sql="delete from utilizador where email='$email'";
$resultado=mysql_query($sql,$ligacao);
echo "<meta http-equiv='refresh' content='0;URL=user_admin.php'>";
}
else { 
echo "<script>alert('Falha ao apagar'.)</script>.".mysql_error();
echo "<meta http-equiv='refresh' content='0;URL=user_admin.php'>";
}
?>
</body>
</html>

Tenho este código, mas ainda não consegui apagar o utilizador..

Share this post


Link to post
Share on other sites
brunoais

Aonde é que está o formulário?

Tens a certeza de que isso gera HTML válido?

Eu tenho 100% a certeza de que não.

Edited by brunoais

"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
c.orelhas

 <?php
session_start()
?>
<?php
if($_SESSION["mail"]=="A"){
echo $_SESSION["nome"];
echo"<br><form action='login_success.php' method='POST'><input type='submit' name='sair' value='Sair'></button></form>";
}
else{
echo "<script>alert('Tem de ser administrador para ter acesso')</script>";
echo "<meta http-equiv='refresh' content='0;URL=index.php'>";
}
?>
<html>
<body background="./images/fundo.jpg">
<?php
include("conn.php");
$sql="select * from utilizador";
$resultado=mysql_query($sql,$ligacao);
echo "<table align='center' border='2'>";
echo "<td>Email</td><td>Nome</td><td>Apelido</td><td>Morada</td><td>Código Postal</td><td>Localidade</td><td>Telemovél</td><td>Tipo Utilizador</td><td>Estado User</td>";
if($resultado){
while($registo=mysql_fetch_array($resultado)){
$email=$registo['email'];
$nom=$registo['nome'];
$apelido=$registo['apelido'];
$morada=$registo['morada'];
$postal=$registo['cod_postal'];
$local=$registo['localidade'];
$telm=$registo['telm'];
$tipo=$registo['tipo_user'];
$estado=$registo['estado_user'];
echo "<tr><td>$email</td><td>$nom</td><td>$apelido</td><td>$morada</td><td>$postal</td><td>$local</td><td>$telm</td><td>$tipo</td><td>$estado</td>
<td><form action='del_utilizador.php' method='POST'><button type='submit' value='$email' name='delID'><img src='./images/del.png'></button></form></td>
<td><form action='edit_user.php' method='POST'><button type='submit' value='$email' name='editID'><img src='./images/edit.png'></button></form></td>";
}
echo "<td><form action='inser_user.php' method='POST'><button type='submit' value='$email' name='inserID'><img src='./images/add_user.png'/></button></td></form></tr>";
echo "</table>";
}else
echo "Sem resultados";
echo"<form action='admin.php' method='POST'><input type='submit' value='Voltar' name='home'></button></form>";

?>
</body>
</html>

É suposto ir apanhar estes dados e ao carregar no botão de eliminar chamar esse php que apresentei em cima.

Share this post


Link to post
Share on other sites
brunoais

Começa com HTML válido, HTML4strict ou HTML5. Depois conversamos...

Tens que aprender a fazer como deve ser.

Já agora, se estruturasses o código para ficar mais legível seria muito bom.


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
Rui Carlos

Não percebi o que é que vais fazer à tabela produtos.

De qualquer modo, podes começar por mostrar mais algumas mensagens de feedback. Por exemplo, faz $mysql_query(...) or die(mysql_error());. Podias também antes da eliminação mostrar uma mensagem a dizer "A eliminar utilizador com email xyz@...".

Podes também experimentar executar a query directamente na BD, para verificar se produz o resultado esperado.

Para além dos problemas do HTML (que não se resumem à versão), também não é muito conveniente usares as funções mysql_*.

Share this post


Link to post
Share on other sites
jpfelgueiras

estas a fazer echo antes de declarares a tag <html>

tens de rever o teu codigo !

Share this post


Link to post
Share on other sites
c.orelhas

Andei a alterar o meu código e ao clicar no botão para eliminar vai chamar este php para eliminar o utilizador, no entanto dá-me erro no 1º if com o execute.. Alguém me pode dar uma noção melhor do que estou a fazer de errado ?

 <?php
$ligacao = new mysqli($this->localhost, $this->root, $this->root, $this->loja_mercearia);
$query = $ligacao->prepare("DELETE FROM 'utilizador' WHERE 'email' = email");
$query->bind_param("s",$email)
if($query->execute()){
      if($query->affected_rows > 0){
            return true;
       }else{
            return false;
       }
}
 else{
     return false;
 }
 $query->close();
 $ligacao->close();
?>

Edited by c.orelhas

Share this post


Link to post
Share on other sites
bioshock

E provavelmente, nesta linha também tens mal:

$ligacao = new mysqli($this->localhost, $this->root, $this->root, $this->loja_mercearia);

Chamas a variável root duas vezes? Qual é o conteúdo dela?

E já agora, estás a usar isto como uma função de uma classe? É que se não ele até se devia queixar logo por causa do 'this->'.

Edited by bioshock

Share this post


Link to post
Share on other sites
c.orelhas

Bioshock, nessa linha estou a chamar a variavel root duas vezes por causa que é o user e pass que utilizo.

Share this post


Link to post
Share on other sites
bioshock

E o user e pass são idênticos? Se sim, ok. Estás a usar o código numa classe? Se sim, ok.

Leste a sugestão do @Rui?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.