mcosta78 0 Posted February 8, 2019 Report Share Posted February 8, 2019 Boa noite pessoal, tenho um problema com o PHP. Tenho uma página em html e preciso de fazer um formulário (que já tenho) e coloquei um botão enviar. De forma ao php funcionar instalei o xampp e coloquei o ficheiro php o problema é que dá sempre erro!! o código que tenho é: <? # alterar a variavel abaixo colocando o seu email $destinatario = "seuemail@seudominio.com.br"; $nome = $_REQUEST['nome']; $email = $_REQUEST['email']; $mensagem = $_REQUEST['mensagem']; $assunto = $_REQUEST['assunto']; // monta o e-mail na variavel $body $body = "===================================" . "\n"; $body = $body . "FALE CONOSCO - TESTE COMPROVATIVO" . "\n"; $body = $body . "===================================" . "\n\n"; $body = $body . "Nome: " . $nome . "\n"; $body = $body . "Email: " . $email . "\n"; $body = $body . "Mensagem: " . $mensagem . "\n\n"; $body = $body . "===================================" . "\n"; // envia o email mail("meuemail@gmail.com", $assunto , $body, "From: $email\r\n"); //aqui coloco o meu email // redireciona para a página de obrigado header("location:obrigado.htm"); ?> Alguém me sabe dizer qual o problema? obrigado. Link to post Share on other sites
mcosta78 0 Posted February 9, 2019 Author Report Share Posted February 9, 2019 Peço desculpa por ter colocado aqui o post. Se o administrador puder retirar agradecia. Cumprimentos. Link to post Share on other sites
M6 149 Posted February 11, 2019 Report Share Posted February 11, 2019 Tens de dizer qual é o erro que tens, caso contrário ninguém te vai conseguir ajudar. 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar." Link to post Share on other sites
mcosta78 0 Posted February 12, 2019 Author Report Share Posted February 12, 2019 Obrigado M6! o erro é o seguinte: Objeto não encontrado! A URL requisitada não foi encontrada neste servidor. O link na página referida parece estar com algum erro ou desatualizado. Por favor informe o autor desta página sobre o erro. Se você acredita ter encontrado um problema no servidor, por favor entre em contato com o webmaster. Error 404 Link to post Share on other sites
Mikev 1 Posted February 12, 2019 Report Share Posted February 12, 2019 Pelo erro que diz é muito explicito. "URL requisitada não foi encontrada neste servidor." Vê se não tens o ficheiro php dentro de uma pasta o que te faz mudar o url para chegar a ele. Vê também se tens os ficheiros todos com os nomes corretos de forma a "existirem". Vê também se tens o projeto dentro da pasta do xamp. Abraço! C# 😍 Link to post Share on other sites
mcosta78 0 Posted February 13, 2019 Author Report Share Posted February 13, 2019 Obrigado pela resposta.. pois, eu tenho um formulárione e quando carrego chama o ficheiro php que coloquei no inicio do post. Os ficheiros estão dentro do xampp na pasta htdocs. tem os nomes corretos mas o erro continua.. não percebo., Abraço. Link to post Share on other sites
M6 149 Posted February 13, 2019 Report Share Posted February 13, 2019 Um 404 quer dizer que o URL que estás a invocar não existe no servido. Se estiveres em ambiente Linux/Mac OS X (ou semelhantes) tem atenção aos nomes dos ficheiros e diretórios pois são case sensitve. Vê os logs do Apache para perceberes qual o URL que estás a invocar para perceberes o que se passa. 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar." Link to post Share on other sites
mcosta78 0 Posted February 14, 2019 Author Report Share Posted February 14, 2019 Obrigado M6. Foi ver os logs do apache e o erro que dá é: [Thu Feb 14 14:03:44.024704 2019] [:error] [pid 3320:tid 1604] [client 127.0.0.1:51195] PHP Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing in C:\\xampp\\htdocs\\enviar.php on line 15, referer: http://127.0.0.1/form.html mas não percebo o problema!! Link to post Share on other sites
Cerzedelo 41 Posted February 14, 2019 Report Share Posted February 14, 2019 (edited) Não estarão a faltar headers no envio do email. <?php $to = 'nobody@example.com'; $subject = 'the subject'; $message = 'hello'; $headers = 'From: webmaster@example.com' . "\r\n" . 'Reply-To: webmaster@example.com' . "\r\n" . 'X-Mailer: PHP/' . phpversion(); mail($to, $subject, $message, $headers); ?> Em segundo lugar, o mail() parece não funcionar num servidor local. Em alternativa, pode utilizar o phpmailer. Edited February 14, 2019 by Cerzedelo Link to post Share on other sites
M6 149 Posted February 15, 2019 Report Share Posted February 15, 2019 Já fizeste o que o erro diz quanto a consultares o php.ini? Parece-me que o sendmail_from não deve estar definido. 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar." Link to post Share on other sites
mcosta78 0 Posted February 19, 2019 Author Report Share Posted February 19, 2019 Boas pessoal, segui o conselho do M6 de utilizar a classe phpmailer. agora o meu problema é: coloquei a classe phpmailer e dois ficheiros com o código abaixo: envio.php: <?php $mail = new PHPMailer(); $mail->IsSMTP(); $mail->CharSet = 'UTF-8'; $mail->True; $mail->Host = "smtp.gmail.com"; // SMTP servers $mail->SMTPSecure = "tls"; // conexão segura com TLS $mail->Port = 587; $mail->SMTPAuth = true; // Caso o servidor SMTP precise de autenticação $mail->Username = "meu_email@gmail.com"; // SMTP username (aqui coloco meu email) $mail->Password = "minha_password"; // SMTP password (aqui coloco a pass) $mail->From = "jruisousa7@gmail.com"; // From $mail->FromName = "InVettor" ; // Nome de quem envia o email $mail->AddAddress($mailDestino, $nome); // Email e nome de quem receberá //Responder $mail->WordWrap = 50; // Definir quebra de linha $mail->IsHTML = true ; // Enviar como HTML $mail->Subject = $assunto ; // Assunto $mail->Body = '<br/>' . $mensagem . '<br/>' ; //Corpo da mensagem caso seja HTML $mail->AltBody = "$mensagem" ; //PlainText, para caso quem receber o email não aceite o corpo HTML if(!$mail->Send()) // Envia o email { echo "Erro no envio da mensagem"; } ?> Contacto.php: <html lang="pt-br"> <head> <meta charset="utf-8"> <title>inVettor | Hospedagem de sites, Revendas, SSL e Cloud.</title> <!--Bootstrap --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> </head> <body> <div class="container"> <?php if ($_POST) { //Carrega as classes do PHPMailer include("./phpmailer/class.phpmailer.php"); include("./phpmailer/class.smtp.php"); //envia o e-mail para o visitante do site $mailDestino = $_POST['txtEmail']; $nome = $_POST['txtNome']; $mensagem = "Obrigado pelo seu contato, responderemos ASAP!"; $assunto = "Obrigado pelo seu contato!"; include("./envio.php"); //envia o e-mail para o administrador do site $mailDestino = 'jruisousa7@gmail.com'; $nome = 'inVettor'; $assunto = "Mensagem recebida do site"; $mensagem = "Recebemos uma mensagem no site <br/> <strong>Nome:</strong> $_POST[txtNome]<br/> <strong>e-mail:</strong> $_POST[txtEmail]<br/> <strong>mensagem:</strong> $_POST[txtMensagem]"; include("./envio.php"); } ?> <form method="POST" name="formContato"> <label>Informe seu nome: </label> <input type="text" name="txtNome" placeholder="João" class="form-control" required> <label>Informe seu e-mail: </label> <input type="email" name="txtEmail" placeholder="a@a.com" class="form-control" required> <label>Deixe sua mensagem: </label> <textarea rows="6" class="form-control" name="txtMensagem"></textarea> <br/> <div style="text-align:center"> <button type="submit" class="btn btn-default btn-lg"> Enviar Mensagem </button> </div> </form> </div> </body> </html> quando executo dá dois erros: o primeiro é no ficheiro envio.php na linha $mail->SMTPSecure = "tls"; // conexão segura com TLS o erro é: Notice: Undefined property: PHPMailer::$True in C:\xampp\htdocs\envio.php on line 21 Erro no envio da mensagem. e o segundo erro é no email do gmail recebo uma mensagem com tentativa de inicio de sessão bloqueado etc etc.. como posso resolver este problema? grato a todos. Link to post Share on other sites
mcosta78 0 Posted February 20, 2019 Author Report Share Posted February 20, 2019 (edited) os erros que dá no log do apache: [Wed Feb 20 09:05:02.228594 2019] [:error] [pid 1892:tid 1672] [client 127.0.0.1:61401] PHP Notice: Undefined property: PHPMailer::$True in C:\\xampp\\htdocs\\envio.php on line 21, referer: http://127.0.0.1/contato.php [Wed Feb 20 09:05:03.066510 2019] [:error] [pid 1892:tid 1672] [client 127.0.0.1:61401] PHP Notice: Undefined property: PHPMailer::$True in C:\\xampp\\htdocs\\envio.php on line 21, referer: http://127.0.0.1/contato.php aguardo ajuda e obrigado. Edited February 20, 2019 by mcosta78 Link to post Share on other sites
Cerzedelo 41 Posted February 20, 2019 Report Share Posted February 20, 2019 Tente o seguinte: $mail = new PHPMailer(true); Link to post Share on other sites
mcosta78 0 Posted February 20, 2019 Author Report Share Posted February 20, 2019 Obrigado Cerzedelo já consegui!!! cumprimentos. Link to post Share on other sites
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now