Jump to content


Photo

Php + Mysql: Registrou Até 15, Depois Parou.


  • Faça o login para participar
2 replies to this topic

#1 K-gome

K-gome

    12 Horas

  • Usuários
  • 198 posts
  • Sexo:Feminino
  • Localidade:SSA/BA

Posted 24/01/2009, 01:50

Olá a todos!

Ainda tive poucas experiência com a interção php + mysql e por isso não sei ao certo se o erro está acontecendo devido ao mysql ou ao php (ou a algo mais, nunca se sabe).

Eu fiz um sistema de newsletter: a pessoa coloca o e-mail num input, recebe um e-mail e neste e-mail tem um link que pede:
-nome
-apelido
-senha
-confirmação de senha.
-o e-mail vai no input type=hidden através do get da url.

Eu usei duas tabelas, uma para os e-mails do newsletter e outra para os dados pessoais (nome, apelido e senha), por isso preciso conectar a duas tabelas diferentes para inserir os e-mails em uma e os outros dados em outra.

A tabela mysql de e-mails continua recebendo novos registros, entretanto a tabela com os outros dados pessoais parou quando chegou a 15 registros!! Alguém poderia me ajudar a entender por que e a resolver?!

o arquivo do action do form com os inputs acima é esse (não está muito limpo e talvez não muito certo - ainda não tenho facilidade com php, me baseio em outros códigos -, por isso aceito sugestões para qualquer melhora):

cadastra_newsletter.php
<?php $email = $_POST['email'];$nome = $_POST['nome'];$apelido = $_POST['apelido'];$senha = $_POST['senha'];include "admin/config.php";$verifica = "SELECT apelido FROM cadastrados WHERE apelido= '$apelido'";    $teste = mysql_query($verifica) or die ("Ops, deu Erro!!!");    $vai = mysql_num_rows($teste);    if ($vai == 1){       echo "Esse apelido já está em uso. Clique em voltar e mude!";    } else {$sql = mysql_query("INSERT INTO $tb3 (email) VALUES ('$email')");$sql2 = mysql_query("INSERT INTO cadastrados (nome, apelido, email, senha) VALUES ('$nome','$apelido','$email','$senha')");if (!$sql){echo "Você já está cadastrado!";}else{echo "<script> alert(\"E-Mail Cadastrado com sucesso\")</script>";echo "<meta http-equiv='refresh' content='0;URL=/index.php?cullens=cadastrado'>";}}?>

form no arquivo com os inputs:
<form name="F1" method="post" action="cadastra_newsletter.php">	<p>E-mail a ser cadastrado: <font color="#FFFFFF"><?php echo "$cadastrar" ?></font><input name="email" type="hidden" size="30" value="<?php echo "$cadastrar" ?>"></p>  <p>Nome Real Completo: <input name="nome" type="text" size="30" /></p>    <p>Apelido (a ser exibido no site): <input name="apelido" type="text" size="30" /></p>    <p>Escolha uma senha: <input name="senha" type="password" size="12" />     Repita senha:       <input name="senha2" type="password" size="12" /></p>    <div align="center"><input name="enviar" type="button" value=":: confirmar cadastro ::" onClick="validate()"></div></form>

Obrigada!

Edição feita por: K-gome, 24/01/2009, 01:51.


#2 Maykel Esser

Maykel Esser

    Super Veterano

  • Usuários
  • 1536 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 24/01/2009, 08:47

já tentou imprimir as consultas para ver como elas estão chegando no banco?

Se este post lhe ajudou, ajude o fórum também. Use a reputação de mensagens! add.png


#3 Tash

Tash

    Alexandre Gomes Gaigalas

  • Usuários
  • 315 posts
  • Sexo:Não informado
  • Localidade:Mauá - SP
  • Interesses:Desenvolvimento para Web, Web Standards, Tableless, XHTML, CSS, PHP, MySQL, JavaScript, XML

Posted 24/01/2009, 13:20

Primeiramente, eu sugiro que você utilize uma tabela só ;) Se as duas tabelas tem a mesma informação, escolha a mais completa e ignore a outra!

Também notei que o nome da primeira tabela, vem de uma variável, $tb3, enquanto o nome da segunda tabela é manualmente inserido na consulta, "cadastrados". Essa tabela existe no banco de dados? Tente fazer algo assim:

$sql2 = mysql_query("INSERT INTO cadastrados (nome, apelido, email, senha) VALUES ('$nome','$apelido','$email','$senha')") or die(mysql_error());

Alexandre Gomes Gaigalas
http://alexandre.gaigalas.net




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq