BetoPorto 0 Denunciar post Postado Abril 28, 2009 Fala galeera... tranquilo?? Seguinte, fiz um form aqui, quando clico em um botão ele adiciona mais um campo. 1 click = + 1 campo. esses campos seguem ordem numérica, a partir do numero 2 (pq o primeiro campo já tá lá) o problema aparece quando eu envio o form (method=post) aí não adianta eu colocar a variável que deveria se tornar os números em ordem... a variável adiquiri o valor do 2 Ou seja, só o conteudo dos 2 primeiros campos aparecem, o resto não aparece. Já conferi, se eu colocar o numero 3, 4, etc... no lugar da variável, pega o conteudo das respectivas o problema é automatizar pra criar automaticamente esses números alguém sabe como fazer isso?? Obrigado =) Compartilhar este post Link para o post Compartilhar em outros sites
Blair 0 Denunciar post Postado Abril 28, 2009 Não tenho certeza se posso ajudar (sou novo em php), mas para ficar melhor - não só para mim, mas como para todo o pessoal -, posta o código ai para analisarmos. Abraços. Compartilhar este post Link para o post Compartilhar em outros sites
~TiuTalk~ 7 Denunciar post Postado Abril 28, 2009 Faça assim: Na propriedade name="" dos inputs (gerados e que já existem) você coloca algo assim: <input name="campo[]" ... /> Isso vai fazer o PHP interpretar quantos inputs existirem, depois na hora de pegar os valores na próxima página, é só usar $_POST['campo'][0], $_POST['campo'][1], $_POST['campo'][2] e etc... ( $_POST['campo'] vai virar um Array) http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
BetoPorto 0 Denunciar post Postado Abril 29, 2009 Valeu por estar me ajudando TiuTalk, mas nesse exemplo aí eu deveria na próxima página escrever um por um (tp, $_POST['campo'][0], $_POST['campo'][1], $_POST['campo'][2]) até completar o número de dados a serem exibidos certo?? O problema é que o número de dados é variável. Eu poderia tanto preencher 2 campos, como 10, ou 20... e eles devem ser exibidos mesmo assim, como essa variação, entendeu?? o código eh mais ou menos assim <?php for($n=2;$n<=100;$n++){ $aux1 = "campo".$n; $campo = $$aux1; ?> graças a isso aí, qnd eu adiciono um novo campo (adiciono via javascript), ele adquire automaticamente o nome e uma numeração ($n) tp, adiciono o primero campo, fica campo2, adiciono mais outro, fica campo3 e assim vai quero saber oq faço pra quando eu clicar no botão (quando eu "postar") ele exibir os dados de todos esse campos tinha feito assim <?php $teste = $_POST['campo'.$n.'']; echo $teste ?> bem simples, vai ver por isso eh q nao funciona como eu disse, nesse caso o $n adquire somente o primeiro valor, exibindo o campo2 acho q fui claro neh?? =) valeu galera Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Abril 29, 2009 Na verdade ele vai ficar assim: <?php $teste = $_POST['campo'][$n]; echo $teste; ?> Pra você ter certeza como ficou, dá um print_r no Array Post. Faz assim: <?php echo '<pre>'; print_r($_POST); echo '</pre>'; ?> Espero ter ajudado Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
BetoPorto 0 Denunciar post Postado Abril 29, 2009 Valeu aí carlos Eduardo por me ajudar só que continua não exibindo os outros campos, mesmo usando $_POST['campo'][$n] não entendi pra q serve esse segundo código q você me passou quando coloquei ele, apareceu o seguinte na tela Array ( [campo1] => test [campo2] => tes [campo3] => test2 [campo4] => teste [campo5] => test5 [campo6] => tes [campo7] => res ) isso, eu acho que, comprova oq eu tinha falado ants, d q ele está enviando os dados de todos os campos criados (no caso, os 6 q eu criei) o problema é só exibi-los na outra página se tiverem mais alguma idéia, ajudem ae por favor =) valeeu Ah, um PS.: usando $_POST['campo'][$n] invés de $_POST['campo'.$n.''], a $n não pega o valor de 2 (o inicial igual antes), sendo assim, não exibe nada mais (ants exibia soh o campo 2) Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Abril 29, 2009 Primeiro, para pegar o valor como eu falei $_POST['campo']['n'], o nome do campo no html tem que ser assim: campo[]. Se você fizer assim e colocar o código que eu te mandei (serve só para debug, para você entender como ele está enviando o array), ele vai exibir algo assim: Array ( [campo] => Array ( [0] => test1 [1] => test2 [2] => test3 [3] => test4 [4] => test5 [5] => test6 ) ) Como fazer para exibir os valores depois: $count = count($_POST['campo']);// isso vai retornar a quantidade de posições do array campo for ($q = 0; $q < $count; $q++){ echo $_POST['campo'][$q]; }// dentro do for você coloca o que você quiser Espero ter ajudado Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
BetoPorto 0 Denunciar post Postado Abril 29, 2009 Perfeito =DD caramba kra, valeuzão você eh o kra =D oq tava atravancando um pouco tb q eu descobri só agora, é que o javascript q tava fazendo cada campo vir com uma unidade a mais ae agora coloquei o [] no js e ficou certinho... esse ultimo codigo ae foi o bicho resolveu a parada muito obrigado Carlos valeu Compartilhar este post Link para o post Compartilhar em outros sites