armdsrj 0 Denunciar post Postado Março 9, 2013 Olá pessoal... Eu sou novo aqui no Fórum e estou com uma dúvida... Estou criando um aplicativo que recebe o nome do usuário, o sobrenome e o email deste para fins de criar uma espécie de MALA DIRETA para que depois eu possa posteriormente enviar emails para TODAS as pessoas da lista clicando apenas em um botão... O fato é que eu criei um banco de dados no PhpMyAdmin em meu servidor chamado armdsinf_andre e criei uma tabela chamada email_list com os seguintes campos: first_name varchar (50), last_name varchar (50) e email varchar (50) Em meu formulário, quando o usuário não preenche todos os campos um ALERT funciona dizendo que é para que o usuário preencha todos os campos e, quando o usuário preenche o email errado um ALERT funciona dizendo que o email é inválido, agora, quando TODOS os campos são preenchidos DE FORMA CORRETA um ALERT funciona dizendo que a MENSAGEM FOI ENVIADA COM SUCESSO... O fato é que RECEBO em MEU email, o nome, sobrenome e o email do USUÁRIO, todavia, MEU BANCO DE DADOS NÃO REGISTRA OS DADOS DO USUÁRIO... Ou seja RECEBO OS EMAILS COM OS DADOS EM MEU EMAIL E MEU BANCO DE DADOS NÃO RECEBE NENHUM REGISTRO... Vou postar meu arquivo "addemail.php" para ver se podem me ajudar nessa questão e apontar onde é que eu estou errando... Segue: <!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=utf-8" /> <title>Documento sem título</title> </head> <body> <h1><center>Formulário De Identificação de E-mails</center></h1> <br /><br /> <table width="395" border="1" align="center" cellpadding="2" cellspacing="2"> <tr> <td width="111" bgcolor="#FFFFFF"><form method="post" enctype="multipart/form-data"> Nome:<br /><input type="text" name="firstname" id="firstname" size="45" /></td> </tr> <tr> <td bgcolor="#FFFFFF">Sobrenome:<br /><input type="text" name="lastname" id="lastname" size="45" /></td> </tr> <tr> <td bgcolor="#FFFFFF">Email:<br /><input type="text" name="email" id="email" size="45" /></td> </tr> <tr> <td colspan="2" align="left" bgcolor="#FFFFFF"> </td> </tr> <tr> <td colspan="2" align="left" bgcolor="#FFFFFF"> <input type="hidden" name="acao" id="acao" value="env-cont" /> <input type="submit" value="Enviar Identificação" /></td> </tr> </table> <?php $conecta = mysqli_connect('localhost', 'armdsinf_mds', 'armdsrj123', 'armdsinf_andre') or die ('Erro de Conexão'); $db = mysqli_select_db($conecta, 'armdsinf_andre'); if (isset($_POST['acao']) || $_POST['acao'] == 'env-cont'){ $first_name = $_POST['firstname']; $last_name = $_POST['lastname']; $email = $_POST['email']; if(empty($first_name) || empty($last_name) || empty($email)){ echo '<script>alert("Preencha Todos os Campos!")</script>'; }elseif(!preg_match("/^[a-z0-9_\.\-]+@[a-z0-9_\.\-]*[a-z0-9_\.\-]+\.[a-z]{2,4}$/i", $email)){ echo '<script>alert("E-mail Inválido!")</script>'; }else{ mysqli_query($conecta, "INSERT INTO email_list (firstname, lastname, email) VALUES ('$first_name', '$last_name', '$email')"); echo '<script>alert("Mensagem Enviada com Sucesso!")</script>'; //envio de email $to = 'rjcarpediemrj@hotmail.com'; $subject = 'Cadastro'; $msg = 'Recebemos o contato de ' . $first_name . ' ' . $last_name . ' cujo email é ' . $email; mail($to, $subject, $msg); } } mysqli_close($conecta); ?> </body> </html> DESDE JÁ FICO AGRADECIDO SE PUDEREM ME AJUDAR NESSA MINHA DÚVIDA! Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Março 9, 2013 Você disse que os campos se chamam first_name e last_name, mas na query você está usando firstname e lastname. Use o OR DIE(mysql_error()) para retornar todos os possíveis erros. Compartilhar este post Link para o post Compartilhar em outros sites
armdsrj 0 Denunciar post Postado Março 9, 2013 EXCELENTE ESerra, muito obrigado mesmo... Você está certo mesmo e agora deu certo, não tinha percebido isso... Queria aproveitar para tirar uma outra dúvida que eu tenho já há um certo tempo... Quando o USUÁRIO digita seu nome, por exemplo André Ricardo, fica REGISTRADO no BANCO DE DADOS André Ricardo, ou seja, com esses caracteres especiais... Como é que eu faço para que seja impresso no database o nome do usuário SEM ESSES CARACTERES ESPECIAIS, ou seja, quando o usuário digitar André Ricardo que fique registrado no banco de dados, André Ricardo e NÃO André Ricardo... Como faço para que isso seja possível? Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Março 9, 2013 Se você estiver usando utf-8, após a conexão adicione: mysqli_query($conecta, "SET NAMES 'utf8'"); Compartilhar este post Link para o post Compartilhar em outros sites
armdsrj 0 Denunciar post Postado Março 9, 2013 Deu certo ESerra... Mas uma vez obrigado amigo! Compartilhar este post Link para o post Compartilhar em outros sites