Php/mysql excluir registros selecionados

oi fiz um programa que faz o seguinte—>cadastra usuario no banco de dados ,faz algumas validações ,mostra um tabela com todos os registros já cadastrados cada um com um botao radio para o usuario clicar e deletar esse registro …só que o problema é que não ta excluindo não sei o que ta errado

alguem pode me ajudar???

[code]

<head>
	<meta charset="utf-8"/>
	<link rel="stylesheet" type="text/css" href="estilo.css" >
	
</head>
<?php
include ("conectabanco.php");

$nome= $_POST["nome"];
$email= $_POST["email"];
$senha= $_POST["senha"];

$sql2= "SELECT *FROM cadastrar WHERE nome='$nome' AND email='$email' AND senha='$senha'";
$mysql_result=mysql_query($sql2,$base);

if(substr_count($email,"@")==0|| substr_count($email,".")==0){
	
	echo"<div align=center >por favor ,utilize um e-mail válido</p>";
	echo "<a href='index.html'>voltar</a></div>";
	exit;
	}

$num_rows= mysql_num_rows($mysql_result);
if($num_rows!=0){
	echo"<div align=center>cadastro duplicado,escolha outro dado" ; 
	echo "<br>"; echo "<a href='index.html'>voltar</a></div>";
	exit;
	}


else{
			
			$sql = "INSERT INTO cadastrar(nome, email, senha) VALUE('".$nome."','".$email."','".$senha."')"; 
			$resultado = mysql_query($sql) or die (mysql_error());
	
			$sql = "SELECT * FROM cadastrar";
			$resultado = mysql_query($sql) or die (mysql_error());
			
			echo "<div align='center'><table border='1' id='cor2'>
				<thead id=cor>
					<tr width=800>
						<td width=200>REGISTRO</td>
						<td width=200>NOME</td>
						<td width=200>E-MAIL</td>
						<td width=200>SENHA</td>
						<td width=200>DELETAR</td>
					</tr>
				</head>
				</table></div>";
				$pa = 0;
			while ($linha = mysql_fetch_array($resultado)) {
				$id[] = $linha;
				$idao = $id[$pa]["id"];
				$nome = $id[$pa]["nome"];
				$email = $id[$pa]["email"];
				$senha = $id[$pa]["senha"];

				echo "<div align='center'><table border='1' id='cor2'>
				<tbody id=cor2>
					<tr width=800>
						<td width=200>$idao</td>
						<td width=200>$nome</td> 
						<td width=200>$email</td> 
						<td width=200>$senha</td>
						<td width=200><form action='excluir.php' method='post'><input type='radio' name='selection' value='$id' id=oi/></form></td>
					</tr>
				</tbody>
				</table></div>";
				
				$pa++;
				
			}
			echo"<div align=center>
			<form id ='fo' name ='for' action='excluir.php' method='pos't>
			<table border=1 id=cor2>
				<tbody id=cor2>
					<tr width=800>
						<td width=820></td>
						<td width=200><input type='submit' name='deletar' value='excluir'></td>	
					</tr>
				</tbody>
				</table>
				</form></div>";
				  echo "<p align=center><a href='index.html'>voltar</a></p>";
				
	}
						
		
?>
</body>
</html>
[/code]

excluir.php

<?php
include ("conectabanco.php");
                
if(isset($_POST["selection"]))
{

	$reul=mysql_query("DELETE FROM cadastrar WHERE id IN (".implode(",",$_POST["selection"]).")");
	
	
	header("refresh:0");
}
if($reul){
		echo"campos deletados com sucesso!";
		}
	else{
		echo"campos não deletados com sucesso!";
		}	
?>

Buenas,

Eu faço geralmente assim

<td width="20" class="bt_acoes">
        	<a href="cadastra_tbaparelhos_cli.php?fk_tbcliente=<?=$sqlClienteResultFim["idtbcliente"]?>&voltarpara=lista_tbclientes.php">
            	<img src="imagens/aparelhos.png" alt="Adicionar Aparelhos" height="18"/>
            </a>
</td>

Caso não queira fazer desta forma e queira com possibilidade de múltipla exlusão acredito que deveria fazer da seguinte forma

Adicionar no evento onChange do checkBox e fazer um a ação para ir preenchendo por ajax o input com os ids separados por “,” vírgula que deseja excluir, caso o usuário desmarcar vc retira do input

Acesse: www.tiagoek.com.br

na verdade eu só quero excluir um registro que estiver selecionado

Pela estrutura de if/else para validar $reul, não dá para saber se ele não foi criado por não ter sido executada a query ou se foi pelo fato de isset($_POST[“selection”]) ter sido falso.
Eu alteraria para:

    <?php  
    include ("conectabanco.php");  
                      
    if(isset($_POST["selection"]))  
    {  
      
        $reul=mysql_query("DELETE FROM cadastrar WHERE id IN (".implode(",",$_POST["selection"]).")");
//aqui eu adicionaria um or die(mysql_error()); só para constar...  
          
    if($reul){  
            echo"campos deletados com sucesso!";  
            }  
        else{  
            echo"campos não deletados com sucesso!";  
            }     
          
        header("refresh:0");  
    }else{
echo "Nenhum registro selecionado!";
//ou qualquer mensagem mais adequada
}
    ?>  

É uma boa ideia drsmachado, só que meu problema está na hora de reconhecer a variavel por meio post que não está sendo reconhecida quando tento exclui aparece uma msg erro assim

Warning: implode() [function.implode]: Invalid arguments passed in C:\xampp\htdocs\imprimeDados\excluir.php on line 17 campos não deletados com sucesso! Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\imprimeDados\excluir.php:10) in C:\xampp\htdocs\imprimeDados\excluir.php on line 27

Me parece que o PHP está se perdendo quando você usa apenas as aspas duplas…

$reul=mysql_query("DELETE FROM cadastrar WHERE id IN (".implode(",",$_POST["selection"]).")");  

Eu faria isso:

$reul=mysql_query("DELETE FROM cadastrar WHERE id IN (".implode(',',$_POST['selection']).")");  

Outra coisa, já verificou o que está sendo passado como valor em $_POST[‘selection’]? Caso o valor dentro desse parâmetro (ou seja, o valor de $id) não contenha a vírgula, o implode não surtirá efeito…

como assim? na hora de passar o valor uso virgula? onde? eu to fazendo assim

como seria ?

Esquece, eu confundi implode com explode. Pressa, desde semrpe, quando misturada à miopia, fazendo você errar a resposta.

Os ids são as chaves primárias?
Se são, por que você precisa utilizar o IN ao invés do “=”?
Aí você dispensa o implode que pode estar gerando sujeira no parâmetro.