Ir para conteúdo
Fórum Script Brasil

Batz

Membros
  • Total de itens

    5
  • Registro em

  • Última visita

Sobre Batz

Batz's Achievements

0

Reputação

  1. E ae pessoal! Preciso que meu sistema leia arquivos xml e insira os dados do arquivos no banco de dados. Já tinha feito algo do tipo antes com o DOM e repeti dessa vez mas o código não funcionou, minha tabela fica lotada de espaços em branco =( o código está assim: $doc = new DOMDocument(); $doc->load( $xml ); $news = $doc->getElementsByTagName( "produto" ); foreach( $news as $new ) { $i = 0; $mm = ""; $act = ""; $crom = ""; $ant = ""; $epox = ""; $sa = ""; $lp = ""; $rows = $new->getElementsByTagName( "desc_produto" ); foreach( $rows as $row ){ $nomes = $row->getElementsByTagName( "prod" ); $nome .= $nomes->item(0)->nodeValue; $dets = $row->getElementsByTagName( "det" ); $det .= $dets->item(0)->nodeValue; $mms = $row->getElementsByTagName( "mm" ); $mm[$i] = $mms->item(0)->nodeValue; $acts = $row->getElementsByTagName( "act" ); $act[$i] = $acts->item(0)->nodeValue; $croms = $row->getElementsByTagName( "crom" ); $crom[$i] = $croms->item(0)->nodeValue; $ants = $row->getElementsByTagName( "ant" ); $ant[$i] = $ants->item(0)->nodeValue; $epoxs = $row->getElementsByTagName( "epox" ); $epox[$i] = $epoxs->item(0)->nodeValue; $sas = $row->getElementsByTagName( "sa" ); $sa[$i] = $sas->item(0)->nodeValue; $lps = $row->getElementsByTagName( "lp" ); $lp[$i] = $lps->item(0)->nodeValue; $i++; } $imgs = $new->getElementsByTagName( "img" ); $img = $imgs->item(0)->nodeValue; $prd1 = $new->getElementsByTagName( "prod1" ); $prod1 = $prd1->item(0)->nodeValue; $prd2 = $new->getElementsByTagName( "prod2" ); $prod2 = $prd2->item(0)->nodeValue; $prd3 = $new->getElementsByTagName( "prod3" ); $prod3 = $prd3->item(0)->nodeValue; $prd4 = $new->getElementsByTagName( "prod4" ); $prod4 = $prd4->item(0)->nodeValue; $prd5 = $new->getElementsByTagName( "prod5" ); $prod5 = $prd5->item(0)->nodeValue; $prd6 = $new->getElementsByTagName( "prod6" ); $prod6 = $prd6->item(0)->nodeValue; $prd7 = $new->getElementsByTagName( "prod7" ); $prod7 = $prd7->item(0)->nodeValue; $prd8 = $new->getElementsByTagName( "prod8" ); $prod8 = $prd8->item(0)->nodeValue; $prd9 = $new->getElementsByTagName( "prod9" ); $prod9 = $prd9->item(0)->nodeValue; $prd10 = $new->getElementsByTagName( "prod10" ); $prod10 = $prd10->item(0)->nodeValue; $prd11 = $new->getElementsByTagName( "prod11" ); $prod11 = $prd11->item(0)->nodeValue; $prd12 = $new->getElementsByTagName( "prod12" ); $prod12 = $prd12->item(0)->nodeValue; $prd13 = $new->getElementsByTagName( "prod13" ); $prod13 = $prd13->item(0)->nodeValue; $selist = $new->getElementsByTagName( "sels" ); $sels = $selist->item(0)->nodeValue; $mm = serialize($mm); $act = serialize($act); $crom = serialize($crom); $ant = serialize($ant); $epox = serialize($epox); $sa = serialize($sa); $lp = serialize($lp); if($prod1 == ""){$prod1='act';} if($prod2 == ""){$prod2='crom';} if($prod3 == ""){$prod3='ant';} if($prod4 == ""){$prod4='cract';} if($prod5 == ""){$prod5='crbco';} if($prod6 == ""){$prod6='crpto';} if($prod7 == ""){$prod7='sa';} if($prod8 == ""){$prod8='epx';} if($prod9 == ""){$prod9='lp';} if($prod10 == ""){$prod10='lact';} if($prod11 == ""){$prod11='lant';} if($prod12 == ""){$prod12='lcr';} if($prod13 == ""){$prod13='lcra';} $sql = mysql_query("INSERT INTO $tab(prod,det,mm,act,crom,ant,epx,sa,lp,img,prod1,prod2,prod3,prod4,prod5,prod6,prod7,prod8,prod9,prod10,prod11,prod12,prod13) VALUES ('$nome','$det','$mm','$act','$crom','$ant','$epox','$sa','$lp','$img', '$prod1', '$prod2', '$prod3', '$prod4', '$prod5', '$prod6', '$prod7', '$prod8', '$prod9', '$prod10', '$prod11', '$prod12', '$prod13')"); $no++; } echo "<font color='#FFFFFF'>Importação realizada com sucesso! $no cadastros foram realizados!</font>"; o echo está retornando a inclusão de 159 cadastros (o xml tem 159 produtos) e o banco de dados recebe os 159 cadastros mas os campos prod(nome),det(detalhe) estão vazios e a array dos campos mm até lp estão com valores em branco também =( SOMEBODY HELP ME!
  2. Batz

    (Resolvido) Problemas com ifs

    Mais uma vez valeu ae a atenção blew, mas eu consegui arrumar sozinho o negocio (nada como uma boa noite de sono!) o código acabou ficando assim: <?php include 'config.php'; //INCLUIR A CONEXAO include 'mysqlexecuta.php'; //EXECUTA O SCRIPT DE SEGURANCA $con = conectar(); $aa_log = $_POST["aa_log"]; $aa_psw = $_POST["aa_psw"]; $aa_psw2 = $_POST["aa_psw2"]; $aa_remb = $_POST["aa_remb"]; $aa_cod = $_POST["aa_cod"]; mysql_select_db('job'); $aa_sql = "SELECT login FROM handjob WHERE login = '$aa_log'"; $aa_chk = mysqlexecuta($con,$aa_sql); if ($aa_cod == "azarath"){ if (!(mysql_num_rows($aa_chk)==1)){ if ($aa_psw == $aa_psw2){ $sql = "INSERT INTO handjob (login, senha, lembrete) Values('$aa_log','$aa_psw','$aa_remb')"; $res = mysqlexecuta($con,$sql); ?> <tr><td><p align='center' class='b4_lala'><?php echo "O Usuário $aa_log foi cadastrado com sucesso!";?></p></td></tr><?php ?><tr><td> <p align='center' class='b4_lala2'><a href='aa.html'>Fazer Login</a></td></tr><?php } else { ?> <tr><td> <p align='center' class='b4_lala'><?php echo "Sua senha e confirmação de senha estão com valores diferentes!"; ?></p> </td></tr><?php ?><tr><td><p align='center' class='b4_lala2'><a href='aa_new.html'>Voltar ao Cadastro</a></td></tr><?php } } else { ?> <tr><td><p align='center' class='b4_lala'><?php echo "O Usuário $aa_log já existe, escolha outro nome!";?></p></td></tr><?php ?><tr><td><p align='center' class='b4_lala2'><a href='aa_new.html'>Voltar ao Cadastro</a></td></tr><?php } } else { ?><tr><td><p align='center' class='b4_lala'><?php echo "O código chave que você inseriu está incorreto!";?></p></td></tr><?php ?><tr><td><p align='center' class='b4_lala2'><a href='index.html'>Voltar ao Home</a></td></tr><?php } ?> Eu apenas mudei uma coisa ou outra de lugar e pronto! Funcionou!
  3. Batz

    (Resolvido) Problemas com ifs

    Sim eu ecoei :) , uma das vantagens da linguagem php é essa, quando você abre ela denovo ela continua deonde parou, porisso eu fiquei abrindo e fechando o php. E antes de fazer desse jeito eu tentei fazer todos os comandos dentro do echo mas o problema que dava era maior ainda, me parece que o echo não reconhece os comando de table ou sei lá, só sei que quando eu tentei por tudo no echo ele acabou ecoando trechos do código, ai eu mostrei pra um amigo meu e ele disse pra fazer a parte do html separada da do php e depois que eu fiz separado o negocio ficou menos feio. O mysqlexecuta é isso aki: <?php /* $id - Ponteiro da Conexão $sql - Cláusula SQL a executar $erro - Especifica se a função exibe ou não(0=não, 1=sim) $res - Resposta */ function mysqlexecuta($id,$sql,$erro = 1) { if(empty($sql) OR !($id)) return 0; //Erro na conexão ou no comando SQL if (!($res = @mysql_query($sql,$id))) { if($erro) echo "Ocorreu um erro na execução do Comando SQL no banco de dados. Favor Contactar o Administrador."; exit; } return $res; } ?> Esse arquivo eu copiei do que meu professor passou no meu curso técnico, serve para fazer conexão com banco de dados e executar comandos sql. Está em um arquivo separado apenas para organização e para evitar repetições. :) Adivinhe! Sim eu já tentei dessa forma, dei uma lida em alguns manuais de sql e vi que ambas as formas estão corretas Afinal ele fará o seguinte: ele verá $aa_cod não é igual a "azarath" e retornará false mas como antes do parenteses temos um ! o boolean será invertido retonado true da mesma forma que se ele checasse se $aa_cod é diferente de "azarath" ele iria retornar true Obrigado pela atenção! :)
  4. Batz

    (Resolvido) Problemas com ifs

    Ea blew! Bem você disse sobre eu usar varios ifs e pah, eu usei uma sequencia de if dentro de if e pra cada if existe um else, ou seja criei uma sequencia de condições e pra cada condição não cumprida existe uma mensagem de erro diferente Mas como sou um novato, não custa nada testar né? Vai que funciona... então tranformei aquele código nesse: <?php mysql_select_db('job'); $con = conectar(); $aa_log = $_POST["aa_log"]; $aa_psw = $_POST["aa_psw"]; $aa_psw2 = $_POST["aa_psw2"]; $aa_remb = $_POST["aa_remb"]; $aa_cod = $_POST["aa_cod"]; $aa_sql = "SELECT login FROM handjob"; $aa_chk = mysqlexecuta($con,$aa_sql); include 'config.php'; //INCLUIR A CONEXAO include 'mysqlexecuta.php'; //EXECUTA O SCRIPT DE SEGURANCA if (!($aa_cod == "azarath")){ echo ?><tr><td><p align='center' class='b4_lala'><?php "O código chave que você inseriu está incorreto!"?></p></td></tr><?php; ?><tr><td><p align='center' class='b4_lala2'><a href='index.html'>Voltar ao Home</a></td></tr><?php } elseif ($aa_log == $aa_chk){ echo ?> <tr><td><p align='center' class='b4_lala'><?php "O Usuário ".$aa_log." já existe, escolha outro nome!"?></p></td></tr> <?php; ?><tr><td><p align='center' class='b4_lala2'><a href='aa_new.html'>Voltar ao Cadastro</a></td></tr><?php } elseif (!($aa_psw == $aa_psw2)){ echo ?> <tr><td> <p align='center' class='b4_lala'><?php "Sua senha e confirmação de senha estão com valores diferentes!" ?></p> </td></tr><?php; ?><tr><td><p align='center' class='b4_lala2'><a href='aa_new.html'>Voltar ao Cadastro</a></td></tr><?php } else { $sql = "INSERT INTO handjob (login, senha, lembrete) Values('$aa_log','$aa_psw','$aa_remb')"; $res = mysqlexecuta($con,$sql); echo ?> <tr><td><p align='center' class='b4_lala'><?php "O Usuário ".$aa_log." foi cadastrado com sucesso!"?></p></td></tr><?php; ?><tr><td> <p align='center' class='b4_lala2'><a href='aa.html'>Fazer Login</a></td></tr><?php } ?> Então quando eu rodei... TADAAA! Aconteceu a mesma coisa que antes.... Mas valeu pela atenção....
  5. Ae pessoal! To começando mexer com php, to fazendo um sitezinho pra testar ai eu comecei a fazer cadastro de usuários e coloquei alguns ifs para que mensagens de erro apareçam quando alguns parâmetros não sejam cumpridos. O código php ficou assim: (vish ia por o código dentro dum spoiler pra organizar um pouco o tópico mas deu um erro 404, kkkkk) <?php mysql_select_db('job'); $con = conectar(); $aa_log = $_POST["aa_log"]; $aa_psw = $_POST["aa_psw"]; $aa_psw2 = $_POST["aa_psw2"]; $aa_remb = $_POST["aa_remb"]; $aa_cod = $_POST["aa_cod"]; $aa_sql = "SELECT login FROM handjob"; $aa_chk = mysqlexecuta($con,$aa_sql); include 'config.php'; //INCLUIR A CONEXAO include 'mysqlexecuta.php'; //EXECUTA O SCRIPT DE SEGURANCA if ($aa_cod == "azarath"){ if (!($aa_log == $aa_chk)){ if ($aa_psw == $aa_psw2){ $sql = "INSERT INTO handjob (login, senha, lembrete) Values('$aa_log','$aa_psw','$aa_remb')"; $res = mysqlexecuta($con,$sql); echo ?> <tr><td><p align='center' class='b4_lala'><?php "O Usuário ".$aa_log." foi cadastrado com sucesso!"?></p></td></tr><?php; ?><tr><td> <p align='center' class='b4_lala2'><a href='aa.html'>Fazer Login</a></td></tr><?php } else { echo ?> <tr><td> <p align='center' class='b4_lala'><?php "Sua senha e confirmação de senha estão com valores diferentes!" ?></p> </td></tr><?php; ?><tr><td><p align='center' class='b4_lala2'><a href='aa_new.html'>Voltar ao Cadastro</a></td></tr><?php } } else { echo ?> <tr><td><p align='center' class='b4_lala'><?php "O Usuário ".$aa_log." já existe, escolha outro nome!"?></p></td></tr><?php; ?><tr><td><p align='center' class='b4_lala2'><a href='aa_new.html'>Voltar ao Cadastro</a></td></tr><?php } } else { echo ?><tr><td><p align='center' class='b4_lala'><?php "O código chave que você inseriu está incorreto!"?></p></td></tr><?php; ?><tr><td><p align='center' class='b4_lala2'><a href='index.html'>Voltar ao Home</a></td></tr><?php } ?> Quando eu rodo o site e tento cadastrar alguém, não importa se eu preenchi os campos corretamente ou não, a unica coisa que aparece são os 4 links ( 1 de quando era pra dar certo e os outros 3 que estao no else) e o banco de dados permanece inalterado O que esta errado no codigo (ou apenas os deuses não querem que eu consiga fazer esse negocio, kkkk) ? já to a mais de duas horas mudando sinais de lugar e tentando outras combinações mas ate agr não deu certo =( Se alguém curte eletronica aew ouça: Swedish House Mafia - Greyhound ; )
×
×
  • Criar Novo...