Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
bioshock

Comparação entre ID e Email [Resolvido]

Recommended Posts

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!!

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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!";
}

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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:

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.