felipeatto Postado Maio 19, 2004 Denunciar Share Postado Maio 19, 2004 Dae galera beleza??entaum...pra eu salvar os dados no banco eu fiz um if antes das conexões no arquivo .php, só q ele dá um erro como se existissem campos em branco mesmo que todos estejam preenchidos !!....dêem uma olhadinha no código aí !...<?phpif ($tipo == "" || $part == "" || $numero == ""){echo"<table border=1 align=center bordercolor=red><tr><td><center><font size=\"5\" color=\"#FF0000\">"; echo"O Cadastro Possúi Campo(s) Em Branco!</font></center></td></tr>"; echo"<tr><td><a href=\"javascript:history.go(-1)\"><center><b><font color=red>VOLTAR</font></b></center></td></tr></table>"; return 0;}//aqui chama a pagina que esta a configuração conexaoinclude "conecta.php";include "valida_data.php";//$valida_numero = mysql_query("select * from tabelateste where numero='$numero'");//if(mysql_num_rows($valida_numero) == 1){//echo"<table border=1 align=center bordercolor=red><tr><td><center><font size=\"5\" color=\"#FF0000\">";// echo"O Número De Série Cadastrado Já Existe!!!</font></center></td></tr>";// echo"<tr><td><a href=\"javascript:history.go(-1)\"><center><b><font color=red>VOLTAR</font></b></center></td></tr></table>";// return 0;}// essa função pega os campos do form e cria a variavel com o mesmo nomeforeach ($_POST as $campo => $valor) { $$campo = $valor; }if (!validar($dia, $mes, $ano)){echo "<center><font color=red>Data Inválida : $dia/$mes/$ano </font></center><br> <a href=\"javascript:history.go(-1)\"><center>Voltar</center></a>";exit();}$entrada = "$ano-$mes-$dia";// ele vai pegar a data e deixar assim 0000-00-00mysql_query("INSERT INTO tabelateste VALUES ('$tipo', '$part', '$central','$numero', '$entrada', '$fornecedor', '$notaf', '$prateleira', '$obs')");if (mysql_query){echo "<table border=1 align=center><tr><td><center><font size=\"5\" color=\"#000000\"> Cadastro Executado Com Sucesso!!!</font></center></td></tr>";echo "<tr><td><a href=\"cefcadplacas.php\"> <center><b><font color=\"#000000\">Novo Cadastro</font></b></center></a></td></tr></table>";}?>Vlw!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 §tRuTe® Postado Maio 19, 2004 Denunciar Share Postado Maio 19, 2004 tenta ao em vez de $campo=="" , coloca um if(empty($campo)...........){}falow!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dmetallica Postado Maio 19, 2004 Denunciar Share Postado Maio 19, 2004 ou tente a função isnull();fallou..... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 felipeatto Postado Maio 20, 2004 Autor Denunciar Share Postado Maio 20, 2004 usei a empty e habilitei a register globals...deu certo....valeu !!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fabyo Postado Maio 20, 2004 Denunciar Share Postado Maio 20, 2004 Melhor ainda seria você deixar o register globals em off mesmo e arrumar os detalhes no seu scriptRegisters Globals Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 felipeatto Postado Maio 20, 2004 Autor Denunciar Share Postado Maio 20, 2004 cara eu não entendi direito porque o meu register globals tem q estar em off e daí eu não consigo fazer funcionar como eu quero o meu código ! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fabyo Postado Maio 20, 2004 Denunciar Share Postado Maio 20, 2004 Le la no site do php que eu te passei o link la no começo já explica porque usar em offnão tem segredo manual do php:Quando on, register_globals injetará (veneno) em seus scripts todos os tipos de variáveis, como variáveis request de formulários HTML. Isto junta-se com o fato do PHP não exigir inicialização de variáveis siginifica que escrever códigos inseguros é muito mais fácil. Não foi uma decisão difícil, mas a comunidade PHP decidiu, por definição, desabilitar esta diretiva. Quando on, as pessoas usavam variáveis ainda sem saber realmente, com certeza, de onde elas vinham e podiam apenas supor. Variáveis internas que estão definidas no próprio script conseguem se misturar com dados requisitados enviados pelos usuários e desabilitando register_globals muda isto. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 felipeatto Postado Maio 20, 2004 Autor Denunciar Share Postado Maio 20, 2004 bom vamos discutir isso então..a register globals deixa o código mais protegido, porém não executa todas as variáveis????...e como eu faço para executar akelas que eu preciso....da maneira que eu preciso????... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fabyo Postado Maio 20, 2004 Denunciar Share Postado Maio 20, 2004 Enviando os dados e recebendo exemplo você enviou um campo nome e senha de um formulariona outra pagina você recebe assim:$nome = $_POST['nome'];$senha = $_POSt['senha'];se você enviar pelo metodo GET só mudar$_GETvocê pode usar essa função também :foreach ($_POST as $campo => $valor) { $$campo = $valor; }ela vai pegar todos os campos e criar a variavel com o nome do campono seu caso do seu 1 post acima:<?php$tipo = $_POST['tipo];$part = $_POST['part'];$numero = $_POST['numero']; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 felipeatto Postado Maio 20, 2004 Autor Denunciar Share Postado Maio 20, 2004 mas daí eu tiro o foreach??/ Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fabyo Postado Maio 21, 2004 Denunciar Share Postado Maio 21, 2004 nãovocê pode usar $tipo = $_POST['tipo'];ou o foreachmas o foreach é bem util quando você tem varios campos dai em vez de ficar digitando :$campo1 = $_POST['campo1'];...$campo10 = $_POSt['campo10'];você usa o foreach muito mais rapido e pratico pra você beleza cara? Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
felipeatto
Dae galera beleza??
entaum...pra eu salvar os dados no banco eu fiz um if antes das conexões no arquivo .php, só q ele dá um erro como se existissem campos em branco mesmo que todos estejam preenchidos !!....dêem uma olhadinha no código aí !...
<?php
if ($tipo == "" || $part == "" || $numero == ""){
echo"<table border=1 align=center bordercolor=red><tr><td><center><font size=\"5\" color=\"#FF0000\">";
echo"O Cadastro Possúi Campo(s) Em Branco!</font></center></td></tr>";
echo"<tr><td><a href=\"javascript:history.go(-1)\"><center><b><font color=red>VOLTAR</font></b></center></td></tr></table>";
return 0;}
//aqui chama a pagina que esta a configuração conexao
include "conecta.php";
include "valida_data.php";
//$valida_numero = mysql_query("select * from tabelateste where numero='$numero'");
//if(mysql_num_rows($valida_numero) == 1){
//echo"<table border=1 align=center bordercolor=red><tr><td><center><font size=\"5\" color=\"#FF0000\">";
// echo"O Número De Série Cadastrado Já Existe!!!</font></center></td></tr>";
// echo"<tr><td><a href=\"javascript:history.go(-1)\"><center><b><font color=red>VOLTAR</font></b></center></td></tr></table>";
// return 0;}
// essa função pega os campos do form e cria a variavel com o mesmo nome
foreach ($_POST as $campo => $valor) { $$campo = $valor; }
if (!validar($dia, $mes, $ano)){
echo "<center><font color=red>Data Inválida : $dia/$mes/$ano </font></center><br>
<a href=\"javascript:history.go(-1)\"><center>Voltar</center></a>";
exit();
}
$entrada = "$ano-$mes-$dia";// ele vai pegar a data e deixar assim 0000-00-00
mysql_query("INSERT INTO tabelateste VALUES ('$tipo', '$part', '$central',
'$numero', '$entrada', '$fornecedor', '$notaf', '$prateleira', '$obs')");
if (mysql_query){
echo "<table border=1 align=center><tr><td><center><font size=\"5\" color=\"#000000\">
Cadastro Executado Com Sucesso!!!</font></center></td></tr>";
echo "<tr><td><a href=\"cefcadplacas.php\">
<center><b><font color=\"#000000\">Novo Cadastro</font></b></center></a></td></tr></table>";}
?>
Vlw!!!
Link para o comentário
Compartilhar em outros sites
10 respostass a esta questão
Posts Recomendados
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.