Ir para conteúdo

Arquivado

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

Zoação

PHP para localizar "campo" em banco de dados

Recommended Posts

Preciso criar uma função para localizar "apenas" um campo no banco de dados da seguinte forma:

 

1) Informar o e-mail a localizar

2) Se este já estiver cadastrado, redirecionar para um endereço

3) Se este não estiver cadastrado, redirecionar para outro endereço

Compartilhar este post


Link para o post
Compartilhar em outros sites

iniciandocadastro.html -----------------------------------------------------------------------------------

<form name="form1" method="post" action="consultaemailparacadastro.php">
<table align="center" cellpadding="0" cellspacing="0" style="width: 500">
<tr>
<td class="auto-style5" style="width: 250">Informe primeiro o e-mail</td>
<td class="auto-style4" style="width: 250">
<input name="email" type="text" id="email" class="auto-style1" style="width: 218px"></td>
</tr>
</table>
<p class="auto-style2"> </p>
<p class="auto-style2"> </p>
<p class="auto-style2">
<br class="auto-style1">
<input type="submit" name="Submit" value="Enviar" class="auto-style1">
<input type="reset" name="Submit2" value="Limpar" class="auto-style1">
<br class="auto-style1">
</p>
</form>

consultaemailparacadastro.php ----------------------------------------------------------------------

<?
$mysql_host = "enderecohost";
$mysql_database = "nomebancodedados";
$mysql_user = "nomeusuario";
$mysql_password = "minhasenha";

$busca = mysql_query("SELECT COUNT(*) AS rows FROM usuarios WHERE email = '$email'");

if (mysql_result($busca, 0, "email")==0) {


//cadastra
echo "<h3><center> Email Não Localizado. Você pode realizar o cadastro agora!!!<center></h3>\n\n";

}else{

// mensagem para email existente
echo "<h3><center> Infelizmente o e-mail já encontra-se no banco de dados. Por favor refaça sua consulta ou fale com o suporte técnico!!!<center></h3>\n\n";

}

?>

-------------------------------------------------------

Infelizmente não sei porque, mas não está funcionando...
Sempre que tento, volta a seguinte mensagem de erro (ou página de erro), veja:


PHP Error Message
Warning: mysql_query() [function.mysql-query]: Access denied for user 'nomedousuario'@'localhost' (using password: NO) in /home/<endereco>/consultaemailparacadastro.php on line 7

PHP Error Message
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/<endereco>/consultaemailparacadastro.php on line 7

PHP Error Message
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /home/<endereco>/consultaemailparacadastro.php on line 9

Email Não Localizado. Você pode realizar o cadastro agora!!!

-------------------------------------------------------

O que preciso fazer e como devo fazer?

Obrigado!!!

 

As linhas em questão são:

Line 7:
$busca = mysql_query("SELECT COUNT(*) AS rows FROM usuarios WHERE email = '$email'");

Line 9:
if (mysql_result($busca, 0, "email")==0) {

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cuidado com o que você diz ... criar uma função.

 

Esse seu script tem em um outro tópico seu http://forum.imasters.com.br/topic/498133-localizar-registro-em-banco-de-dados-e-confirmar-simples/#entry1975133, cuidado com isso. Se ficar repetindo tópico, a tendência será o pessoal não te ajudar.


O problema está que você não criou os arquivos de conexão.

Não é somente passar os dados:

$mysql_host     = "enderecohost";
$mysql_database = "nomebancodedados";
$mysql_user     = "nomeusuario";
$mysql_password = "minhasenha";

Retire isso do seu script, e crie um novo arquivo por exemplo zuando-config.php

Cole-os lá junto com isso

$mysql_host     = "enderecohost"; 
$mysql_database = "nomebancodedados"; 
$mysql_user     = "nomeusuario"; 
$mysql_password = "minhasenha";

$con-zoacao = mysql_connect($mysql_host,$mysql_user,$mysql_password) or die ('Erro ao conectar'.mysql_error());

$db-zoacao = mysql_select_db($mysql_database)or die ('Erro ao selecionar banco de dados'.mysql_error()); 

E onde você precisar usar uma conexão com o banco de dados, você dá um include nesse arquivo.

Lá em cima antes de fechar o </head> (não é obrigatório isso, mas serve para organizar)

Você faz (veja se o caminho do diretório está correto):

<?php include 'zuando-config.php' ; ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro Rogério,

 

Desculpe pelo incômodo e desde já agradeço a atenção dispensada, porém gostaria de dizer que não consegui fazer com que o PHP funcione ... como lhe disse, sou novo com este tipo de linguagem...

Veja só:

onde eu insiro por exemplo o "include" que mostrou acima, pois tentei por exemplo no arquivo "consultaemailparacadastro.php", mas deu erro ...

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

E onde você precisar usar uma conexão com o banco de dados, você dá um include nesse arquivo.

<?php include 'zuando-config.php' ; ?>

E vai continuar dando erro

$busca = mysql_query("SELECT COUNT(*) AS rows FROM usuarios WHERE email = '$email'");

Você passou para a página consultaemailparacadastro.php o valor que a $email vai assumir?

Você entendendo e aplicando a sua necessidade, com certeza isso irá resolver seu problema http://machado.wordpress.com/2010/08/14/codigo-mastigado-formulario-de-contato-em-html-php/

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.