Ir para conteúdo

POWERED BY:

Arquivado

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

bruno.aQnP

Cadastro login e senha que envie email de confirmacao

Recommended Posts

Boa tarde,

 

Desculpe se estou postando na area errada do forum, mas vamos la:

 

Estou criando um forum privado da empresa e gostaria de um sistema de login e senha que quando fizesse o cadastro, envia-se um email para o usuario com os dados do cadastro;

 

Alguem poderia me ajudar?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Usando esse exemplo, ta indo tudo quase certo..

quando mando criar o usuario, esta dando esse erro:

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\xampp\htdocs\bruno\cadastra.php on line 181

Foi enviado para seu email - ( lol@lol.com.br ) um pedido de confirmação de cadastro, por favor verifique e sigas as instruções!

 

fui no php.ini

e esta assim la:

 

[mail function]

; For Win32 only.

; http://php.net/smtp

SMTP = smtp.gmail.com

; http://php.net/smtp-port

smtp_port = 25

 

 

Alguem poderia me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse erro é porque o PHP não está configurado corretamente para enviar e-mails localmente. Pode ser que o seu script esteja certo e ao ser upado (enviado ao servidor remoto), funcione normalmente. Se tiver acesso a um servidor remoto, envie os arquivos e faça o test pra ver se envia.

Sempre tive problemas pra fazer o PHP enviar e-mails localmente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas ai é erro em outro lugar, e não da função mail()

 

confira as linhas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ta assim as config:

 

02.<?php

03.

04.define('root', 'usuário de banco de dados');

05.define('****', 'senha do banco de dados');

06.define('bruno', 'nome do seu banco de dados');

07.

08.mysql_connect('localhost', BD_USER, BD_PASS);

09.mysql_select_db(BD_NAME);

10.

11.?>

 

Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

E outra que esses DEFINE estão errados:

04.define('root', 'usuário de banco de dados'); 
05.define('****', 'senha do banco de dados'); 
06.define('bruno', 'nome do seu banco de dados');
deveria ser algo do tipo:

define('BD_USER', 'root'); 
define('BD_PASS', '123'); 
define('BD_NAME', 'bruno');

confira o tutorial de onde você pegou esses códigos, e procure entendê-lo melhor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o usuário do banco na web é root ???

 

Sim, eh root..

Eu estou usando esse justfree.com.

 

E outra que esses DEFINE estão errados:

04.define('root', 'usuário de banco de dados'); 
05.define('****', 'senha do banco de dados'); 
06.define('bruno', 'nome do seu banco de dados');
deveria ser algo do tipo:

define('BD_USER', 'root'); 
define('BD_PASS', '123'); 
define('BD_NAME', 'bruno');

confira o tutorial de onde você pegou esses códigos, e procure entendê-lo melhor.

 

 

No codigo esta assim mesmo define('BD_USER', 'root');

Na hora de colar aqui nao saiu hehehe

 

-

Agora esta dando um erro diferente:

 

Access denied for user 'vhostswww'@'localhost' (using password: NO)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Repetindo o que foi falado acima: verifique as configurações de conexão, esse erro:

Access denied for user 'vhostswww'@'localhost' (using password: NO)

quer dizer que o usuário, a senha ou o host estão errados (se você estiver usando num servidor na web, é CERTEZA que não é "localhost" ;)

Sobre o e-mail, a função mail() usa as configurações do lugar que você está rodando o script. Experimente fazer o upload p/ um servidor web e veja se funciona

Compartilhar este post


Link para o post
Compartilhar em outros sites

É bem provável que o seu problema agora está nas configurações do servidor ao conectar ao banco... alguma informação não confere. Alguns hospedeiros (que usam Cpanel, inclusive) exigem que você use o seu nome de usuário antes do nome do banco. Algo como mysql_connect("localhost", "usuariologin_usuariodobanco", "senha")

 

Só pra complementar o que disse o Kineri, o www.irqzero.net por exemplo, usa o localhost no lugar do nome do servidor. Isso não é comum, mas acontece.

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php

define('BD_USER', 'root'); // USE O TEU USUÁRIO DE BANCO DE DADOS
define('BD_PASS', '****'); // USE A TUA SENHA DO BANCO DE DADOS
define('BD_NAME', 'teste'); // USE O NOME DO TEU BANCO DE DADOS

mysql_connect('localhost', BD_USER, BD_PASS);
mysql_select_db(BD_NAME);


?>

Onde esta localhost seria para colocar o do link web?

 

Caso nao seja, alguem me de uma luz, por favor hehehe

 

eu nao sei nada sobre isso, sou mto leigo :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

O manual é teu amigo:

http://www.php.net/mysql_connect

http://www.php.net/mysql_select_db

 

Pelo erro que você apresentou anteriormente, o usuario e senha continuam errados, confira com o suporte da tua hospedagem quais são, isso é: se você já criou um banco de dados, e já configurou user e senha, pelo painel da hospedagem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O comando de conexão espera três parâmetros: nome do servidor, usuário e senha. mysql_connect('nome_do_servidor', 'usuário', 'senha');

Você precisa ter certeza do nome do servidor usado para conexão. Isso o próprio hospedeiro pode te informar. Citei como o exemplo o irqzero.net, lá o nome do servidor é localhost mesmo, mas na maioria dos outros servidores, é outro endereço, como no Uol Host, que é algo como dbmy0026.whservidor.com.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, agora eu consegui enviar pro host tudo certinho, mas quando digito no browser link.com/pagina.php ela nao abre, fica a pagina em branco e nao da nenhum erro

Local, esta funcionando perfeitamente.. esta gravando os dados no banco de dados, mas na web esta acontecendo isso :(

O que pode ser?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Depende do teu script.. poste ele.

coloque essas linhas como as primeiras do teu script para habilitar os erros

error_reporting( E_ALL | E_STRICT );
ini_set('display_errors', TRUE);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora foi com os campos "usuario" e senha"

 

Ai fui tentar adicionar o campo "email" e comeco a dar erro na hora do cadastro

 

segue codigo:

 

<?
//conexão com o db
include ("conectar.php");
//variaveis enviadas pelo método post
$nome = $_POST['nome'];
$senha = $_POST['senha'];
$email = $_POST['email'];
//insere os valores no db
$insere = mysql_query("INSERT INTO `login`( `nome`, `senha`, `email`) VALUES ('$nome','$senha','$email')") or die(mysql_error());

(
	
else{

	/* Vamos checar se o nome de Usuário escolhido e/ou Email já existem no banco de dados */

	$sql_email_check = mysql_query("SELECT COUNT(usuario_id) FROM login WHERE email='{$email}'");
	$sql_nome_check = mysql_query("SELECT COUNT(usuario_id) FROM login WHERE usuario='{$nome}'");

	$eReg = mysql_fetch_array($sql_email_check);
	$uReg = mysql_fetch_array($sql_nome_check);

	$email_check = $eReg[0];
	$nome_check = $uReg[0];
	
	//$email_check = mysql_num_rows($sql_email_check);
	//$nome_check = mysql_num_rows($sql_nome_check);

	if(($email_check > 0) || ($nome_check > 0)){

		echo "<strong>ERRO </strong>- Por favor corrija os seguintes erros abaixo: <br /> <br />";

		if($email_check > 0){

		echo "Este email ( <strong>".$email."</strong> ) já está sendo utilizado.<br />Por favor utilize outra conta de email! <br />";

		unset($email);

		}

		if($nome_check > 0){

			echo "Este nome de usuário ( <strong>".$nome."</strong> ) já está sendo utilizado.<br />Por favor utilize outro nome de usuário!<br />";

			unset($nome);
		
		include "index.html";

	}
if($insere)
echo "Obrigado pelo Cadastro, verifique seu email e faca a ativacao do jogo na sua Steam.";
else
echo "Não foi possível fazer o seu cadastramento!";
?>

Eu nao entendo muito.. eu nao sei onde pode estar errado

 

o erro na web eh esse:

 

Parse error: syntax error, unexpected '}' in /home/vhosts/meusite.net/cadastro.php on line 12

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.