godoy89 0 Denunciar post Postado Janeiro 23, 2009 Opa, to com dois erros chatos aqui e queria saber se alguém podia me dar uma luz.. Queria saber se tem como dar um retrieve (echo) em um <input type> pq o <textarea> fica muito grande.. Pode ser uma alternativa como uma outra caixa de texto, mas tem que ter apenas DOIS DÍGITOS para o usuário digitar dentro dela. Minha outra dúvida é um pouco pior.. Tenho um formulário em PHP que precisa ser exibido para o administrador do sistema. Em certa parte do formulário eu tenho uma questão em que o usuário tem que "checkar" duas opções (via checkbox, claro). O formulário está OK, meu problema eh que o sistema só me retorna uma opção selecionada pelo usuário. index.php <tr> <td width="3%" height="19"> <input type="checkbox" value="1" name="p6"> </td> <td width="97%" height="19"><font face="Arial" size="2">Armazenamento</font></td> </tr> <tr> <td width="3%" height="19"> <input type="checkbox" value="2" name="p6"> </td> <td width="97%" height="19"><font face="Arial" size="2">Compras</font></td> </tr> <tr> <td width="3%" height="19"> <input type="checkbox" value="3" name="p6"> </td> <td width="97%" height="19"><font face="Arial" size="2">Transporte</font></td> </tr> <tr> <td width="3%" height="19"> <input type="checkbox" value="4" name="p6"> </td> <td width="97%" height="19"><font face="Arial" size="2">Abastecimento</font></td> </tr> <tr> <td width="3%" height="19"> <input type="checkbox" value="5" name="p6"> </td> <td width="97%" height="19"><font face="Arial" size="2">Recebimento</font></td> </tr> <tr> <td width="3%" height="19"> <input type="checkbox" value="6" name="p6"> </td> <td width="97%" height="19"><font face="Arial" size="2">Fracionamento (ex: Feijoada - carnes separadas)</font></td> </tr> <tr> <td width="3%" height="19"> <input type="checkbox" value="7" name="p6"> </td> <td width="97%" height="19"><font face="Arial" size="2">Giro dos Produtos</font></td> </tr> <tr> <td width="3%" height="19"> <input type="checkbox" value="8" name="p6"> </td> <td width="97%" height="19"><font face="Arial" size="2">Produção na Loja</font></td> </tr> <tr> <td width="3%" height="19"> <input type="checkbox" value="9" name="p6"> </td> <td width="97%" height="19"><font face="Arial" size="2">Manuseio</font></td> </tr> <tr> <td width="3%" height="19"> <input type="checkbox" value="10" name="p6"> </td> <td width="97%" height="19"><font face="Arial" size="2">Exposição</font></td> </tr> visualiza.php <tr> <td width="3%" height="19"> <? if ($perg6 == "1"){?> <input type="checkbox" value="1" name="p6" checked> <? } else { ?> <input type="checkbox" value="1" name="p6"> <? } ?> </td> <td width="97%" height="19"><font face="Arial" size="2">Armazenamento</font></td> </tr> <tr> <td width="3%" height="19"> <? if ($perg6 == "2"){?> <input type="checkbox" value="2" name="p6" checked> <? } else { ?> <input type="checkbox" value="2" name="p6"> <? } ?> </td> <td width="97%" height="19"><font face="Arial" size="2">Compras</font></td> </tr> <tr> <td width="3%" height="19"> <? if ($perg6 == "3"){?> <input type="checkbox" value="3" name="p6" checked> <? } else { ?> <input type="checkbox" value="3" name="p6"> <? } ?> </td> <td width="97%" height="19"><font face="Arial" size="2">Transporte</font></td> </tr> <tr> <td width="3%" height="19"> <? if ($perg6 == "4"){?> <input type="checkbox" value="4" name="p6" checked> <? } else { ?> <input type="checkbox" value="4" name="p6"> <? } ?> </td> <td width="97%" height="19"><font face="Arial" size="2">Abastecimento</font></td> </tr> <tr> <td width="3%" height="19"> <? if ($perg6 == "5"){?> <input type="checkbox" value="5" name="p6" checked> <? } else { ?> <input type="checkbox" value="5" name="p6"> <? } ?> </td> <td width="97%" height="19"><font face="Arial" size="2">Recebimento</font></td> </tr> <tr> <td width="3%" height="19"> <? if ($perg6 == "6"){?> <input type="checkbox" value="6" name="p6" checked> <? } else { ?> <input type="checkbox" value="6" name="p6"> <? } ?> </td> <td width="97%" height="19"><font face="Arial" size="2">Fracionamento</font></td> </tr> <tr> <td width="3%" height="19"> <? if ($perg6 == "7"){?> <input type="checkbox" value="7" name="p6" checked> <? } else { ?> <input type="checkbox" value="7" name="p6"> <? } ?> </td> <td width="97%" height="19"><font face="Arial" size="2">Giro dos Produtos</font></td> </tr> <tr> <td width="3%" height="19"> <? if ($perg6 == "8"){?> <input type="checkbox" value="8" name="p6" checked> <? } else { ?> <input type="checkbox" value="8" name="p6"> <? } ?> </td> <td width="97%" height="19"><font face="Arial" size="2">Produção na Loja</font></td> </tr> <tr> <td width="3%" height="19"> <? if ($perg6 == "9"){?> <input type="checkbox" value="9" name="p6" checked> <? } else { ?> <input type="checkbox" value="9" name="p6"> <? } ?> </td> <td width="97%" height="19"><font face="Arial" size="2">Manuseio</font></td> </tr> <tr> <td width="3%" height="19"> <? if ($perg6 == "10"){?> <input type="checkbox" value="10" name="p6" checked> <? } else { ?> <input type="checkbox" value="10" name="p6"> <? } ?> </td> <td width="97%" height="19"><font face="Arial" size="2">Exposição</font></td> </tr> Agradeço desde já, Guilherme Godoy. Compartilhar este post Link para o post Compartilhar em outros sites
Paulo de Tarso F. M. 24 Denunciar post Postado Janeiro 23, 2009 Queria saber se tem como dar um retrieve (echo) em um <input type> pq o <textarea> fica muito grande.. Pode ser uma alternativa como uma outra caixa de texto, mas tem que ter apenas DOIS DÍGITOS para o usuário digitar dentro dela. Não precisa utilizar um input por causa disso: formate-o com CSS! Outra coisa, os dois dígitos que você mencionou, isso é visualmente falando ou você quer que o cara consiga digitar apenas 2 dígitos, no máximo? :mellow: Se for o primeiro, também é apenas formatar o input com CSS. Se for o segundo, existe um atributo HTML chamado maxlength, que limita justamente a quantidade de caracteres que poderão ser digitados em um <input> (vale lembrar que esse é um atributo para <input>, não pode ser utilizado com <textarea>). Ah! E se for justamente a limitação da quantidade de caracteres permitidos, nada mais óbvio utilizar <input type="text"> do que um <textarea>... Afinal, basta analisar a própria tag, e verificar qual o propósito de cada uma... Quanto aos checboxes, você não pode esquecer de colocar um par de colchetes no name: <input type="checkbox" value="1" name="p6[]">Isso é necessário para informar que ele é um array, pois pode ter mais de um valor atribuído. Para saber mais como trabalhar com checkbox e PHP, veja este material: http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Pegar dados de checkbox Espero que tenha ajudado. Um abraço! Compartilhar este post Link para o post Compartilhar em outros sites
godoy89 0 Denunciar post Postado Janeiro 23, 2009 Quanto aos checboxes, você não pode esquecer de colocar um par de colchetes no name: <input type="checkbox" value="1" name="p6[]">Isso é necessário para informar que ele é um array, pois pode ter mais de um valor atribuído. Na index.php ou na visualizar.php? Compartilhar este post Link para o post Compartilhar em outros sites
godoy89 0 Denunciar post Postado Janeiro 26, 2009 Problema do <input> + php echo resolvido. Porém ainda persiste meu erro com as checkbox. Compartilhar este post Link para o post Compartilhar em outros sites
Paulo de Tarso F. M. 24 Denunciar post Postado Janeiro 26, 2009 Ok, ok, vamos por partes. Primeiro passo, você irá construir o formulário: http://forum.imasters.com.br/public/style_emoticons/default/seta.gif index.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Exemplo</title> <style type="text/css"> label { display:block; } </style> </head> <body> <form action="visualiza.php" method="post"> <fieldset> <legend>Opções</legend> <label for="opcao1"><input type="checkbox" value="1" name="p6[]" id="opcao1" /> Armazenamento</label> <label for="opcao2"><input type="checkbox" value="2" name="p6[]" id="opcao2" /> Compras</label> <label for="opcao3"><input type="checkbox" value="3" name="p6[]" id="opcao3" /> Transporte</label> <label for="opcao4"><input type="checkbox" value="4" name="p6[]" id="opcao4" /> Abastecimento</label> <label for="opcao5"><input type="checkbox" value="5" name="p6[]" id="opcao5" /> Recebimento</label> <label for="opcao6"><input type="checkbox" value="6" name="p6[]" id="opcao6" /> Fracionamento (ex: Feijoada - carnes separadas)</label> <label for="opcao7"><input type="checkbox" value="7" name="p6[]" id="opcao7" /> Giro dos Produtos</label> <label for="opcao8"><input type="checkbox" value="8" name="p6[]" id="opcao8" /> Produção na Loja</label> <label for="opcao9"><input type="checkbox" value="9" name="p6[]" id="opcao9" /> Manuseio</label> <label for="opcao10"><input type="checkbox" value="10" name="p6[]" id="opcao10" /> Exposição</label> <hr /> <button type="submit">Enviar</button> </fieldset> </form> </body> </html>Agora, vamos montar a página que irá receber estes dados: http://forum.imasters.com.br/public/style_emoticons/default/seta.gif visualiza.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Exemplo</title> </head> <body> <h1>Opções selecionadas</h1> <hr /> <p>As opções selecionadas foram:</p> <?php if(empty($_POST["p6"])) { echo "<p>Nenhuma opção foi selecionada!</p>\n"; } else { echo "<ul>\n"; foreach($_POST["p6"] as $opcao) { switch($opcao) { case 1: echo " <li>Armazenamento</li>\n"; break; case 2: echo " <li>Compras</li>\n"; break; case 3: echo " <li>Transporte</li>\n"; break; case 4: echo " <li>Abastecimento</li>\n"; break; case 5: echo " <li>Recebimento</li>\n"; break; case 6: echo " <li>Fracionamento (ex: Feijoada - carnes separadas)</li>\n"; break; case 7: echo " <li>Giro dos Produtos</li>\n"; break; case 8: echo " <li>Produção na Loja</li>\n"; break; case 9: echo " <li>Manuseio</li>\n"; break; case 10: echo " <li>Exposição</li>\n"; break; } } } ?> </body> </html>Essa página visualiza.php recebe os dados enviados pela página index.php, e analisa: Se (if) as opções (p6) estiverem vazias (empty), ele imprime na tela "Nenhuma opção foi selecionada!", senão (else), ele avalia cada opção selecionada. Se a opção cujo value é igual a 1 foi marcada, ele imprime na tela "Armazenamento"; se a opção cujo value é igual a 2 foi marcada, ele imprime na tela "Compras", e assim sucessivamente... Agora, a partir desse exemplo, você pode começar a estudar... Isso foi um exemplo bem básico, envolvendo código semântico e válido (XHTML 1.0 Strict). Bons estudos! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites