Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

bioshock

Comparação entre ID e Email [Resolvido]

Mensagens Recomendadas

bioshock

Boas pessoal,

Alguém me sabe dizer como posso fazer a comparação de uma string com um ID? Ou seja, caso o Email inserido na Textfield seja igual ao ID em que está registado o email (por exemplo: ....Newsletter/html?id=39) então ele elimina o email, caso contrário dá erro.

Obrigado!!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
scorch

Tenta algo como:


$query = mysql_query("SELECT email FROM tabela WHERE id = 39 and email = \"exemplo@gmail.com\" LIMIT 1");

if (mysql_num_rows($query)  == 1){
    //Elimina
} else {
    //Mostra o erro
}


scorch_pp.png

PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bioshock

Pois, esse código é o que eu tenho andado a tentar..mas não utilizava o LIMIT 1.

Contudo, não dá na mesma, estou a fazer algo como isto:

$campoEmail = $_POST['email'];
$id = $_GET['id'];
$checkSelect = mysql_query("SELECT email FROM email WHERE email = '$campoEmail' and idemail = '$id' LIMIT 1") or die("Error :" . mysql_error());
// Verifica se existe; 
if(mysql_num_rows($checkSelect) == 1){
// Caso exista, então elimina;
mysql_query("DELETE FROM email WHERE idemail = '$id'");
echo "<script>alert('Eliminado com sucesso!'); window.location=\"mostraremails.php\"</script>";
// Caso contrário dá erro;
}else{
echo "Erro - Email inválido!";
}

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bioshock

Se o id for int na tabela da BD tira as '' na query

Bem, eu não percebi o facto de ter que tirar as películas, mas não funciona na mesma.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bioshock

Estou a achar isto estranho porque se eu fizer um echo à variavel, caso eu insira o email correcto, ele dá a variavel como 1 (TRUE) mas não elimina, caso insira um email errado dá a variavel como 0 (FALSE) e também não elimina.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bioshock

Resolvido..estive meia hora a olhar para o código, e estava-me a faltar o $ nos dois "VerificaLinha"...fds.

<?php 
include ("connection.inc");
$campoEmail = $_POST['email'];
if(isset($_POST['button'])){
$checkSelect = mysql_query("SELECT email FROM email WHERE email = '$campoEmail' and idemail =".$_GET['id']) or die("Error :" . mysql_error());
$VerificaLinha = mysql_num_rows($checkSelect);
// Verifica se existe; 
if($VerificaLinha == '1'){
// Caso exista, então elimina;
mysql_query("DELETE FROM email WHERE idemail =".$_GET['id']) or die("Error :" . mysql_error());
echo "<script>alert('Eliminado com sucesso!'); window.location=\"mostraremails.php\"</script>";
// Caso contrário dá erro;
}
else{ 
echo "Erro";
}
}
?>

Obrigado pessoal!  :thumbsup:

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
KiNgPiTo

Se o id for int na tabela da BD tira as '' na query

Pois de outro modo estarias a comparar uma string a outra string e não parece ser o caso.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.