Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

DoisReal

[Resolvido] Exclusão de cadastro

Recommended Posts

Vamos ao código:

 

<?php include("funcoes.fcn");
	
	$conexao = mysql_connect("localhost","root","");
	$db = mysql_select_db("socios",$conexao);
	$sql = "DELETE FROM membros WHERE nome='$nome'";
	$resultado = mysql_query($sql)
		or die ("Não foi possível realizar a exclusão dos dados.");
	
		echo "<h1>O registro foi excluído com êxito!</h1>";
		echo "<p><a href=menu.php>HOME</a></p><br>";
		echo "<p><a href=exclusao.php>Nova Exclusão</a></p>";
?>

Aparece a mensagem de confirmação de exclusão, porém o registro não é excluido

 

Tenho certeza que o problema é com a variável '$nome'

 

Já tentei colocar antes de tudo --> $nome = $_POST["nome"]..........mas não resolveu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Imprima a $sql antes de executar... Veja se está conforme deveria.

 

Carlos Eduardo

 

PS: Quando tiver código, use as tags [c o d e ] e [/ c o d e]

 

coloquei isso antes de tudo:

ini_set('display_errors', 1);

error_reporting(E_ALL);

 

Como erro me retornou a frase: que a variavel nome não estava definida

Compartilhar este post


Link para o post
Compartilhar em outros sites

Correto. De onde vem o valor de $nome?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Correto. De onde vem o valor de $nome?

Vem do resultado de uma pesquisa.

 

Abaixo o trecho do codigo da pesquisa.

 

<?php include("funcoes.fcn");

$conexao = mysql_connect("localhost","root","");

$db = mysql_select_db("socios",$conexao);

 

$sql = "SELECT * FROM membros WHERE nome='$_POST[Escolha]'";

$resultado = mysql_query($sql)

or die ("Não foi possível realizar a consulta ao banco de dados");

while ($linha=mysql_fetch_array($resultado))

{ $codigo=$linha["codigo"];

$nome = $linha["nome"];

$endereco = $linha["endereco"];

$cidade = $linha["cidade"];

$estado = $linha["estado"];

$idade = $linha["idade"];

$login = $linha["login"];

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas no primeiro código, você não recebeu o parâmetro usando REQUEST.

 

Faça essa correção, teste e poste o resultado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas no primeiro código, você não recebeu o parâmetro usando REQUEST.

 

Faça essa correção, teste e poste o resultado.

A variável $nome vem de uma caixa de seleção chamada "Escolha"

 

$sql = "SELECT * FROM membros WHERE nome='$_POST[Escolha]'";

 

 

alterei o código veja como ficou:

 

<?php
	ini_set('display_errors', 1);
	error_reporting(E_ALL);
	
	include("funcoes.fcn");
	
	$nome = $_POST["Escolha"];
	
	$conexao = mysql_connect("localhost","root","");
	$db = mysql_select_db("socios",$conexao);
	$sql = "DELETE FROM membros WHERE nome='request[$nome]'";
	$resultado = mysql_query($sql)
		or die ("Não foi possível realizar a exclusão dos dados.");
	
	echo "<h1>O registro foi excluído com êxito!</h1>";
	echo "<p><a href=menu.php>HOME</a></p><br>";
	echo "<p><a href=exclusao.php>Nova Exclusão</a></p>";
?>

 

Porém não deu certo !!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como você colocou essa linha

$nome = $_POST["Escolha"];

 

Mantenha a linha abaixo da forma inicial:

$sql = "DELETE FROM membros WHERE nome='$nome'";

 

 

 

Obs. Utilize o BBCode [code ] para postar os códigos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

para resolver qualquer problema é sempre mais facil fazer um "debug" das linhas mais possiveis onde esta o erro

 

 

<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);

include("funcoes.fcn");

$nome = $_POST["Escolha"];

//vamo ver se esta a pegar o nome
echo $nome;

$conexao = mysql_connect("localhost","root","");
$db = mysql_select_db("socios",$conexao);
$sql = "DELETE FROM membros WHERE nome='$nome'";

//vamo ver se a instrucao esta bem
echo $sql;

$resultado = mysql_query($sql) or die ("Não foi possível realizar a exclusão dos dados.");

echo "<h1>O registro foi excluído com êxito!</h1>";
echo "<p><a href=menu.php>HOME</a></p><br>";
echo "<p><a href=exclusao.php>Nova Exclusão</a></p>";


?>

veja o resultado desses doi echos que foram colocados no codigo

Compartilhar este post


Link para o post
Compartilhar em outros sites
Como você colocou essa linha

$nome = $_POST["Escolha"];

 

Mantenha a linha abaixo da forma inicial:

$sql = "DELETE FROM membros WHERE nome='$nome'";

 

 

 

Obs. Utilize o BBCode

Coloquei assim:[code]$nome = $_POST["Escolha"];		$conexao = mysql_connect("localhost","root","");	$db = mysql_select_db("socios",$conexao);	$sql = "DELETE FROM membros WHERE nome='$nome'";	$resultado = mysql_query($sql)		or die ("Não foi possível realizar a exclusão dos dados.");

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas e o resultado? Deu certo ou errado?

 

Se deu errado, faça o que o webmind sugeriu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

para resolver qualquer problema é sempre mais facil fazer um "debug" das linhas mais possiveis onde esta o erro

 

 

<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);

include("funcoes.fcn");

$nome = $_POST["Escolha"];

//vamo ver se esta a pegar o nome
echo $nome;

$conexao = mysql_connect("localhost","root","");
$db = mysql_select_db("socios",$conexao);
$sql = "DELETE FROM membros WHERE nome='$nome'";

//vamo ver se a instrucao esta bem
echo $sql;

$resultado = mysql_query($sql) or die ("Não foi possível realizar a exclusão dos dados.");

echo "<h1>O registro foi excluído com êxito!</h1>";
echo "<p><a href=menu.php>HOME</a></p><br>";
echo "<p><a href=exclusao.php>Nova Exclusão</a></p>";


?>

veja o resultado desses doi echos que foram colocados no codigo

Coloquei, veja os erros que aparecem:

 

Notice: Undefined index: Escolha in C:\wamp\www\excluir.php on line 14

DELETE FROM membros WHERE nome=''

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok entao o problema vem do post!

 

mostre o codigo da caixa de seleccao, provavelmente você nao tem o name="escolha".

 

 

poste o html da pagina onde você tem a caixa de listagem

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta dessa forma:

$sql = "DELETE FROM membros WHERE nome='" . $nome . "'";

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok entao o problema vem do post!

 

mostre o codigo da caixa de seleccao, provavelmente você nao tem o name="escolha".

 

 

poste o html da pagina onde você tem a caixa de listagem

Primeiramente eu seleciono o nome que gostaria de excluir e pesquiso ele.

<select name="Escolha" size="1" id="escolha">

<?php

$conecta = mysql_connect('localhost','root','');				  
$bancodados = mysql_select_db('socios',$conecta); 
$pesquisa = "SELECT * FROM membros";
$resultado = mysql_query($pesquisa)
	or die ("Não foi possível realizar a consulta ao banco de dados");

While($registro=mysql_fetch_array($resultado))
		{ 
 ?>	   
	  <option ><?php echo $registro["nome"]?></option>
   
<?php

 

Logo após, aparece na tela todos os dados de quem quero excluir:

<?php include("funcoes.fcn");
	$conexao = mysql_connect("localhost","root","");
	$db = mysql_select_db("socios",$conexao);
		
	$sql = "SELECT * FROM membros WHERE nome='$_POST[Escolha]'";
	$resultado = mysql_query($sql)
		or die ("Não foi possível realizar a consulta ao banco de dados");
	while ($linha=mysql_fetch_array($resultado))
		{			   $codigo=$linha["codigo"];
			$nome = $linha["nome"];
			$endereco = $linha["endereco"];
			$cidade = $linha["cidade"];
			$estado = $linha["estado"];
			$idade = $linha["idade"];
			$login = $linha["login"];

Compartilhar este post


Link para o post
Compartilhar em outros sites

ae esta o problema!

 

é que o post vai pegar o value do option e nao o seu text.

 

 

ou seja você tem por exemplo

 

<option ><?php echo $registro["nome"]?></option>

 

 

entao ele nao vai pegar nenhum valor

 

mas se você colocar

 

<option value="<?php echo $registro["nome"]?>" ><?php echo $registro["nome"]?></option>

 

em principio vai funcionar se nao me enganei em nada

Compartilhar este post


Link para o post
Compartilhar em outros sites

ae esta o problema!

 

é que o post vai pegar o value do option e nao o seu text.

 

 

ou seja você tem por exemplo

 

<option ><?php echo $registro["nome"]?></option>

 

 

entao ele nao vai pegar nenhum valor

 

mas se você colocar

 

<option value="<?php echo $registro["nome"]?>" ><?php echo $registro["nome"]?></option>

 

em principio vai funcionar se nao me enganei em nada

 

Não deu certo.

 

Acho que a solução é algo assim:

 

$nome = $registro["nome"];

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa observação webmind. Não está sendo enviado nada como parâmetro e na outra página não também não tinha instrução para receber parâmetro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.