Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Sistema Newsletter


Paulo Faustini Jr

Question

Estou tentando adicionar um sistema de newsletter em meu site, mas ao tentar inserir o e-mail aparece assim no site, apesar de informar que já foi adicionado, não tem nada no BD:

Volte e digite um email correto!

Esse email já está cadastrado em nosso banco de dados!

Segue abaixo os módulos da newsletter:

Form:

<form action="http://localhost/UCP2/php/newsletter.php" method="post">
                        <input type="text" name="email" maxlength="255" class="fieldNotify" id="emailNotify" value="Seu e-mail" /> 
                        <div style="float:left;"><input type="submit" value="ENVIAR" id="submitNotify" class="sendNotify" /></div>
</form>
Action:
<?php include "config.inc";
$erro=false;
if(strpos($email,"@")<3||strrpos($email,".")<7||strlen($email)>255){
    echo "Volte e digite um email correto!<br>";
    $erro=false;
}
include "conectar.inc";
$resultado=mysql_query("select id from $nometabela where email='$email'",$conexao);
if(mysql_num_rows($resultado)==0){
    mysql_query("insert into $nometabela values(NULL,'$email')",$conexao);
    echo "<b>Email registrado!</b>";
}else{
    echo "<b>Esse email já está cadastrado em nosso banco de dados!</b>";
}
mysql_close($conexao);
?>
config.inc:
<?php
// Nome da database MySql, crie uma database com esse nome no MySql Server
$nomedb="newsletter";
// Nome da tabela que será salva o guestbook
$nometabela="contatos";
// Seu email
$emailrem="teste@localhost";
// MySql Server
$mysqlhost="localhost";
// Nome do usuário MySql
$mysqluser="root";
// Senha do MySql
$mysqlpass="";
// Senha para a parte administrativa
$senha="admin";
?>
conectar.inc:
<?php include "config.inc";
$conexao=mysql_connect($mysqlhost,$mysqluser,$mysqlpass);
mysql_select_db($nomedb,$conexao);
?>

Não estou sabendo verificar o erro, porque simplesmente não me aparece nenhuma especificação do erro que está ocorrendo, espero que vocês possam me ajudar.

Abs.

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Troca:

mysql_query("insert into $nometabela values(NULL,'$email')",$conexao);

Por:

mysql_query("insert into $nometabela values(NULL,'$email')",$conexao)OR DIE(mysql_error());

Isto vai informar qual o erro na inserção.

Link to comment
Share on other sites

  • 0

Fiz a modificação e continua não retornando erro, fiz a seguinte modificação no arquivo newsletter.php:

<?php include "config.inc";
//Conectando ao Bando de Dados
$conexao=mysql_connect($mysqlhost,$mysqluser,$mysqlpass);
mysql_select_db($nomedb,$conexao);

//Consulta ao Banco de Dados
$resultado=mysql_query("SELECT id FROM `$nometabela` WHERE email='$email'",$conexao)OR DIE(mysql_error());
if(mysql_num_rows($resultado)==0){
    //Inserindo no BD
    mysql_query("INSERT INTO `$nomedb`.`$nometabela` (`id`, `email`) VALUES (NULL, '$email')",$conexao)OR DIE(mysql_error());
    echo "<b>Email registrado!</b>";
}else{
    echo "<b>Esse email já está cadastrado em nosso banco de dados!</b>";
}
mysql_close($conexao);
?>

Uma coisa que percebi, foi que ao limpar o conteúdo da tabela "contatos", quando vou adicionar um e-mail, ele retorna "Email adicionado com sucesso" e insere uma linha com o valor 'id' mas sem nenhum conteúdo para o valor 'email' e aí quando vou tentar adicionar qualquer outro e-mail (ou até mesmo o que já adicionei) ele retorna "Email já adicionado...".

Link to comment
Share on other sites

  • 0

Troque:

mysql_query("INSERT INTO `$nomedb`.`$nometabela` (`id`, `email`) VALUES (NULL, '$email')",$conexao)OR DIE(mysql_error());
Por:
$email = $_POST['email'];
mysql_query("INSERT INTO `$nomedb`.`$nometabela` (`id`, `email`) VALUES (NULL, '$email')",$conexao)OR DIE(mysql_error());

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...