Jump to content


Photo

Codigo De Remover Usuarios, N Tá Funfando


  • Faça o login para participar
5 replies to this topic

#1 lynx

lynx

    Turista

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

Posted 05/03/2005, 10:38

Galera eu fiz um codigo pra remover os úsuarios de uma tabela, tipo ele não ta caindo nos headers pra dar a mensagem de sucesso, e etc..
Tipo quando eu digito o nome do úsuario ele deleta mais fica numa tela em branco.

<?php
/* se essa váriavel for igual a 0, não deu erro e o usuario foi deletado,
 se for igual a 1, o úsuario digitado não existe, se for igual a 2, o úsuario
 existe mais não foi possível deletar
*/
$deleta= 0;
//pegar o login da url
$login= strtoupper($_POST['login']);
//conecta
$conecta= include ("includes/conecta.php");
//verificar se o login existe antes de deletar
$select= mysql_query (" SELECT * FROM dt WHERE login='$login' ");
if ( mysql_num_rows($select) == 1 )
	{
	//deletar
	$deletar= mysql_query (" DELETE FROM `dt` WHERE login='$login' ");
	//vamos verificar se deletou
	if ($deletar)
  {
  header (" location: ../index.php?sec=mensagem&$deleta ");
  exit;
  }
	else
  {
  $deleta= 2;
  header (" location: ../index.php?sec=mensagem&deleta=$deleta ");
  exit;  
  }
	}
//se o úsuario não existir  
else if ( mysql_num_rows($select) == 0 )
	{
	$deleta= 1;
	header (" location: ../index.php?sec=mensagem&deleta=$deleta ");
	exit;
	}

mysql_close($conecta);
?>

outro ex, quando eu digito um úsuario errado ele não ta caindo naquele else if ali em baixo, fica numa tela em branco,

vlw

Edição feita por: lynx, 05/03/2005, 10:38.


#2 Prog

Prog

    ...

  • Ex-Admins
  • 3761 posts
  • Sexo:Masculino
  • Localidade:Rio de Janeiro/RJ
  • Interesses:TI, Software Livre, Design Digital e Rock'n'Roll.

Posted 05/03/2005, 10:57

Tente usar a função para pegar a quantidade de linhas afetadas.

No lugar deste if
if ($deletar)
use este
if (mysql_affected_rows($deletar) > 0)

ps.: sobre o campo login, ele é um indice que não permite repetições?
------
Mero mortal!

#3 lynx

lynx

    Turista

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

Posted 05/03/2005, 11:42

não, o id eh um indice que n permite repetições, mais na hora do cadastro ele verifica se o úsuario já existe,

vou tentar fazer essa modificação, vlw

#4 lynx

lynx

    Turista

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

Posted 05/03/2005, 11:46

o mesmo erro, ele deletou o úsuario mais caiu numa tela em branco, e não redirecionou para pagina de mensagem =[

#5 Prog

Prog

    ...

  • Ex-Admins
  • 3761 posts
  • Sexo:Masculino
  • Localidade:Rio de Janeiro/RJ
  • Interesses:TI, Software Livre, Design Digital e Rock'n'Roll.

Posted 05/03/2005, 11:49

Faça o seguinte teste, invéz de tentar redirecionar logo de cara, tente escrever algo nos ifs, tipo "apagou"/"não pode apagar"/"usuário não existe", no lugar dos header(...).

Somente desta forma poderemos identificar em qual if ele esta caindo ou se não esta caindo em if nenhum.
------
Mero mortal!

#6 lynx

lynx

    Turista

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

Posted 05/03/2005, 12:01

qdo eu digito um usuario que não existe ele aparece 3, qdo eu digito um usuario que existe ele aparece 2 e deleta
<?php
ob_start();
/* se essa váriavel for igual a 0, não deu erro e o usuario foi deletado,
 se for igual a 1, o úsuario digitado não existe, se for igual a 2, o úsuario
 existe mais não foi possível deletar
*/
$deleta= 0;
//pegar o login da url
$login= strtoupper($_POST['login']);
//conecta
$conecta= include ("includes/conecta.php");
//verificar se o login existe antes de deletar
$select= mysql_query (" SELECT * FROM dt WHERE login='$login' ");
if ( mysql_num_rows($select) == 1 )
	{
	//deletar
	$deletar= mysql_query (" DELETE FROM `dt` WHERE login='$login' ");
	//vamos verificar se deletou
	if (mysql_num_rows($deletar) > 0)
  {
  echo "1";
  //header (" location: ../index.php?sec=mensagem&$deleta ");
  exit;
  }
	else
  {
  echo "2";
  $deleta= 2;
  //header (" location: ../index.php?sec=mensagem&deleta=$deleta ");
  exit;  
  }
	}
//se o úsuario não existir  
else if ( mysql_num_rows($select) == 0 )
	{
	echo "3";
	$deleta= 1;
	//header (" location: ../index.php?sec=mensagem&deleta=$deleta ");
	exit;
	}

mysql_close($conecta);
ob_end_flush();
?>


tá meio bugado isso tbem porque quando ele deleta era pra aparecer 1 e 2 quando não deletasse

Edição feita por: lynx, 05/03/2005, 12:02.





1 user(s) are reading this topic

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

IPB Skin By Virteq