geektr 1 Denunciar post Postado Agosto 24, 2009 Um simples tutorial para criar uma sub-página, ou um site de uma página só, como queiram.. Primeiro crie o arquivo script.php <? if ($pagina==contato)//perceba, index.php?pagina=1, é só modificar... $pagina = "contato.php"; ?> Agora faça o arquivo contato.php, e coloque na pasta que foi configurada pro script.php buscar... <!--EXEMPLO DE FORMULARIO DE CONTATO--> <form name="formulario" method="post" action="ronaldo.php"> <table align="center" border="0" cellpadding="0" cellspacing="0" width="401"><!--DWLayoutTable--> <tbody><tr> <td class="style1" nowrap="nowrap" valign="middle" width="100"> <p><font class="style1">Nome:</font></p> </td> <td width="301"> <input class="form_campos" name="nome" size="34" type="text"> </td> </tr> <tr> <td nowrap="nowrap" valign="middle"><font class="style1">Cidade</font></td> <td> <input class="form_campos" name="cidade" size="20" type="text"> </td> </tr> <tr> <td nowrap="nowrap" valign="middle"><font class="style1">Estado:</font></td> <td> <select class="form_campos" name="estado"> <option value="Escolha seu Estado">Escolha seu Estado</option> <option value="AC">AC</option> <option value="AL">AL</option> <option value="AM">AM</option> <option value="AP">AP</option> <option value="BA">BA</option> <option value="CE">CE</option> <option value="DF">DF</option> <option value="ES">ES</option> <option value="GO">GO</option> <option value="MA">MA</option> <option value="MG">MG</option> <option value="MT">MT</option> <option value="MS">MS</option> <option value="PA">PA</option> <option value="PB">PB</option> <option value="PE">PE</option> <option value="PI">PI</option> <option value="PR">PR</option> <option value="RJ">RJ</option> <option value="RN">RN</option> <option value="RO">RO</option> <option value="RR">RR</option> <option value="RS">RS</option> <option value="SC">SC</option> <option value="SE">SE</option> <option value="SP">SP</option> <option value="TO">TO</option> </select> </td> </tr> <tr> <td nowrap="nowrap" valign="middle"><font class="style1">E-mail:</font></td> <td> <input class="form_campos" name="e-mail" size="34" type="text"> </td> </tr> <tr> <td nowrap="nowrap" valign="middle"><font class="style1">Assunto:</font></td> <td> <input name="assunto_mensagem" class="form_campos" size="34" type="text"> </td> </tr> <tr> <td align="center" nowrap="nowrap" valign="middle"><div align="left"><font class="style1">Mensagem:</font></div></td> <td> <textarea class="form_campos" name="mensagem" cols="34" rows="4"></textarea> </td> </tr> <tr> <td colspan="2" valign="middle"> <!-- <font class="texto">* campos obrigatórios</font> --> <br> <div align="center"> <input class="form_botao" name="Enviar" value="Enviar " type="submit"> <input class="form_botao" name="Limpar" value="Limpar" type="reset"> </div> </td> </tr> <tr> <td><br> </td> <td><br> </td> </tr> </tbody></table> </form> agora crie a página: pagina.php, e coloque nela o seguinte código: [...] <?php include"script.php"; ?> [...] <? include ($pagina); ?>//onde você quer que o contato.php apareça Agora acesse pagina.php?pagina=contato. Também tem como fazer com switch ao inves de if (o qual nao consegui), se alguem ae souber poste um exemplo ae (http://br.php.net/manual/pt_BR/control-structures.switch.php) Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Agosto 24, 2009 Usando switch. A página script.php ficaria assim. <?php $page = (isset($_GET['pagina'])) ? $_GET['pagina'] : ''; switch ($page) { case 'contato': $pagina = 'contato.php'; break; case 'empresa': $pagina = 'empresa.php'; break; default: $pagina = 'home.php'; break } ?> Mais ou menos assim PS: Um tópico mostrando outras formas de fazer a mesma coisa. http://forum.imasters.com.br/index.php?/topic/359178-alguns-mtodos-usados/ Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
geektr 1 Denunciar post Postado Agosto 24, 2009 isso mesmo, se nao me engano, switch é melhor que if, mais aí vocês escolhem o que querem usar... Compartilhar este post Link para o post Compartilhar em outros sites
Luiz™ 0 Denunciar post Postado Setembro 11, 2009 Obrigado! Luiz Fernando Compartilhar este post Link para o post Compartilhar em outros sites
WRK_VLF 0 Denunciar post Postado Setembro 12, 2009 Mto bom valeu!!! Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Setembro 13, 2009 No exemplo original, a variável $pagina não está sendo criada. Ela é criada automaticamente APENAS se register_globals estiver em ON, no php.inim, o que não acontece por padrão desde a versão 4.2.0 do PHP. Alguns servidores insistem em deixá-la ativa, visando apenas agradar aos clientes, sem pensar na insegurança que isso pode gerar. Manter register_globals ativada é inseguro, tanto é que no PHP 6 não existirá mais essa diretiva, ou seja, será SEMPRE off. Por isso usem o que o Matias postou: $var = isset( $_GET['var'] ) ? $_GET['var'] : 'valor padrão'; Porém, eu mudaria o switch, para facilitar, caso haja muitas páginas: $page = (isset($_GET['pagina'])) ? $_GET['pagina'] : ''; if ( file_exists( $page . '.php' ) ) { include $page. '.php'; } else { include "padrao.php"; } Isso pode causar inserção de arquivos indesejados, mas nada que uma estrutura de diretórios adequada e uma verificação do valor de $pagina não resolva. Por exemplo, impedir o uso de barras e pontos em $pagina, impedir que $pagina seja 'index' m, para não gerar loop infinito. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
rogeriomansur 0 Denunciar post Postado Setembro 22, 2009 Tava correndo atras disso Valeu Compartilhar este post Link para o post Compartilhar em outros sites
geektr 1 Denunciar post Postado Setembro 24, 2009 usem switch, o lance do if não funciona com register_globals off, e daqui uns tempos não vai ter jeito de ativar... Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Setembro 24, 2009 usem switch, o lance do if não funciona com register_globals off, e daqui uns tempos não vai ter jeito de ativar... o que o if tem a ver com register_globals? Essa diretiva apenas afeta variáveis. Compartilhar este post Link para o post Compartilhar em outros sites
geektr 1 Denunciar post Postado Setembro 25, 2009 se você tivesse um endereço enorme e dificil, mas morasse perto de um super mercado famoso de sua cidade, você iria prefirir falar onde você mora de qual maneira? por isso disse "o lance do if". Compartilhar este post Link para o post Compartilhar em outros sites
Will Fernando 2 Denunciar post Postado Setembro 25, 2009 O.o ? tambem nao intendi .. :P mas valww ae man =] Compartilhar este post Link para o post Compartilhar em outros sites
geektr 1 Denunciar post Postado Setembro 25, 2009 kkk ja percebeu que quanto mais a gente tenta se explicar, mais complica a vida... Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Setembro 26, 2009 switcj ou if tem vantagens e desvantagens, depende de como quer implementar. Olhe o exemplo que postei. Como faria com switch? O que eu quero entender é por que você disse que o if tem a ver com register_globals. Não entendi seu ponto de vista. Compartilhar este post Link para o post Compartilhar em outros sites
geektr 1 Denunciar post Postado Setembro 26, 2009 acho que agora vai da pra intendee :) só usei "lance do if" como ponto de referencia :D Compartilhar este post Link para o post Compartilhar em outros sites