Formmail campos obrigatórios e função confirm() no na função echo() PH
Olá pessoal!
Estou abrindo esse tópico por que estou com problema com o formmail que estou utilizando.
Um dos problemas é que não consigo fazer uma pergunta antes de realizar o direcionamento. Creio que ele nem chegue no if porém o código abaixo não apresenta a pergunta.
O trecho abaixo mostra a parte referente a função confirm() do javascript:
echo "<script>
var resposta = confirm('Mensagem enviada com sucesso !!!\n\n\nSe deseja ir para página inicial, clique em (Sim/OK).\n\nSe deseja continuar no formulário, clique em (Não/Cancelar)');
if(resposta)
{
location.href='../../../$redirecionar';
} else {
location.href='../../../$campos_faltando_redirecionar';
}
</script>";
O outro problema é que não consigo colocar mais de dois campos como obrigatórios no formulário. Ou melhor até consigo colocar mais campos como obrigatórios. Porém, ele avisa que o envio foi realizado com sucesso e a mensagem não é finalizado o envio.
Abaixo o código completo do formmail:
<?php
/******************************
* FormMail v1.0
* by Calvin
* data: 2002-12-05
******************************/
/* Domínios ou IPS de sites que você autoriza enviar dados para este script
Para habilitar esse recurso, retire o comentário (as duas barras do começo da linha: // )
e edite os domínios permitidos */
//$referencia_formulario = array ('localhost','dominio.com.br','www.dominio.com.br','200.10.145.194');
/* Não alterar se você não tem idéia do que é CSV
adiciona uma formatação estilo CSV para os dados do formulário */
$CFG = array(
'csv_style' => 0, // Utilizar esquema CSV? 0=não e 1=sim
'csv_delimiter' => ' ' // Qual o delimitador entre os campos (TAB é a melhor opção)
);
/ Textos que aparecem no programa /
$txt_msg = array(
0 => 'O formulário não foi enviado pelas seguintes razões:<p>',
1 => 'Use o botão voltar do seu navegador.<p>',2 => 'Você está utilizando um endereço de email banido do sistema',
3 => 'Você está enviando o formulário de uma origem <b>não autorizado</b>',
4 => '<b>Precisa de um email de destinatário válido para continuar</b>',5 => 'Faltando',
6 => 'Seu <b>endereço de email</b> é invalido',
7 => 'Dados do Formulário',
8 => 'Obrigado por enviar o formulário',
9 => 'Formulário: Erro',
10 => 'Formulário: Enviado'
);
// controle interno
$versao = '1.0';
/ ############################################################################################# /
function pagina_cabecalho($title){
global $txt_msg;
$bgcolor = "#FFFFFF";
$text_color = "#000000";
$link_color = "#0000FF";
$vlink_color = "#FF0000";
$alink_color = "#000088";
$background = '';
echo "<html><head><title>$title</title></head>\n";
$background = !empty($background) ? "background='$background'" : '';
echo "<body bgcolor='$bgcolor' text='$text_color' link='$link_color' vlink='$vlink_color' alink='$alink_color' $background>\n\n";
}
function imprimir_erro($razao,$tipo = 0) {
global $txt_msg;
echo pagina_cabecalho($txt_msg['9']);
if ($tipo=='falta'){
echo $txt_msg['0'];
echo '<ul><b>' . $razao. '</b></ul>';
echo $txt_msg['1'];}else{ // every other error
echo $txt_msg['0'];
}
echo "<br><br>\n</body></html>";
exit;
}
function verificar_referencia($referencia_formulario) {
global $txt_msg;if(count($referencia_formulario))
{
$encontrado = false;
$temp = explode('/',getenv('HTTP_REFERER'));
$referencia = $temp[2];
for($x=0; $x<count($referencia_formulario); $x++)
{
if(eregi($referencia_formulario[$x], $referencia))
{
$encontrado = true;
}
}
if(!getenv('HTTP_REFERER'))
$encontrado = false;
if(!$encontrado)
{
imprimir_erro($txt_msg['3']);
error_log("[FormMail.php] Referência Ilegal. (".getenv("HTTP_REFERER").")", 0);
}
return $encontrado;
}else{
return true;
}
}
function capturar_campos($array) {
global $txt_msg,$CFG,$csv_header;
$campos_reservados[] = 'destinatario';
$campos_reservados[] = 'obrigatorio';
$campos_reservados[] = 'assunto';
$campos_reservados[] = 'campos_faltando_redirecionar';
$campos_reservados[] = 'redirecionar';if (count($array))
{
while (list($key, $val) = each($array))
{
$reservado_violado = 0;
for ($i=0; $i<count($campos_reservados); $i++)
{
if ($key == $campos_reservados[$i])
{
$reservado_violado = 1;
}
}
if ($reservado_violado != 1)
{
if (is_array($val))
{
for ($z=0;$z<count($val);$z++)
{
$csv_header .= ($CFG['csv_style']==1)? $key.$CFG['csv_delimiter'] : '';
$conteudo .= ($CFG['csv_style']==1)? $val[$z].$CFG['csv_delimiter'] : "$key: $val[$z]\r\n";
}
}else{
$csv_header .= ($CFG['csv_style']==1)? $key.$CFG['csv_delimiter'] : '';
$conteudo .= ($CFG['csv_style']==1)? $val.$CFG['csv_delimiter'] : "$key: $val\r\n";
}
}
}
}
return $conteudo;
}
function mail_it($destinatario_email, $assunto, $corpo, $remetente_email) {
$header = !empty($remetente_email)? "From: $remetente_email\r\n" : '';
$header .= !empty($remetente_email)? "Reply-To: $remetente_email\r\n" : '';
$header .= "X-Mailer: PHP mail ver".phpversion()."\r\n";
mail($destinatario_email, $assunto, $corpo, $header);
}/ ############################################################################################# /
//error_reporting(E_ERROR | E_WARNING | E_PARSE);
if(!empty($HTTP_GET_VARS)) {
while(list($xxxname, $value) = each($HTTP_GET_VARS)) {
$$xxxname = $value;
}
}if(!empty($HTTP_POST_VARS)){
while(list($xxxname, $value) = each($HTTP_POST_VARS)) {
$$xxxname = $value;
}
}if(!empty($HTTP_POST_FILES)) {
while(list($xxxname, $value) = each($HTTP_POST_FILES)) {
$$xxxname = $value['tmp_name'];
}
}/ ############################################################################################# /
if(!empty($referencia_formulario))
{
verificar_referencia($referencia_formulario);
}/ ############################################################################################# /
$destinatario_array = split(',',$destinatario);
for($i=0; $i<count($destinatario_array); $i++)
{
$destinatario_testar = trim($destinatario_array[$i]);
if(!eregi("^[_\\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\\.)+[a-z]{2,4}$", $destinatario_testar))
{
imprimir_erro($txt_msg['4']);
}
}if(!empty($obrigatorio))
{
$campos_requeridos = $obrigatorio;
}if(!empty($campos_requeridos))
{
$campos_requeridos = preg_split('/,/',$campos_requeridos);
//$campos_requeridos = split(',',$campos_requeridos);for($i=0; $i<count($campos_requeridos); $i++)
{
$key_campo = trim($campos_requeridos[$i]);
if(empty($$key_campo))
{
if(!empty($campos_faltando_redirecionar))
{
echo ("<script>alert('Preencha todos os campos obrigatórios. Obrigado !!!');</script>");
echo ("<script>location.href='../../../$campos_faltando_redirecionar';</script>");
//header ("Location: ../../../$campos_faltando_redirecionar");
exit;
}
echo ("<script>alert('Preencha todos os campos obrigatórios. Obrigado !!!');</script>");
echo ("<script>location.href='javascript:history.back()';</script>");
//$campos_faltando_lista .= "<b>" . $txt_msg['5'] . ": $campos_requeridos[$i]</b><br>\n";
}
$val_campo = '';
}
if ($campos_faltando_lista){
imprimir_erro($campos_faltando_lista,'falta');
}
}if(empty($assunto))
{
$assunto = $txt_msg['7'];
}if(!empty($email) || !empty($EMAIL))
{
$email = trim($email);
if ($EMAIL)
$email = trim($EMAIL);if (!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}$", $email))
{
echo ("<script>alert('Seu endereço de email é invalido !!!');</script>");
echo ("<script>location.href='../../../$campos_faltando_redirecionar';</script>");
//imprimir_erro($txt_msg['6']);
}
$EMAIL = $email;
}
$conteudo = capturar_campos($HTTP_POST_VARS);
$conteudo = $CFG['csv_style']==1 ? "\n\n".$csv_header."\n".$conteudo."\n" : $conteudo;
mail_it($destinatario, stripslashes($assunto), stripslashes($conteudo), $email );
if(!empty($redirecionar))
{
/para teste/
echo "<script>
var resposta = confirm('Mensagem enviada com sucesso !!!\n\n\nSe deseja ir para página inicial, clique em (Sim/OK).\n\nSe deseja continuar no formulário, clique em (Não/Cancelar)');
if(resposta)
{
location.href='../../../$redirecionar';
} else {
location.href='../../../$campos_faltando_redirecionar';
}
</script>";
//echo ("<script>alert('Mensagem enviada com sucesso !!!');</script>");
//echo ("<script>location.href='../../../$redirecionar';</script>");
//header ("Location: ../../../$redirecionar");
exit;}else{
echo ("<script>alert('Mensagem enviada com sucesso !!!');</script>");
echo ("<script>location.href='javascript:history.back()';</script>");
//pagina_cabecalho($txt_msg['10']);
//print $txt_msg['8'];
//echo "<br><br>\n</body></html>";
exit;
}
?>Discussão (1)
Carregando comentários...