Ir para conteúdo
Fórum Script Brasil

heavymetal

Membros
  • Total de itens

    3
  • Registro em

  • Última visita

Sobre heavymetal

heavymetal's Achievements

0

Reputação

  1. Obrigado por responder, na verdade eu preciso colocar 30 combos na página, 3 em cada set O código que postei funciona legal pra 3 combos, se precisar adicionar mais não dá certo, tentei aumentar o número de combos no array vincular mais combos no process.php, mas não dá certo Eu estou utilizando ele em um form de cadastro, o cliente vai escolher no form o tipo, a marca e o modelo do equipamento, por isso não tem como utilizar apenas três combos, são vários produtos Desculpe se expliquei mal e mais uma vez agradecido.
  2. Olá pessoal, estou com um problema com o ajax. Quero exibir vários sets de informação na página, mas só estou conseguindo um; Tenho um form com combos dependentes Escolhe tipo de produto, lista apenas os tipos de produtos Escolhe marca, mostra as marcas do tipo rscolhido acima Escolhe modelo, mostra os modelos da marca escolhida acima O meu códio funciona bem com um set, ou seja, dá pra escolher um tipo, uma marca e um modelo, porém eu preciso usar vários sets na página, se alguém puder ajudar, dando uma dica de onde mudar o código, fico agradecidoo parte ajax function novoAjax() { /* Cria o objeto AJAX. Esta função é genérica pera qualquer aplicação deste tipo*/ var xmlhttp=false; try { // Cria o objeto AJAX nos navegadores não Internet Explores (Firefox, Opera) xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { // Cria o objeto AJAX nos navegadores Internet Explorer xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } catch(E) { if (!xmlhttp && typeof XMLHttpRequest!='undefined') xmlhttp=new XMLHttpRequest(); } } return xmlhttp; } // Declara os combos que compõem o documento html. Os atributos id devem ser declarados aqui. var listadeCombos=new Array(); listadeCombos[0]="tipo1"; listadeCombos[1]="marca1"; listadeCombos[2]="modelo1"; function buscaremArray(array, dados) { // Retorna o índice da posição onde se encontra o elemento no array ou deixa nulo se não encontra var x=0; while(array[x]) { if(array[x]==dados) return x; x++; } return null; } function carregaConteudo(idComboOrigem) { // Obtém a posição que ocupa o combo que deve ser carregado no array declarado acima var posicaoComboDestino=buscaremArray(listadeCombos, idComboOrigem)+1; // Obtém o combo que o usuário modificou var comboOrigem=document.getElementById(idComboOrigem); // Obtém a opção que o usuário selecionou var opcaoSelecionada=comboOrigem.options[comboOrigem.selectedIndex].value; // Se o usuário escolheu a opção "-- Selecione -- ", não consulta o servidor e coloca nos combos seguintes a mensagem "-- Selecione --" if(opcaoSelecionada==0) { var x=posicaoComboDestino, comboAtual=null; // Busca todos os combos posteriores ao que iniciou o evento onChange e muda o seu estado para disabled while(listadeCombos[x]) { comboAtual=document.getElementById(listadeCombos[x]); comboAtual.length=0; var novaOpcao=document.createElement("option"); novaOpcao.value=0; novaOpcao.innerHTML="-- Selecione --"; comboAtual.appendChild(novaOpcao); comboAtual.disabled=true; x++; } } // Certifica- se de que o combo modificado não é o último da cadeia else if(idComboOrigem!=listadeCombos[listadeCombos.length-1]) { // Obtém o elemento do combo que deve ser carregado var idSelectDestino=listadeCombos[posicaoComboDestino]; var selectDestino=document.getElementById(idSelectDestino); // Cria o novo objeto AJAX e envia ao servidor o id do combo a ser carregado e a opção selecionada no combo de origem var ajax=novoAjax(); ajax.open("GET", "processo.php?select="+idSelectDestino+"&opcao="+opcaoSelecionada, true); ajax.onreadystatechange=function() { if (ajax.readyState==1) { // Elimina a mensagem "-- Selecione --" e coloca em seu lugar a mensagem "Carregando..." selectDestino.length=0; var novaOpcao=document.createElement("option"); novaOpcao.value=0; novaOpcao.innerHTML="Carregando..."; selectDestino.appendChild(novaOpcao); selectDestino.disabled=true; } if (ajax.readyState==4) { selectDestino.parentNode.innerHTML=ajax.responseText; } } ajax.send(null); } } parte.php <?php // Array que vincula o id dos combos declarados no html com o nome da tabela onde se encontra o seu conteúdo $listaCombos=array( "tipo1"=>"tipos", "marca1"=>"marcas", "modelo1"=>"modelos", ); function validaCombo($comboDestino) { // Só valida se o combo enviado via GET existir global $listaCombos; if(isset($listaCombos[$comboDestino])) return true; else return false; } function validaOpcao($opcaoSelecionada) { // Só valida se a opção selecionada pelo usuário no combo tiver um valor numérico if(is_numeric($opcaoSelecionada)) return true; else return false; } $comboDestino=$_GET["select"]; $opcaoSelecionada=$_GET["opcao"]; if(validaCombo($comboDestino) && validaOpcao($opcaoSelecionada)) { $tabela=$listaCombos[$comboDestino]; include 'conexion.php'; conectar(); $consulta=mysql_query("SELECT id, opcao FROM $tabela WHERE relacao='$opcaoSelecionada'") or die(mysql_error()); desconectar(); // exibe o combo echo "<select name='".$comboDestino."' id='".$comboDestino."' onChange='carregaConteudo(this.id)'>"; echo "<option value='0'>-- Selecione --</option>"; while($registro=mysql_fetch_row($consulta)) { // Converte caracteres conflitantes para suas respectivas entidades html para uma visualização correta $registro[1]=htmlentities($registro[1]); // exibe as opções do combo echo "<option value='".$registro[0]."'>".$registro[1]."</option>"; } echo "</select>"; } ?> parte php no formulário <p> <label for="tipo1">*Tipo:</label> <?php function montaCombo1() { @include ("config.php"); $conexao = @mysql_connect($servidor, $usuario_bd, $senha_bd) or die(mysql_error()); $bd = @mysql_select_db($banco, $conexao); $consulta=mysql_query("SELECT id, tipo FROM tipos"); echo "<select id='tipo1' name='tipo1' size='1' tabindex='17' onChange='carregaConteudo(this.id)'>"; echo "<option value='0'>-- Selecione --</option>"; while($registro=mysql_fetch_row($consulta)) { echo "<option value='".$registro[0]."'>".$registro[1]."</option>"; } echo "</select>"; } montaCombo1(); ?> <label for="marca1">*Marca:</label><span> <select id="marca1" name="marca1" size="1" tabindex="18" disabled="disabled"> <option value="0">-- Selecione --</option> </select></span> <label for="modelo1">*Modelo:</label><span> <select id="modelo1" name="modelo1" size="1" tabindex="19" disabled="disabled"> <option value="0">-- Selecione --</option> </select></span> </p> Desde já agradecido!!!
  3. heavymetal

    Onde Está O Erro?

    É o seguinte galera, estou adaptando um script, e nesse processo, apareceu um problema que está me quebrando a cabeça. A página realiza diversas funções, e após realizar a função quero que ele exiba uma mensagem na tela. O problema é que exibe a mensagem certa de uma função, mas também exibe as mensagens de outras funções. Vou postar os 2 códigos para ver se alguém encontra o erro: oroginal: <?php //prevents caching header("Expires: Sat, 01 Jan 2000 00:00:00 GMT"); header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); header("Cache-Control: post-check=0, pre-check=0",false); session_cache_limiter(); session_start(); include ('../config.php'); include ('../funcoes.php'); //make connection to dbase $conexao = @mysql_connect($servidor, $usuario_bd, $senha_bd) or die(mysql_error()); $bd = @mysql_select_db($banco,$conexao) or die(mysql_error()); if ($_POST[del_user] != "") { $consulta = "SELECT * FROM $tabela WHERE usuario = '$_POST[del_user]'"; $resultado = @mysql_query($consulta, $conexao) or die(mysql_error()); //get the number of rows in the result set $numero = mysql_num_rows($resultado); //set session variables if there is a match if ($numero != 0) { while ($consulta = mysql_fetch_object($resultado)) { $first = $consulta -> nome; $usuario = $consulta -> usuario; $senha = $consulta -> senha; $gr = $consulta -> grupo; $change = $consulta -> alterarsenha; $e_mail = $consulta -> email; $re_direct = $consulta -> redirecionar; $ver_d = $consulta -> verificar; $ultimo_acesso = $consulta -> ultimoacesso; $del_dat = ultimo_acesso(); } $trash_user = "INSERT INTO lixeira (nome, usuario, senha, grupo, alterarsenha, email, redirecionar, verificar, ultimoacesso, dataexclusao)VALUES ('$first', '$usuario', '$senha', '$gr', '$change', '$e_mail', '$re_direct', '$ver_d', '$ultimo_acesso', '$del_dat')"; $del = "DELETE FROM $tabela WHERE usuario = '$_POST[del_user]'"; $resultado = @mysql_query($del,$conexao) or die(mysql_error()); $resultado1 = @mysql_query($trash_user,$conexao) or die(mysql_error()); $msg .= "User $_POST[del_user] has been trashed from the database.<br>"; }else{ $msg .= "User $_POST[del_user] could not be located in the database.<br>"; } $del_banned = "DELETE FROM banidos WHERE acessonegado = '$_POST[del_user]'"; $resultado = @mysql_query($del_banned,$conexao) or die(mysql_error()); } if (($_POST[usuario] != "") && ($_POST[mod_pass] == "Same as Old")) { $consulta = "SELECT * FROM $tabela WHERE usuario = '$_POST[usuario]'"; $resultado = @mysql_query($consulta,$conexao) or die(mysql_error()); while ($consulta = mysql_fetch_object($resultado)) { $senha = $consulta -> senha; $last = $consulta -> ultimoacesso; } $consulta = "DELETE FROM $tabela WHERE usuario = '$_POST[usuario]'"; $resultado = @mysql_query($consulta,$conexao) or die(mysql_error()); $consulta = "INSERT INTO $tabela (nome, usuario, senha, grupo, alterarsenha, email, redirecionar, verificar, ultimoacesso) VALUES ('$_POST[mod_first]', '$_POST[mod_last]', '$_POST[usuario]', '$senha', '$_POST[mod_grupo]', '$_POST[mod_chng]', '$_POST[mod_email]', '$_POST[mod_redirect]', '1', '$last')"; $resultado = @mysql_query($consulta,$conexao) or die(mysql_error()); $msg .= "The information for $_POST[usuario] has been changed updated.<br>"; } if (($_POST[usuario] != "") && ($_POST[mod_pass] != "Same as Old")) { $consulta = "SELECT * FROM $tabela WHERE usuario = '$_POST[usuario]'"; $resultado = @mysql_query($consulta,$conexao) or die(mysql_error()); while ($consulta = mysql_fetch_object($resultado)) { $senha = $consulta -> senha; $last = $consulta -> ultimoacesso; } $consulta = "DELETE FROM $tabela WHERE usuario = '$_POST[usuario]'"; $resultado = @mysql_query($consulta,$conexao) or die(mysql_error()); $consulta = "INSERT INTO $tabela (nome, usuario, senha, grupo alterarsenha, email, redirecionar, verificar, ultimoacesso) VALUES ('$_POST[mod_first]', '$_POST[mod_last]', '$_POST[usuario]', password('$_POST[mod_pass]'), '$_POST[mod_grupo]', '$_POST[mod_chng]', '$_POST[mod_email]', '$_POST[mod_redirect]', '1', '$last')"; $resultado = @mysql_query($consulta,$conexao) or die(mysql_error()); $msg .= "The information for $_POST[usuario] has been changed updated.<br>"; } if ($_POST[ban_user] != "") { $ban = "INSERT INTO banidos (acessonegado, tipo) VALUES ('$_POST[ban_user]', 'user')"; $resultado = @mysql_query($ban,$conexao) or die(mysql_error()); $msg .= "User $_POST[ban_user] has been banned.<br>"; } $ip_addr = "$_POST[oct1].$_POST[oct2].$_POST[oct3].$_POST[oct4]"; if ($ip_addr != "...") { $ban_ip = "INSERT INTO banidos (acessonegado, tipo) VALUES ('$ip_addr', 'ip')"; $resultado = @mysql_query($ban_ip,$conexao) or die(mysql_error()); $msg .= "IP Address $ip_addr has been banned.<br>"; } if ($_POST[lift_user_ban] != "") { $lift_user = "DELETE FROM banidos (acessonegado, tipo) WHERE acessonegado = '$_POST[lift_user_ban]'"; $resultado = @mysql_query($lift_user,$conexao) or die(mysql_error()); $msg .= "The Ban for user $_POST[lift_user_ban] has been lifted.<br>"; } if ($_POST[lift_ip_ban] != "") { $lift_ip = "DELETE FROM banidos (acessonegado, tipo) WHERE acessonegado = '$_POST[lift_ip_ban]'"; $resultado = @mysql_query($lift_ip,$conexao) or die(mysql_error()); $msg .= "The Ban for IP Address $_POST[lift_ip_ban] has been lifted.<br>"; } if ($_POST[restore] != "") { $ruser = "SELECT * FROM lixeira WHERE usuario = '$_POST[restore]'"; $resultado0 = @mysql_query($ruser, $conexao) or die(mysql_error()); //get the number of rows in the result set $numero = mysql_num_rows($resultado0); //set session variables if there is a match if ($numero != 0) { while ($ruser = mysql_fetch_object($resultado0)) { $rfirst = $ruser -> nome; $runame = $ruser -> usuario; $rpass = $ruser -> senha; $rgr = $ruser -> grupo; $rchange = $ruser -> alterarsenha; $re_mail = $ruser -> email; $rre_direct = $ruser -> redirecionar; $rver_d = $ruser -> verificar; $rlast_log = $ruser -> ultimoacesso; } $r_user = "INSERT INTO $tabela (nome, usuario, senha, grupo, alterarsenha, email, redirecionar, verificar, ultimoacesso) VALUES ('$rfirst', '$runame', '$rpass', '$rgr', '$rchange', '$re_mail', '$rre_direct', '$rver_d', '$rlast_log')"; $del = "DELETE FROM lixeira WHERE usuario = '$_POST[restore]'"; $resultado = @mysql_query($del,$conexao) or die(mysql_error()); $resultado1 = @mysql_query($r_user,$conexao) or die(mysql_error()); $msg .= "User $_POST[restore] has been restored.<br>"; }else{ $msg .= "User $_POST[restore] could not be located in the database.<br>"; } } if ($_POST[empt_trash] == "yes") { $empty = "DELETE FROM lixeira"; $gone = @mysql_query($empty, $conexao) or die(mysql_error()); $msg .= "The trash has been emptied.<br>"; } if ($_POST[amt_time] != "" && $_POST[incr_time] != "") { $msg .= "The following accounts were inactive for $amt_time $incr_time or more and have been moved to the trash.<br><br>"; $killtime = "NOW() - INTERVAL $_POST[amt_time] $_POST[incr_time]"; $xfer = "SELECT * FROM $tabela WHERE ultimoacesso < $killtime"; $resultadop1 = @mysql_query($xfer, $conexao) or die(mysql_error()); while ($xfer = mysql_fetch_object($resultadop1)) { $pfirst = $xfer -> nome; $puname = $xfer -> usuario; $ppass = $xfer -> senha; $pgr = $xfer ->grupo; $alterarsenha = $xfer -> alterarsenha; $pe_mail = $xfer -> email; $pre_direct = $xfer -> redirecionar; $pver_d = $xfer -> verificar; $plast_log = $xfer -> ultimoacesso; $pdataexclusao = ultimo_acesso(); $msg .= "$puname<br>"; $xfer2 = "INSERT INTO lixeira (nome, usuario, senha, grupo, alterarsenha, email, redirecionar, verificar, ultimoacesso, dataexclusao) VALUES ('$pfirst', ' $plast', '$puname', '$ppass', '$pgr', '$palterarsenha', '$pe_mail', '$pre_direct', '$pver_d', '$plast_log', '$pdataexclusao')"; $resultadop2 = @mysql_query($xfer2, $conexao) or die(mysql_error()); } $purge = "DELETE FROM $tabela WHERE ultimoacesso < $killtime"; $resultadop3 = @mysql_query($purge, $conexao) or die(mysql_error()); } echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"adminpage.css\">"; echo $msg; if ($_POST[usuario] == $_SESSION[usuario]) { session_destroy(); echo "<html>"; echo "<head>"; echo "<meta http-equiv=\"refresh\" content=\"3; url=../login.html\">"; echo "<title>New Page 2</title>"; echo "</head>"; exit; } ?> <html> <head> <meta http-equiv="refresh" content="3; url=adminpage.php"> <title>Modify User</title> </head> <body> </body> </html> modificado <?php //previne o cache header("Expires: Sat, 01 Jan 2000 00:00:00 GMT"); header("Last-Modified: ".gmdate("D, d M Y H:m:s")." GMT"); header("Cache-Control: post-check=0, pre-check=0", false); session_cache_limiter(); //inicia a sessão session_start(); //inclui o arquivo css echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"../css/administrador.css\" />"; //inclui o arquivo de funções if (file_exists("../config.php")) { include ("../config.php"); } else { echo "<h5 class=\"alinhacentro\">O arquivo de configurações não foi encontrado</h5>"; exit; } //inclui o arquivo de funções if (file_exists("../funcoes.php")) { include("../funcoes.php"); } else { echo "<h5 class=\"alinhacentro\">O arquivo de funções não foi encontrado</h5>"; exit; } if ($page == "") { $page = 1; } if (max_results == "") { $max_results = 5; } //conecta no banco de dados $conexao = @mysql_connect($servidor, $usuario_bd, $senha_bd) or die(mysql_error()); $bd = @mysql_select_db($banco, $conexao) or die(mysql_error()); if ($_POST[deletar_usuario] != "") { $consulta_seleciona = "SELECT * FROM $tabela WHERE usuario = '$_POST[deletar_usuario]'"; $resultado = @mysql_query($consulta_seleciona, $conexao) or die(mysql_error); //retorna o número de linhas do resultado $numero = mysql_num_rows($resultado); //altera as variáveis de sessão se encontrar um resultado if ($numero != 0) { while ($consulta_seleciona = mysql_fetch_object($resultado)) { $d_nome = $consulta_seleciona -> nome; $usuario = $consulta_seleciona -> usuario; $d_senha = $consulta_seleciona -> senha; $d_grupo = $consulta_seleciona -> grupo; $d_alterarsenha = $consulta_seleciona -> alterarsenha; $d_email = $consulta_seleciona -> email; $d_redirecionar = $consulta_seleciona -> redirecionar; $d_verificar = $consulta_seleciona -> verificar; $d_ultimoacesso = $consulta_seleciona -> ultimoacesso; $d_dataexclusao = ultimo_acesso(); } //insere o registro na tabela lixeira $consulta_insere ="INSERT INTO lixeira (nome, usuario, senha, grupo, alterarsenha, email, redirecionar, verificar, ultimoacesso, dataexclusao) VALUES ('$d_nome', '$usuario', '$d_senha', '$d_grupo', '$d_alterarsenha', '$d_email', '$d_redirecionar', '$d_verificar', '$d_ultimoacesso', '$d_dataexclusao')"; //deleta o registro da tebela usuários $consulta_exclui = "DELETE FROM $tabela WHERE usuario = '$_POST[deletar_usuario]'"; $resultado = @mysql_query($consulta_insere, $conexao) or die(mysql_error()); $resultado1 = @mysql_query($consulta_exclui, $conexao) or die(mysql_error()); $mensagem .= "<h5 class=\"alinhacentro\">O usuário $_POST[deletar_usuario] foi deletado do banco de dados</h5>"; } else { $mensagem .= "<h5 class=\"alinhacentro\">O usuário $_POST[deletar_usuario] não foi localizado no banco de dados</h5>"; } //deleta o registro da tabela banidos $consulta_exclui = "DELETE FROM banidos WHERE acessonegado = '$_POST[deletar_usuario]'"; $resultado = @mysql_query($consulta_exclui, $conexao) or die(mysql_error()); } if ($_POST[restaurar_usuario] != "") { $consulta_seleciona = "SELECT * FROM lixeira WHERE usuario = '$_POST[restaurar_usuario]'"; $resultado = @mysql_query($consulta_seleciona, $conexao) or die(mysql_error()); //retorna o número de linhas do resultado $numero = mysql_num_rows($resultado); //altera as variáveis de sessão se encontrar um resultado if ($numero != 0) { while ($consulta_seleciona = mysql_fetch_object($resultado)) { $r_nome = $consulta_seleciona -> nome; $usuario = $consulta_seleciona -> usuario; $r_senha = $consulta_seleciona -> senha; $r_grupo = $consulta_seleciona -> grupo; $r_alterarsenha = $consulta_seleciona -> alterarsenha; $r_email = $consulta_seleciona -> email; $r_redirecionar = $consulta_seleciona -> redirecionar; $r_verificar = $consulta_seleciona -> verificar; $r_ultimoacesso = $consulta_seleciona -> ultimoacesso; } //insere o registro na tabela usuarios $consulta_insere = "INSERT INTO $tabela (nome, usuario, senha, grupo, alterarsenha, email, redirecionar, verificar, ultimoacesso) VALUES ('$r_nome', '$usuario', '$r_senha', '$r_grupo', '$r_alterarsenha', '$r_email', '$r_redirecionar', '$r_verificar', '$r_ultimoacesso')"; //deleta o registro da tabela lixeira $consulta_exclui = "DELETE FROM lixeira WHERE usuario = '$_POST[restaurar_usuario]'"; $resultado = @mysql_query($consulta_insere, $conexao) or die(mysql_error()); $resultado1 = @mysql_query($consulta_exclui, $conexao) or die(mysql_error()); $mensagem .= "<h5 class=\"alinhacentro\">O usuário $_POST[restaurar_usuario] foi restaurado ao banco de dados</h5>"; } else { $mensagem .= "<h5 class=\"alinhacentro\">O Usuário $_POST[restaurar_usuario] não foi localizado no banco de dados</h5>"; } } echo $mensagem; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta http-equiv="refresh" content="5;url=administrador.php" /> <title>Untitled Document</title> </head> <body> </body> </html> Desde já agradecido.
×
×
  • Criar Novo...