Jump to content
Fórum Script Brasil
  • 0

Fomulário com upload


Led Lemos

Question

Boa noite,

Estou começando a mexer com PHP (sem grana para fazer um curso), e preciso de um formulário que envie imagem também.

Só há um problema, agora as imagens que faço o upload pelo formulário (http://kolbrasil.com/v2/vc) vão para o diretório (img_upload), porém a mensagem não vai para o e-mail.

Podem me ajudar???

Abraços

Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 0

o seu codigo de upload.php há um erro... ele não verifica os campos e da mensagem que foi realizado com sucesso mesmo sem eu ao menso por 1 dado...

e poste aqui o código php trabalhando neste arquivo para ver o que pode ser.

Link to comment
Share on other sites

  • 0

Código php:

<?php
//iremos declarar as variaveis que recebemos pelo método post
//em alguns servidores nem precisamos declarar, depende do register_global=on ou =off
$nome=$_POST[nome];
$email=$_POST[email];
$cidade=$_POST[cidade];
$nascimento=$_POST[nascimento];
$musica_fav=$_POST[musica_fav];
$clipe_fav=$_POST[clipe_fav];
$integrante_fav=$_POST[integrante_fav];
$album_fav=$_POST[album_fav];
$letra_fav=$_POST[letra_fav];
$twitter=$_POST[twitter];
$facebook=$_POST[facebook];
$seu_nome=$_POST[seu_nome];
$mensagem=$_POST[mensagem];
$assunto=$_POST[nome];
$arquivo = $_FILES['arquivo'];
if ($arquivo['type'] == "image/jpeg" || $arquivo['type']== "image/pjpeg")
{
  if ($arquivo['size']>500000)
  {
    exit('Arquivo muito grande. Tamanho máximo permitido 500kb. O arquivo enviado contém '.round($arquivo['size']/1024).'kb');  
  }
  
  $novonome = md5(mt_rand(1,10000).$arquivo['name']).'.jpg';
  $dir = "img_upload/";
  if (!file_exists($dir))
  {
    mkdir($dir, 0755);  
  }
  $caminho = $dir.$nome.'.jpg';
  move_uploaded_file($arquivo['tmp_name'],$caminho);
  
}

//agora vamos enviar todos esses dados usando a função mail
mail("vc@kolbrasil.com","$assunto","
Nome: $nome
Email: $email
Cidade: $cidade
Data de nascimento: $nascimento
Música(s) favorita(s): $musica_fav
Clipe(s) favorito(s): $clipe_fav
Integrante(s) favorito(s): $integrante_fav
Álbum(ns) favorito(s): $album_fav
Letra(s) favorita(s): $letra_fav
Twitter: $twitter
Facebook: $facebook
Nome da página: $seu_nome
Mensagem: $mensagem","FROM:$nome<$email>");

?>

Link to comment
Share on other sites

  • 0

Acredito que a forma que você está atribuindo o seu mail esta errado ...

primeiro pegue todo os dados e coloque em uma unica variavel como no exemplo abaixo.

depois de o comando mail com os dados nescessarios como segue no exemplo abaixo também

$mensagem = "Empresa: ".$_POST['Empresa']." \n";
$mensagem .= "Contato: ".$_POST['Contato']." \n";
$mensagem .= "Endereco: ".$_POST['Endereco']." \n";
$mensagem .= "Telefone: ".$_POST['Telefone']." \n";
$mensagem .= "Email: ".$_POST['Email'];

mail("jagua@email.com.br", "Titulo ", $mensagem); // email para qual vai ser enviado / titulo da mensagem / e a mensagem

tenta ai e depois retorna o resultado aqui..

Link to comment
Share on other sites

  • 0

Tentei fazer o que tu falou.. seria desse jeito?

<?php

$mensagem  = "Nome: ".$_POST['nome']." \n";
$mensagem .= "E-mail: ".$_POST['email']." \n";
$mensagem .= "Cidade: ".$_POST['cidade']." \n";
$mensagem .= "Data de nascimento: ".$_POST['nascimento']." \n";
$mensagem .= "Música favorita:: ".$_POST['musica_fav']." \n";
$mensagem .= "Clipe favorito: ".$_POST['clipe_fav']." \n";
$mensagem .= "Integrante favorito: ".$_POST['integrante']." \n";
$mensagem .= "Álbum favorito: ".$_POST['album_fav']." \n";
$mensagem .= "Letra favorito: ".$_POST['letra_fav']." \n";
$mensagem .= "Twitter: ".$_POST['twitter']." \n";
$mensagem .= "Facebook: ".$_POST['facebook']." \n";
$mensagem .= "Nome da página: ".$_POST['seu_nome']." \n";
$mensagem .= "Sobre você: ".$_POST['mensagem']." \r \n";
$mensagem .= "Arquivo ".$_FILES['arquivo'];
if ($arquivo['type'] == "image/jpeg" || $arquivo['type']== "image/pjpeg")
{
  if ($arquivo['size']>500000)
  {
    exit('Arquivo muito grande. Tamanho máximo permitido 500kb. O arquivo enviado contém '.round($arquivo['size']/1024).'kb');  
  }
  
  $novonome = md5(mt_rand(1,10000).$arquivo['name']).'.jpg';
  $dir = "img_upload/";
  if (!file_exists($dir))
  {
    mkdir($dir, 0755);  
  }
  $caminho = $dir.$nome.'.jpg';
  move_uploaded_file($arquivo['tmp_name'],$caminho);
 }

mail("vc@kolbrasil.com", "Titulo", $mensagem); // email para qual vai ser enviado / titulo da mensagem / e a mensagem


?>

Enviado com sucesso.
Agora ocorre o erro:
PHP Warning:  mail() [<a href='function.mail'>function.mail</a>]: "sendmail_from" not set in php.ini or custom "From:" header missing in E:\home\kolbrasil\Web\v2\vc2\upload2.php on line 34

Link to comment
Share on other sites

  • 0
sendmail_from" not set in php.ini or custom "From:" header missing in

ta faltando isso... o teu servidor não tem um por padrão... coloque quem está enviando

o mail ta To Title Body tem que por o from que seria a pessoa que esta enviando que n ocaso é o site.

Link to comment
Share on other sites

  • 0

adiciona isso...

$cabecalho = "From: SEUEMAIL@SEUSITE\r\nReply-To: SEUEMAIL@SEUSITE";

mail("vc@kolbrasil.com", "Titulo", $mensagem, $cabecalho); // email para qual vai ser enviado / titulo da mensagem / e a mensagem

Link to comment
Share on other sites

  • 0

Agora consegui. Ao invés de renomear e botar tudo na variável mensagem, deixei como estava o antigo e adicionei a variavel header... agora esta funcionando perfeitamente..

Mensagem para o e-mail com todas as informações, e as imagens indo para o diretório img_upload!

Obrigado a todos pela atenção e a disposição!

Abraços

Led Lemos

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...