..:: MX Studio Fóruns ::..: Form de cadastro não funciona corretamente - ..:: MX Studio Fóruns ::..

Jump to content

Publicidade




ATENÇÃO

Para evitar posts desnecessários e que não influam para o andamento e desenvolvimento do fórum, clique aqui e leia todas as regras.
Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Form de cadastro não funciona corretamente

#1 User is offline   lslucas 

  • Group: Membros
  • Posts: 63
  • Joined: 22-January 05

  Posted 21 January 2006 - 03:56 PM

Ae pessoal, tenho um form de cadastro que não funciona como eu queria... Pra cadastrar ele cadastra e volta a mesma pagina de cadastra com uma mensagem que diz q foi cadastrado com sucesso mas se apertar F5 ele vai cadastrar a mesma coisa.

Acho que é um problema no extract($_POST); deem uma olhada:

PHP
<?php
// Início do Cadastra Categorias

// Conecta no BD
$con mysql_connect("localhost","root","");
$db mysql_select_db('game_over',$con);

// Pega as variaveis do form
extract($_POST);

// Grava no BD
$sql "INSERT INTO conteudo VALUES ( '', '$titulo', '$descricao' ,'$ativo' )";
$acao mysql_query($sql ,$con);

if (
$acao == 1){
echo 
"<center><table width=\"80%&#092;"><tr bordercolor=\"#CCCCCC\" bgcolor=\"#EBF5FA\" border=\"1\"><td width=\"100%\" border=\"1\"><center>Categoria adicionada com sucesso!!</center></td></tr></table></center><p>";
} else {
echo 
"<b>Ocorreu o seguinte erro:</b><p>".mysql_error();
}
echo 
"<form method=\"post&#092;" name=\"cad_categoria\" action=\"\">";
mysql_close $con );
// Fim do Cadastra categorias
?>       


Aguardo respostas...

Obrigado, Lucas smartass.gif
0

#2 User is offline   diki 

  • Group: Membros
  • Posts: 8
  • Joined: 18-January 06

Posted 22 January 2006 - 08:07 AM

ai pronto eh isso que vc queh ??? dei minha dica ai vc ve si gostou ou naum qual quer coisa eh soh mi avisar !!!!

PHP


<?php
// Início do Cadastra Categorias

// Conecta no BD
$con mysql_connect("localhost","root","");
$db mysql_select_db('conteudo',$con);

// Pega as variaveis do form
$titulo = @$_POST['titulo'];
$descricao = @$_POST['descricao'];
$ativo = @$_POST['ativo'];
/* Da um recordeset para ver si ja naum foi adicionado a mesma categoria com as mesma descrição */
$result sprintf("SELECT * FROM conteudo WHERE descricao = '$descricao' AND titulo = '$titulo' AND ativo = '$ativo'");
$set1 mysql_query($result$con) or die(mysql_error());
$tl_set1 mysql_fetch_assoc($set1);
$total mysql_num_rows($set1);
/* pega o resultado e ve si eh maior que 0*/
if($total 0){
/* si for maior que 0 ele diz que a categoria já foi adicionada */
echo '<center><table width=\"80%\"><tr bordercolor=\"#CCCCCC\" bgcolor=\"#EBF5FA\" border=\"1\"><td width=\"100%\" border=\"1\"><center>Desculpe mais a categoria já foi adicionada!!</center></td></tr></table></center><p>';
mysql_close $con );
/* o exit(); é para imforma que acaba aqui si ouver uma categoia igualzinha a que taum querendo adiciona */
exit();
}else{
/* si naum existir essa categoria ele inseri ela */
// Grava no BD
$sql "INSERT INTO conteudo (titulo, descricao, ativo) VALUES ('$titulo', '$descricao' ,'$ativo' )";
$acao mysql_query($sql ,$con);

if (
$acao == 1){
echo 
'<center><table width=\"80%\"><tr bordercolor=\"#CCCCCC\" bgcolor=\"#EBF5FA\" border=\"1\"><td width=\"100%\" border=\"1\"><center>Categoria adicionada com sucesso!!</center></td></tr></table></center><p>';
} else {
echo 
"<b>Ocorreu o seguinte erro:</b><p>".mysql_error();
}
echo 
'<form method=\"post\" name=\"cad_categoria\" action=\"\">';
mysql_close $con );
// Fim do Cadastra categorias
exit();
}
/* facil nu eh?? !! agora é só estudar */
?>


0

#3 User is offline   hufersil 

  • Group: Moderadores
  • Posts: 1266
  • Joined: 15-January 04

Posted 22 January 2006 - 09:58 AM

Seria mais fácil vc colocar depois do insert:

PHP

<?php
header
("Location: "$_SERVER['PHP_SELF']);
exit;

?>



Assim ele vai para a mesma página, porém se o cara apertar F5 não vai enviar o form novamente.

@braços e fique com Deus!
0

#4 User is offline   lslucas 

  • Group: Membros
  • Posts: 63
  • Joined: 22-January 05

Posted 22 January 2006 - 03:11 PM

Muito obrigado pelas respostas, acredito que as duas vão ser de muita utilidade para mim, assim possa analisar e ver qual delas pode servir dependendo de cada script.

Muito obrigado, Lucas smartass.gif
0

#5 User is offline   lslucas 

  • Group: Membros
  • Posts: 63
  • Joined: 22-January 05

Posted 22 January 2006 - 03:45 PM

Testei os dois e o que funcionou melhor foi o exemplo que o diKi me mostrou agora eu tenho uma dúvida.

Quando o user da um refresh o form cadastra em branco, se ele der o refresh novamente o script diz que já está cadastrado, agora eu queria saber: Como impedir que o script cadastre campos em brancos no bd?

E outra coisa unsure.gif (já to ficando chato ñ tongue.gif), qria saber como Ñ mostrar mensagens de "Categoria cadastrada" ou "Categoria já existe" para que não confunda o user, ou seja, só mostrar essas mensagens após clicar em cadastrar.

Bom é isso aí, aguardo respostas...


Obrigado, Lucas smartass.gif
0

#6 User is offline   diki 

  • Group: Membros
  • Posts: 8
  • Joined: 18-January 06

Posted 22 January 2006 - 05:41 PM

QUOTE(lslucas @ 22/1/2006 14:01:58)
Testei os dois e o que funcionou melhor foi o exemplo que o diKi me mostrou agora eu tenho uma dúvida.

Quando o user da um refresh o form cadastra em branco, se ele der o refresh novamente o script diz que já está cadastrado, agora eu queria saber: Como impedir que o script cadastre campos em brancos no bd?

E outra coisa  unsure.gif  (já to ficando chato ñ  tongue.gif), qria saber como Ñ mostrar mensagens de "Categoria cadastrada" ou "Categoria já existe" para que não confunda o user, ou seja, só mostrar essas mensagens após clicar em cadastrar.

Bom é isso aí, aguardo respostas...


Obrigado, Lucas  smartass.gif
View Post


1-Como assim explica melhor que eu naum estou intendendo direito o exemplo que ti mandei quando o usuario da um reflash ele naum cadastra novamente mais cadastra campos sem nada????

2-Ou vc quer que quando o usuario preencha por exemplo soh dois campos e deicha 1 sem nada ai vc queh que de uma menssagem que ele naum pode dechar nada em branco????

qual das duas vc que saber a numero 1 ou a 2 ???
0

#7 User is offline   lslucas 

  • Group: Membros
  • Posts: 63
  • Joined: 22-January 05

Posted 29 January 2006 - 08:26 PM

QUOTE
1-Como assim explica melhor que eu naum estou intendendo direito o exemplo que ti mandei quando o usuario da um reflash ele naum cadastra novamente mais cadastra campos sem nada????

2-Ou vc quer que quando o usuario preencha por exemplo soh dois campos e deicha 1 sem nada ai vc queh que de uma menssagem que ele naum pode dechar nada em branco????

qual das duas vc que saber a numero 1 ou a 2 ???
View Post


Acho que vc ñ entendeu, vou tentar explicar melhor...

É assim, agente abre a pagina e ele envia os campos automaticamente e em branco sem agente clicar em submit.

Queria saber uma forma do script saber se os campos estao em branco e ñ deixar enviar ao bd os campos em branco.

Obrigado, Lucas smartass.gif
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic



Publicidade




2 User(s) are reading this topic
0 membro(s), 2 visitante(s) e 0 membros anônimo(s)