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

Bug No Meu Formulario


Livio Iago

Pergunta

Galera, preciso muito de ajuda...

To fazendo um cadastro simples de usuários... Mas como sou iniciante no PHP, estou levando uma surra...

Depois de ter refeito várias vezes, agora está funcionando... Mas está com um Bug... Toda vez que dou um Refresh (F5) ele envia um email, como se alguém tivesse cadastrado, mas é claro, o email chega em branco, pois ninguém cadastrou nada... Eu penso que o correto é envia apenas quando clicar em alguma coisa, ou testou errado???

O mais doido é que tá tudo funcionando normal... Ele adiciona no banco, manda o email pra mim avisando, e manda um para o cliente agradecendo o cadastro... tudo na boa... mas tá com esse bug aí...

E tambem queria melhorar a aparencia do email que é mandado para mim e para o cliente, usando HTML ou até imagens... Eu indico no código para voces verem onde é...

PRECISO DE AJUDA, DE VERDADE....

Segue meu script...

//LIGACAO COM O BANCO DE DADOS, FEITO COM DW

<?php require_once('Connections/CommEr24bd.php'); ?>

<?php

function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")

{

$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

switch ($theType) {

case "text":

$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";

break;

case "long":

case "int":

$theValue = ($theValue != "") ? intval($theValue) : "NULL";

break;

case "double":

$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";

break;

case "date":

$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";

break;

case "defined":

$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;

break;

}

return $theValue;

}

$editFormAction = $_SERVER['PHP_SELF'];

if (isset($_SERVER['QUERY_STRING'])) {

$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);

}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {

$insertSQL = sprintf("INSERT INTO form_clientes (form_membro, form_nome, form_apelido, form_email, form_sexo, form_nasc_dia, form_nasc_mes, form_nasc_ano, form_end, form_operad, form_fone, form_pais, form_ident, form_como, form_data, form_hora) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",

GetSQLValueString($_POST['form_membro'], "text"),

GetSQLValueString($_POST['form_nome'], "text"),

GetSQLValueString($_POST['form_apelido'], "text"),

GetSQLValueString($_POST['form_email'], "text"),

GetSQLValueString($_POST['form_sexo'], "text"),

GetSQLValueString($_POST['form_nasc_dia'], "text"),

GetSQLValueString($_POST['form_nasc_mes'], "text"),

GetSQLValueString($_POST['form_nasc_ano'], "text"),

GetSQLValueString($_POST['form_end'], "text"),

GetSQLValueString($_POST['form_operad'], "text"),

GetSQLValueString($_POST['form_fone'], "text"),

GetSQLValueString($_POST['form_pais'], "text"),

GetSQLValueString($_POST['form_ident'], "text"),

GetSQLValueString($_POST['form_como'], "text"),

GetSQLValueString($_POST['form_data'], "date"),

GetSQLValueString($_POST['form_hora'], "date"));

mysql_select_db($database_CommEr24bd, $CommEr24bd);

$Result1 = mysql_query($insertSQL, $CommEr24bd) or die(mysql_error());

$insertGoTo = "sucessoform.htm";

if (isset($_SERVER['QUERY_STRING'])) {

$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";

$insertGoTo .= $_SERVER['QUERY_STRING'];

}

header(sprintf("Location: %s", $insertGoTo));

}

//FIM DA LIGACAO COM O BANCO

//PEGANDO DADOS PARA ENVIAR O EMAIL PARA MIM

$membro = $_POST['form_membro'];

$nome = $_POST['form_nome'];

$apelido = $_POST['form_apelido'];

$email = $_POST['form_email'];

$data = $_POST['form_data']; //função para pegar a data de envio do e-mail

$hora = $_POST['form_hora']; //para pegar a hora com a função date

$ip = $_SERVER['REMOTE_ADDR']; //função para pegar o ip do usuário

$navegador = $_SERVER['HTTP_USER_AGENT']; //função para pegar o navegador do visitante

//ENVIANDO EMAIL PARA MIM

@mail ("livio@visa.co.mz",

"Cadastro de Membro FREE numero: $membro",

//AQUI GALERA!!! GOSTARIA DE DEIXAR ESSE CORPO DO EMAIL MAIS BONITO, DÁ PRA USAR CÓDIOS HTML AQUI???

"O cliente $nome $apelido acaba de se cadastrar em nosso site e já está em nosso banco de dados.\nMembro: $membro\nNome: $nome\napelido: $apelido\nemail: $email\ndata: $data\nhora: $hora\nip: $ip\nnavegador: $navegador\n",

"From: $nome $apelido"

);

//VARIAVEIS PARA O ENVIO DO AGRADECIMENTO

$site = "www.er24.co.mz";

$titulo = "Seu Cadastro";

//AQUI TAMBEM!!! ESSA É A MENSAGEM QUE O USUARIO RECEBE, GOSTARIA DE MELHORAR O VISUAL, PODE???

$msg = "$nome, obrigado por cadastrare seu numero de Membro na ER24.";

//AQUI ENVIA O AGRADECIMENTO

@mail ("$email",

"$titulo",

"$msg",

"From: $site"

);

?>

Tinha outro erro, e me mandaram botar essa ARROUBA na frente da funcao mail() e aí corrigiu. Mas o BUG, permanece... Toda vez que atualiza ele manda um email em branco...

alguém pode me ajudar???

AHHHRR!!!! Galera, fora isso, quem puder me dizer como enviar os valores do CHECKBOX, pois só está indo um dos valores... Se eu marco todos, só vai o último... hehehehe, mais uma perguntinha...

POR FAVOR, ESTOU DESESPERANDO...

Livio Iago

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Para não enviar sem dados, faça uma verificação de valor. Exemplo:

if (empty ($_POST['nome'])){
  echo "Erro: preencha seu nome<br />";
  exit;
}

Para enviar com HTML, precisa-se adicionar mais cabeçalhos (MIME-Version e Content-Type, pelo menos).

Dê uma olhada aqui:

http://scriptbrasil.com.br/forum/index.php?showtopic=82939

[]'s

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,3k
    • Posts
      652,4k
×
×
  • Criar Novo...