Jump to content


Photo

Deletando Mensagens Via Html E Php


  • Faça o login para participar
1 reply to this topic

#1 atomicc

atomicc

    Novato no fórum

  • Usuários
  • 4 posts
  • Sexo:Não informado

Posted 26/03/2010, 12:32

Tenho um blog e criei uma página para deletar as mensagens que não quero.
Na zona de repetição onde aparecem as mensagens, coloquei um botão para apagar. O mesmo só funciona se o form estiver como method=post e post no script do deletar.php. Se eu mudo pra get em ambos os arquivos não funciona. O problema é que quando eu uso post, ele envia todas as variáveis de cada botão. (Descobri isso usando get, a string é enviada assim: http://www.meudomini...3&id=24&id=2563) Assim, se eu quero deletar apenas a mensagem de id 24 ele manda tudo isso pro deletar.php e só a última mensagem é apagada do bd.

Código:

<input type="hidden" name="id" value="<?php echo $row_myRdset['id']; ?>"> 
<input type="submit" value="Apagar">

Assim, para ver se funcionava tentei outra coisa: usar um link direto (também está na zona de repetição, por isso, o código fica certo com apenas um código ID em vez de vários numa string):
Código:

<a href="http://www.meudomini...ar.php?id=<?php echo $row_myRdset['id']; ?>">clique aqui para apagar</a>

mas não funciona.


O arquivo deletar.php está assim:

Código:

if ((isset($_POST['id'])) && ($_POST['id'] != "")) {
  $deleteSQL = sprintf("DELETE FROM guestbook WHERE id=%s",
                       GetSQLValueString($_POST['id'], "int"));

  mysql_select_db($database_conn, $conn);
  $Result1 = mysql_query($deleteSQL, $conn) or die(mysql_error());
mysql_query('DELETE FROM table WHERE id='.$_POST['id']); 
  $deleteGoTo = "main.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $deleteGoTo .= (strpos($deleteGoTo, '?')) ? "&" : "?";
    $deleteGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $deleteGoTo));
}

O que posso fazer neste caso?
Qualquer ajuda é muito apreciada.

#2 Beraldinho

Beraldinho

    12 Horas

  • Usuários
  • 186 posts
  • Sexo:Masculino
  • Interesses:Amizade

Posted 26/03/2010, 14:08

Amigo andei analisando seu código, o problema está no uso do _POST. No caso amado você tem que estar usando o _GET pois ele vai pegar o ID que está no simples formulário, e outra coisa amado.

No caso amigo você tem que fazer assim lá no HTML
<form method="get" action="http://www.meudominio.com.br/deletar.php?id=<?php echo $row_myRdset['id']; ?>" name="exemplo"><br>
<input type="hidden" name="id" value="<?php echo $row_myRdset['id']; ?>"> 
<input type="submit" value="Apagar">
</form>

Outra coisa, HTML então puxa PHP, ok? Tipo pelo que entendi também esse botão em HTML você deve estar colocando no HTML onde o value do formulário não está idenficando o <?php echo $row_myRdset['id']; ?>.

No caso você precisará montar esse botão de apagar em PHP, e também montar a programação para puxar esse ID para submeter para estar excluindo.

Espero que tenha entendido, grato!!

Edição feita por: Beraldinho, 26/03/2010, 14:09.

"Guerreiro que está na frente lutando e nunca volta pra trás, o pode, a unção, a majestade seja dada totalmente para Jesus Cristo, porque ele é o Rei do Exércitos, e eu pertenço a esse exército, sou Guerreiro de Jesus, que luta contra o inimigo e nunca abaixa a cabeça, pode vim os problemas que sempre vou vencer. Te amo Jesus!" Venha você também conhecer Jesus Cristo, Ele morreu por você na cruz.




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq