Ir para conteúdo
Fórum Script Brasil
  • 0

Fomulário com upload


Led Lemos

Pergunta

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 para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...