vebersol 0 Denunciar post Postado Setembro 13, 2007 Desenvolvi um sistema para realizar consultas com vários ids pelo mysql. O algoritmo que eu desenvolvi estava funcionando corretamente no meu servidor local. Quando mandei pra locaweb deu um erro estranho. o código é esse: $array_cidades = $_POST['cidades']; $ncidades = count($array_cidades) - 1; for($j = 0; $j <= $ncidades; $j++) { if($j == $ncidades) { $cidades .= $array_cidades[$j]; } else { $cidades .= $array_cidades[$j].","; } } $_POST['cidades'] retorna um array de checkbox's com diversos números, que ao passados pelo for() ficam assim: 1,2,3,4,5,6 Mas no servidor da locaweb tá retornando assim: Array1,2,3,4,5,6 Vocês sabem porque isso ocorre? Alguma sugestão? Desde já agradecido. Compartilhar este post Link para o post Compartilhar em outros sites
David Ramires 1 Denunciar post Postado Setembro 13, 2007 humm veja o que está vindo nesse Array. PHP print_r(seuArray); Compartilhar este post Link para o post Compartilhar em outros sites
vebersol 0 Denunciar post Postado Setembro 13, 2007 Eu esqueci de comentar que já tinha feito isso... está normal: Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 ) Antes desse código tem o form, que é esse: <form id="filtro" name="filtro" method="post" action=""><hr /> <p><strong><a onclick="SelecionarTudo();" style="cursor:pointer;">Marcar Tudo</a> | <a onclick="DeselecionarTudo();" style="cursor:pointer;">Desmarcar Tudo</a></strong></p> <hr /><fieldset><legend>Selecione as cidades</legend> <div id="cidades"> <input type="checkbox" name="cidades[]" value="1" checked="checked" /> Pelotas<br /><input type="checkbox" name="cidades[]" value="2" checked="checked" /> Rio Grande<br /><input type="checkbox" name="cidades[]" value="3" checked="checked" /> São Lourenço do Sul<br /><input type="checkbox" name="cidades[]" value="4" checked="checked" /> Morro Redondo<br /><input type="checkbox" name="cidades[]" value="5" checked="checked" /> Capão do Leão<br /><input type="checkbox" name="cidades[]" value="6" checked="checked" /> Santa Vitória do Palmar<br /> </div></fieldset><fieldset><legend>Selecione os grupos</legend> <div id="grupos"> <input type="checkbox" name="grupos[]" value="1" checked="checked" onclick="SelecionarSubGrupos('1_Comercio','1', 'modulos/contato/');" /> Comercio<br /><blockquote id="1_Comercio"><input type="checkbox" name="subgrupos[]" value="2" checked="checked" /> Farmácias<br /><input type="checkbox" name="subgrupos[]" value="3" checked="checked" /> Academias<br /></blockquote><input type="checkbox" name="grupos[]" value="2" checked="checked" onclick="SelecionarSubGrupos('2_Clínicas','2', 'modulos/contato/');" /> Clínicas<br /><blockquote id="2_Clínicas"><input type="checkbox" name="subgrupos[]" value="4" checked="checked" /> Coração<br /><input type="checkbox" name="subgrupos[]" value="5" checked="checked" /> Pediatria<br /></blockquote> </div> <p><input type="submit" name="submit" value="Enviar" /></p></fieldset></form> Compartilhar este post Link para o post Compartilhar em outros sites
SlyX 0 Denunciar post Postado Setembro 13, 2007 tenta assim: PHP $array_cidades = $_POST['cidades'];$ncidades = count($array_cidades) - 1; for($j = 0; $j < (sizeof($array_cidades)); $j++) { if($j == $ncidades) { $cidades .= $array_cidades[$j]; } else { $cidades .= $array_cidades[$j].","; } } ps: da echo no for, e no if, para ver se ele ta entrnado certo. Compartilhar este post Link para o post Compartilhar em outros sites
vebersol 0 Denunciar post Postado Setembro 14, 2007 Caro SlyX, Finalmente resolvi o problema. É incrível que algumas horas sem pensar no problema me fazem resolvê-lo na hora. O problema está na configuração do servidor. Eu não costumo trabalhar com uma opção que vem no php.ini que transforma uma string automaticamente em $_GET ou $_POST. O que estava acontecendo é que $cidades estava referindo-se a $_POST['cidades'], e quando o elemento 0 ($cidades[0]) era chamado no for, aparecia o array do $_POST. Estranho não. Pois deveria sobrescrever... Mas enfim, mudei os nomes das strings e deu tudo certo. Ficou assim: $array_cidades = $_POST['cidades']; $ncidades = count($array_cidades) - 1; for($j = 0; $j <= $ncidades; $j++) { if($j == $ncidades) { $nmcidades .= $array_cidades[$j]; } else { $nmcidades .= $array_cidades[$j].","; } } Portanto, agradeço a tua ajuda. Sempre que precisar dá um toque aí. Abraço!! Compartilhar este post Link para o post Compartilhar em outros sites