0
Hello, I have the system PHP
below to register after the user’s Ubmit, the registration usually occurs, however I would like to be sent an email to the registered email, but the way I did is not being sent, can someone give a help? Thanks in advance
<?php
require_once('classes/conecta.cadastro.php');
$pdo = conectar();
// RECEBENDO OS DADOS PREENCHIDOS DO FORMULÁRIO !
$nome = $_POST ["nome"];
$data = $_POST ["data"];
$sexo = $_POST ["sexo"];
$email = $_POST ["email"];
$email2 = $_POST ["email2"];
$senha = sha1($_POST ["senha"]);
$senha1 = sha1($_POST ["senha1"]);
$cpf = $_POST ["cpf"];
$tel = $_POST ["tel"];
$cel = $_POST ["cel"];
$cep = $_POST ["cep"];
$rua = $_POST ["rua"];
$numero = $_POST ["numero"];
$bairro = $_POST ["bairro"];
$cidade = $_POST ["cidade"];
$uf = $_POST ["uf"];
if ($instituicao = "OUTRA") {
$instituicao = $_POST ["outrainst"];
} else{
$instituicao = $_POST ["instituição"];
}
$nivel = $_POST ["nivel"];
$curso = $_POST ["curso"];
$area = $_POST ["area"];
$turno = $_POST ["turno"];
$palestras = $_POST ["palestras"];
$cidade2 = $_POST ["cidade2"];
if(!empty($_POST['dias']) && count($_POST['dias']) ){
$chgeckboxes = $_POST['dias'];
//implode
$horario = implode(',', $_POST['dias']);
}
if(!empty($_POST['Habilidades']) && count($_POST['Habilidades']) ){
$chgeckboxes = $_POST['Habilidades'];
//implode
$habilidades = implode(',', $_POST['Habilidades']);
}
$arq = $_FILES['foto']['name'];
$arq = $_FILES['foto']['name'];
$arq = str_replace(" ", "_", $arq);
$arq = str_replace("ç", "c", $arq);
if (file_exists("imagens/".$arq)) {
$a = 1;
while (file_exists("imagens/[".$a."]".$arq)) {
$a++;
}
$arq = "[".$a."]".$arq;
}
$foto = $arq;
$aprovado = '0';
//Prepara o cadastro
$cadastro = $pdo->prepare("INSERT INTO dados (nome, data, sexo, email, email2, senha, senha1, cpf, tel, cel, cep, rua, numero, bairro, cidade, uf, instituicao, nivel, curso, area, turno, horario, habilidades, palestras, cidade2, foto, aprovado) VALUES (:nome, :data, :sexo, :email, :email2, :senha, :senha1, :cpf, :tel, :cel, :cep, :rua, :numero, :bairro, :cidade, :uf, :instituicao, :nivel, :curso, :area, :turno, :horario, :habilidades, :palestras, :cidade2, :foto, :aprovado)");
$cadastro->bindValue(":nome",$nome);
$cadastro->bindValue(":data",$data);
$cadastro->bindValue(":sexo",$sexo);
$cadastro->bindValue(":email",$email);
$cadastro->bindValue(":email2",$email2);
$cadastro->bindValue(":senha",$senha);
$cadastro->bindValue(":senha1",$senha1);
$cadastro->bindValue(":cpf",$cpf);
$cadastro->bindValue(":tel",$tel);
$cadastro->bindValue(":cel",$cel);
$cadastro->bindValue(":cep",$cep);
$cadastro->bindValue(":rua",$rua);
$cadastro->bindValue(":numero",$numero);
$cadastro->bindValue(":bairro",$bairro);
$cadastro->bindValue(":cidade",$cidade);
$cadastro->bindValue(":uf",$uf);
$cadastro->bindValue(":instituicao",$instituicao);
$cadastro->bindValue(":nivel",$nivel);
$cadastro->bindValue(":curso",$curso);
$cadastro->bindValue(":area",$area);
$cadastro->bindValue(":turno",$turno);
$cadastro->bindValue(":horario",$horario);
$cadastro->bindValue(":habilidades",$habilidades);
$cadastro->bindValue(":palestras",$palestras);
$cadastro->bindValue(":cidade2",$cidade2);
$cadastro->bindValue(":foto",$foto);
$cadastro->bindValue(":aprovado",$aprovado);
//Valida o cadastro
$validar = $pdo->prepare("SELECT * FROM tab_clientes WHERE email = ?");
if (move_uploaded_file($_FILES['foto']['tmp_name'], 'imagens/'.$arq)) {
//Executa o cadastro
$retorno = $cadastro->execute();
if ($retorno){
//Enviando email de confirmação de cadastro
$assunto = "Cadastro realizado";
$mensagem = "Seu cadastro foi realizado, em breve entraremos em
contato!
";
$header = "From: [email protected]";
mail($email, $assunto, $mensagem, $header);
header('Location: succes.php');
} else {
ini_set("display_errors",1);
ini_set("display_startup_erros",1);
error_reporting(E_ALL);
header('Location: cadastro.php?erro=1');
}
} else{
header('Location: cadastro.php?erro=1');
}
?>
Connection to the database via PDO:
<?php
function conectar(){
try{
$pdo=new PDO("mysql:host=ffgdfgdfgdfgr;dbname=fdgdfg"
,"fdgdfg","dfgdfgdfg");
}catch(PDOException $e){
echo $e->getMessage();
}
return $pdo;
}
?>
vc is utlizando local host ? if not check if the server hosting the site has access to mail(), some servers only work with smtp
– Marcos Brinner
Uses the phpmailer class, already solves the problem above Second, in localhost Mailer does not work
– gabrielfalieri
@Marcosbrinnerpikatoons I tried so much for the host location when using a server, in case the
locaweb
, you know if he has access tomail()
?– Arthur Oliveira
localhost would never work...
– gabrielfalieri
@gabrielfalieri Yes, I imagined that there would not even give, but I tried also by Locaweb, but unsuccessful too!
– Arthur Oliveira
in localhost can not send, ai vc would have to configure your mail server, but it is a bit complex, in Locaweb you will have to use the Mailer see how in Mailer Locaweb
– Marcos Brinner
actually they have a tutorial that can help you mail() Ocaweb
– Marcos Brinner
@Marcosbrinnerpikatoons thank you very much, I will look at their tutorials and use Phpmailer, thank you very much!!
– Arthur Oliveira