Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

geektr

Sites de uma página só

Recommended Posts

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

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

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

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

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.