rocksul
28-08-07, 13:29
Oi galera!
Me pediram pra fazer um form aqui na empresa pra colocar no çaite. Daí fui atrás duns em PHP e fiz um baseado em modelos dos caras, é tipo uma página que recebe os dados e valida, se funfou vai para uma próxima página que grava os dados no banco de dados e envia os dados por email pra alguém.
O meu problema é que o email não tá enviando, tá gravando no banco de dados tudo certinho. Não achei o erro, já testei N vezes mas não dá certo. Se alguém entende de PHP e puder me ajudar agradeço, desde domingo tô tentando fazê essa erva funfa e nada.
[hr]Página que recebe os dados[hr]
<!--Início do arquivo-->
<link href="css/style.css" rel="stylesheet" type="text/css">
<script language="JavaScript" type="text/JavaScript">
//Valida campos em branco
<!--
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms(i)[n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers(i).document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}
//coloquei os "i" entre parenteses pq não dá pra colocar entre colchetes no fórum
function MM_validateForm() { //v4.0
var i,p,q,nm,test,num,min,max,errors='',args=MM_valida teForm.arguments;
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args(i));
if (val) { nm=val.name; if ((val=val.value)!="") {
if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
} else if (test!='R') { num = parseFloat(val);
if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
} if (errors) alert('The following error(s) occurred:\n'+errors);
document.MM_returnValue = (errors == '');
}
//-->
//fim da validação
</script>
<!--Início do form -->
<table width="772" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td colspan="2" valign="top"><img src="images/tit_trabalhe.jpg" width="397" height="48"></td>
<td width="375" rowspan="2" valign="middle" bgcolor="#FFFFFF"><div align="center"><img src="images/sunset_04.jpg" width="373" height="17"> <img src="images/trabalhe_bg_image.jpg" width="340" height="471"></div></td>
</tr>
<tr valign="top">
<td width="14"><img src="images/sunset_06.jpg" width="14" height="444" alt=""></td>
<td width="383" background="images/bg_trabalhe.jpg"><div align="center"><br>
Envie seu currículo e venha fazer parte de nossa família.
<form action="index.php" method="post" name="form1" onSubmit="MM_validateForm('nome','','R','email','','RisEmail ','celular','','RisNum','telefone','','RisNum','em prego_3','','R','emprego_2','','R','emprego_1','', 'R','ocupacao','','R','porque','','R');return document.MM_returnValue">
<table width="342" border="0" cellspacing="5" cellpadding="2">
<tr valign="top">
<td width="122"><strong>Nome:</strong></td>
<td width="197"><input name="nome" type="text" class="form" id="nome" size="30"></td>
</tr>
<tr valign="top">
<td><strong>Email:</strong></td>
<td><input name="email" type="text" class="form" id="email" size="30"></td>
</tr>
<tr valign="top">
<td>Celular:</td>
<td><input name="celular" type="text" class="form" id="celular"></td>
</tr>
<tr valign="top">
<td>Telefone:</td>
<td><input name="telefone" type="text" class="form" id="telefone"></td>
</tr>
<tr valign="top">
<td>Cargo Pretendido:</td>
<td><input name="cargo" type="text" class="form" id="cargo" /></td>
</tr>
<tr valign="top">
<td>Ocupação Atual:</td>
<td><textarea name="ocupacao" cols="28" class="form" id="ocupacao"></textarea></td>
</tr>
<tr valign="top">
<td>Experiência em lojas: </td>
<td><input name="experiencia" type="radio" value="sim" />
sim
<input name="experiencia" type="radio" value="não" />
não </td>
</tr>
<tr valign="top">
<td colspan="2">Últimos 3 empregos + Contato:</td>
</tr>
<tr valign="top">
<td colspan="2"><div align="left">3º
<input name="emprego_3" type="text" class="form" id="emprego_3" size="53" />
</div></td>
</tr>
<tr valign="top">
<td colspan="2"><div align="left">2º
<input name="emprego_2" type="text" class="form" id="emprego_2" size="53" />
</div></td>
</tr>
<tr valign="top">
<td colspan="2"><div align="left">1º
<input name="emprego_1" type="text" class="form" id="emprego_1" size="53" />
</div></td>
</tr>
<tr valign="top">
<td colspan="2"><div align="justify">Diga em poucas palavras porque você gostaria de trabalhar na Sunset? </div></td>
</tr>
<tr valign="top">
<td colspan="2"><textarea name="porque" cols="54" rows="4" class="form" id="porque"></textarea></td>
</tr>
<tr valign="top">
<td colspan="2"><input type="submit" name="Submit" value="Enviar seus dados">
<!--passa para a próxima página os parâmetros -->
<input name="go" type="hidden" id="go" value="script_trabalhe" /></td>
<!--chamada da página script_trabalhe.php deve ser chamada -->
</tr>
</table>
</form>
</div></td>
</tr>
</table>
<!--Fim do arquivo-->
[hr]Página que grava no banco, envia o email e motra pro usuário uma página dizendo "Sua mensagem foi enviada" - isso é mentira a mensagem não foi enviada! Só tá gravada no banco de dados, ela não vai! Phorra![hr]
<!--Início do PHP -->
<?
$from = "$email"; //Recupera o email da página anterior
$title = "Currículo: $nome"; //Grava na variável $title "curriculo: +(nome recuperado da página anterior
$para="[email protected]"; //email de destino do form
$headers .= "MIME-Version: 1.0\r\n"; //Formatação do email
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; //Formatação do email
$headers .="From: $nome"; //Cabeçalho da mensagem recebida por email
require_once('Connections/Conn_Website.php'); //verifica existência do arquivo
mysql_select_db($database_Conn_Website, $Conn_Website); // conecta ao banco
mysql_query("insert into vagas (nome, sexo, email, celular, telefone, cargo, ocupacao, experiencia, emprego_3,emprego_1, porque, IP) values ('$nome', '$sexo', '$email', '$celular', '$telefone', '$cargo', '$ocupacao', '$experiencia','$ emprego_3','$emprego_1', '$porque','".$REMOTE_ADDR."')") or die(mysql_error()); //grava variáveis trazidas da página anterior na tabela
//corpo da mensagem que será inserida no email, este corpo utiliza formatação de texto
$body="
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' />
<title>Currículo recebido!</title>
<style type='text/css'>
<!--
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
background-color: #FFFFFF;
}
body,td,th {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
}
.Brd {
border: 1px solid #CFCFCF;
}
-->
</style>
</head>
<body>
<table width='550' border='0' align='center' cellpadding='0' cellspacing='0' class='Brd'>
<tr>
<td><div align='center'></td>
</tr>
<tr>
<td><p> </p>
<blockquote>
<p><b>Nome:</b> $nome</p>
<p><b>Email:</b> $email</p>
<p><b>Celular:</b> $celular</p>
<p><b>Telefone:</b> $telefone </p>
<p><b>Endereço:</b> $ocupacao</p>
<p><b>Cargo Pretendido:</b> $cargo</p>
<p><b>Experiencia:</b> $experiencia</p>
<p><b>Últimos 3 empregos + Contato:</b></p>
<p><b>Última ocupação:</b> $emprego_3</p>
<p><b>Penúltima ocupação:</b> $emprego_2</p>
<p><b>Antepenúltima ocupação:</b> $emprego_1</p>
<p><b>Gostaria de trabalhar na Sunset porque:</b> $porque</p>
<p> </p>
<p><b>Ip de origem: </b>".$REMOTE_ADDR." </p>
</blockquote></td>
</tr>
<tr>
<td height='50'><div align='center'>www.sunsetsurfstreet.com.br</div></td>
</tr>
</table>
</body>
</html>
";
//fim do corpo, buscando as variáveis da página anterior e inserindo as mesmas no corpo pré-formatado
//Função mail do PHP - mail (endereço de destino,titulo da mensagem, mensagem, cabeçalho da mensagem);
mail($para,$title,$body,$headers);
?>
<!--Fim do PHP, Página exibida após envio da mensagem -->
<link href="css/style.css" rel="stylesheet" type="text/css">
<table width="772" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td colspan="2"><img src="images/tit_trabalhe.jpg" width="397" height="48"></td>
<td width="375" rowspan="2" bgcolor="#FFFFFF"><div align="center"><img src="images/sunset_04.jpg" width="373" height="17"> <img src="images/trabalhe_bg_image.jpg" width="340" height="471"></div></td>
</tr>
<tr valign="top">
<td width="14"><img src="images/sunset_06.jpg" width="14" height="444" alt=""></td>
<td width="383" background="images/bg_trabalhe.jpg"><div align="center">
<p> </p>
<p> </p>
<p> </p>
<table width="331" border="0" align="center" cellpadding="2" cellspacing="2">
<tr>
<td> </td>
</tr>
<tr>
<td><p align="center"> </p>
<p align="center">Caro(a) <span class="roxo"><strong><?php echo $nome; ?></strong></span>, seus dados foram enviados com sucesso!!!</p>
<p align="center">Obrigado por entrar em contato conosco. </p>
</td>
</tr>
</table>
</div></td>
</tr>
</table>
<!--Fim do arquivo -->
[hr]
Se alguém puder me ajudar, agradeço! Vlw!
Me pediram pra fazer um form aqui na empresa pra colocar no çaite. Daí fui atrás duns em PHP e fiz um baseado em modelos dos caras, é tipo uma página que recebe os dados e valida, se funfou vai para uma próxima página que grava os dados no banco de dados e envia os dados por email pra alguém.
O meu problema é que o email não tá enviando, tá gravando no banco de dados tudo certinho. Não achei o erro, já testei N vezes mas não dá certo. Se alguém entende de PHP e puder me ajudar agradeço, desde domingo tô tentando fazê essa erva funfa e nada.
[hr]Página que recebe os dados[hr]
<!--Início do arquivo-->
<link href="css/style.css" rel="stylesheet" type="text/css">
<script language="JavaScript" type="text/JavaScript">
//Valida campos em branco
<!--
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms(i)[n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers(i).document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}
//coloquei os "i" entre parenteses pq não dá pra colocar entre colchetes no fórum
function MM_validateForm() { //v4.0
var i,p,q,nm,test,num,min,max,errors='',args=MM_valida teForm.arguments;
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args(i));
if (val) { nm=val.name; if ((val=val.value)!="") {
if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
} else if (test!='R') { num = parseFloat(val);
if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
} if (errors) alert('The following error(s) occurred:\n'+errors);
document.MM_returnValue = (errors == '');
}
//-->
//fim da validação
</script>
<!--Início do form -->
<table width="772" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td colspan="2" valign="top"><img src="images/tit_trabalhe.jpg" width="397" height="48"></td>
<td width="375" rowspan="2" valign="middle" bgcolor="#FFFFFF"><div align="center"><img src="images/sunset_04.jpg" width="373" height="17"> <img src="images/trabalhe_bg_image.jpg" width="340" height="471"></div></td>
</tr>
<tr valign="top">
<td width="14"><img src="images/sunset_06.jpg" width="14" height="444" alt=""></td>
<td width="383" background="images/bg_trabalhe.jpg"><div align="center"><br>
Envie seu currículo e venha fazer parte de nossa família.
<form action="index.php" method="post" name="form1" onSubmit="MM_validateForm('nome','','R','email','','RisEmail ','celular','','RisNum','telefone','','RisNum','em prego_3','','R','emprego_2','','R','emprego_1','', 'R','ocupacao','','R','porque','','R');return document.MM_returnValue">
<table width="342" border="0" cellspacing="5" cellpadding="2">
<tr valign="top">
<td width="122"><strong>Nome:</strong></td>
<td width="197"><input name="nome" type="text" class="form" id="nome" size="30"></td>
</tr>
<tr valign="top">
<td><strong>Email:</strong></td>
<td><input name="email" type="text" class="form" id="email" size="30"></td>
</tr>
<tr valign="top">
<td>Celular:</td>
<td><input name="celular" type="text" class="form" id="celular"></td>
</tr>
<tr valign="top">
<td>Telefone:</td>
<td><input name="telefone" type="text" class="form" id="telefone"></td>
</tr>
<tr valign="top">
<td>Cargo Pretendido:</td>
<td><input name="cargo" type="text" class="form" id="cargo" /></td>
</tr>
<tr valign="top">
<td>Ocupação Atual:</td>
<td><textarea name="ocupacao" cols="28" class="form" id="ocupacao"></textarea></td>
</tr>
<tr valign="top">
<td>Experiência em lojas: </td>
<td><input name="experiencia" type="radio" value="sim" />
sim
<input name="experiencia" type="radio" value="não" />
não </td>
</tr>
<tr valign="top">
<td colspan="2">Últimos 3 empregos + Contato:</td>
</tr>
<tr valign="top">
<td colspan="2"><div align="left">3º
<input name="emprego_3" type="text" class="form" id="emprego_3" size="53" />
</div></td>
</tr>
<tr valign="top">
<td colspan="2"><div align="left">2º
<input name="emprego_2" type="text" class="form" id="emprego_2" size="53" />
</div></td>
</tr>
<tr valign="top">
<td colspan="2"><div align="left">1º
<input name="emprego_1" type="text" class="form" id="emprego_1" size="53" />
</div></td>
</tr>
<tr valign="top">
<td colspan="2"><div align="justify">Diga em poucas palavras porque você gostaria de trabalhar na Sunset? </div></td>
</tr>
<tr valign="top">
<td colspan="2"><textarea name="porque" cols="54" rows="4" class="form" id="porque"></textarea></td>
</tr>
<tr valign="top">
<td colspan="2"><input type="submit" name="Submit" value="Enviar seus dados">
<!--passa para a próxima página os parâmetros -->
<input name="go" type="hidden" id="go" value="script_trabalhe" /></td>
<!--chamada da página script_trabalhe.php deve ser chamada -->
</tr>
</table>
</form>
</div></td>
</tr>
</table>
<!--Fim do arquivo-->
[hr]Página que grava no banco, envia o email e motra pro usuário uma página dizendo "Sua mensagem foi enviada" - isso é mentira a mensagem não foi enviada! Só tá gravada no banco de dados, ela não vai! Phorra![hr]
<!--Início do PHP -->
<?
$from = "$email"; //Recupera o email da página anterior
$title = "Currículo: $nome"; //Grava na variável $title "curriculo: +(nome recuperado da página anterior
$para="[email protected]"; //email de destino do form
$headers .= "MIME-Version: 1.0\r\n"; //Formatação do email
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; //Formatação do email
$headers .="From: $nome"; //Cabeçalho da mensagem recebida por email
require_once('Connections/Conn_Website.php'); //verifica existência do arquivo
mysql_select_db($database_Conn_Website, $Conn_Website); // conecta ao banco
mysql_query("insert into vagas (nome, sexo, email, celular, telefone, cargo, ocupacao, experiencia, emprego_3,emprego_1, porque, IP) values ('$nome', '$sexo', '$email', '$celular', '$telefone', '$cargo', '$ocupacao', '$experiencia','$ emprego_3','$emprego_1', '$porque','".$REMOTE_ADDR."')") or die(mysql_error()); //grava variáveis trazidas da página anterior na tabela
//corpo da mensagem que será inserida no email, este corpo utiliza formatação de texto
$body="
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' />
<title>Currículo recebido!</title>
<style type='text/css'>
<!--
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
background-color: #FFFFFF;
}
body,td,th {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
}
.Brd {
border: 1px solid #CFCFCF;
}
-->
</style>
</head>
<body>
<table width='550' border='0' align='center' cellpadding='0' cellspacing='0' class='Brd'>
<tr>
<td><div align='center'></td>
</tr>
<tr>
<td><p> </p>
<blockquote>
<p><b>Nome:</b> $nome</p>
<p><b>Email:</b> $email</p>
<p><b>Celular:</b> $celular</p>
<p><b>Telefone:</b> $telefone </p>
<p><b>Endereço:</b> $ocupacao</p>
<p><b>Cargo Pretendido:</b> $cargo</p>
<p><b>Experiencia:</b> $experiencia</p>
<p><b>Últimos 3 empregos + Contato:</b></p>
<p><b>Última ocupação:</b> $emprego_3</p>
<p><b>Penúltima ocupação:</b> $emprego_2</p>
<p><b>Antepenúltima ocupação:</b> $emprego_1</p>
<p><b>Gostaria de trabalhar na Sunset porque:</b> $porque</p>
<p> </p>
<p><b>Ip de origem: </b>".$REMOTE_ADDR." </p>
</blockquote></td>
</tr>
<tr>
<td height='50'><div align='center'>www.sunsetsurfstreet.com.br</div></td>
</tr>
</table>
</body>
</html>
";
//fim do corpo, buscando as variáveis da página anterior e inserindo as mesmas no corpo pré-formatado
//Função mail do PHP - mail (endereço de destino,titulo da mensagem, mensagem, cabeçalho da mensagem);
mail($para,$title,$body,$headers);
?>
<!--Fim do PHP, Página exibida após envio da mensagem -->
<link href="css/style.css" rel="stylesheet" type="text/css">
<table width="772" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td colspan="2"><img src="images/tit_trabalhe.jpg" width="397" height="48"></td>
<td width="375" rowspan="2" bgcolor="#FFFFFF"><div align="center"><img src="images/sunset_04.jpg" width="373" height="17"> <img src="images/trabalhe_bg_image.jpg" width="340" height="471"></div></td>
</tr>
<tr valign="top">
<td width="14"><img src="images/sunset_06.jpg" width="14" height="444" alt=""></td>
<td width="383" background="images/bg_trabalhe.jpg"><div align="center">
<p> </p>
<p> </p>
<p> </p>
<table width="331" border="0" align="center" cellpadding="2" cellspacing="2">
<tr>
<td> </td>
</tr>
<tr>
<td><p align="center"> </p>
<p align="center">Caro(a) <span class="roxo"><strong><?php echo $nome; ?></strong></span>, seus dados foram enviados com sucesso!!!</p>
<p align="center">Obrigado por entrar em contato conosco. </p>
</td>
</tr>
</table>
</div></td>
</tr>
</table>
<!--Fim do arquivo -->
[hr]
Se alguém puder me ajudar, agradeço! Vlw!