Jump to content

Recommended Posts

Posted

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..

Posted (edited)

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%.

Posted
 <?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.

Posted

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%.

Posted

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_*.

Posted (edited)

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
Posted (edited)

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

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.