Ir para conteúdo

POWERED BY:

Arquivado

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

leonidas-Rubiano

PHP - Para quem está aprendendo a programar

Recommended Posts

Bom dia queridos amigos,

Estou aprendendo a programar em php, e já estão surgindo diversas dúvidas, para explicar melhor minha dúvida vou descrever meu problema:

 

Se eu fosse criar um site em html com 3 páginas eu teria que criar uma página completa para cada uma das páginas repetindo todos os códigos ( isso na forma arcáica do html e do css).

 

Criei um layout simples, cabeçalho, coluna de 200px no lado esquerdo para os menus, e uma coluna de 600px de largura ao lado para mostrar o conteudo dos menus, minha dúvda surge ai, por exemplo, criei os menus, página inicial, quem somos e contato, agora gostaria de saber como que eu devo fazer para que as páginas do quem somos e do contato abram na coluna do conteúdo sem que eu tenha que criar uma página completa para cada link. É uma dúvida de principiante, mas é a base para que eu consiga fazer muita coisa, pois sabendo como fazer isso já consigo fazer um site completo, por favor amigos se alguem puder me ajudar ficarei muito grato!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Leonildas;

 

Boa noite.

 

Bem existia uma maneira no primeiro html chamada de frames, hoje denominada de iframe.

 

Isso vem direto a sua pergunta, pois em primeiro lugar e, antes de qualquer, coisa você está criando a página em HTML ou em PHP ?

 

Se o seu problema for no layout somente em HTML peço que o pessoal mova o tópico para o devido local, visto que aqui somente se trabalha com desenvolvimento de PHP,

 

No HTML, então, poderei lhe responder como se constrói iframes e, você verá que não tem nada a ver... A única coisa que se houver dúvida e, irá postar é o arquivo PHP da Página "send.php" ou outro nome que deseje dar a mesma. Pois o HTML é estático, precisa de uma linguagem dinâmica para o envio do formulário de contatoi.

 

Peço que esclareça então como está sendo desenvolvida sua página e, então voltaremos a digitar.

 

Abraços e, que Deus o abnçoe;

 

DPLF

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Leonildas;

 

Boa noite.

 

Bem existia uma maneira no primeiro html chamada de frames, hoje denominada de iframe.

 

Isso vem direto a sua pergunta, pois em primeiro lugar e, antes de qualquer, coisa você está criando a página em HTML ou em PHP ?

 

Se o seu problema for no layout somente em HTML peço que o pessoal mova o tópico para o devido local, visto que aqui somente se trabalha com desenvolvimento de PHP,

 

No HTML, então, poderei lhe responder como se constrói iframes e, você verá que não tem nada a ver... A única coisa que se houver dúvida e, irá postar é o arquivo PHP da Página "send.php" ou outro nome que deseje dar a mesma. Pois o HTML é estático, precisa de uma linguagem dinâmica para o envio do formulário de contatoi.

 

Peço que esclareça então como está sendo desenvolvida sua página e, então voltaremos a digitar.

 

Abraços e, que Deus o abnçoe;

 

DPLF

 

Boa noite caro amigo,

 

Minha dúvida é em respeito ao php, pois meu objetivo é fazer com que as outras páginas abram na coluna direcionada para o conteúdo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite, jovem...

 

Peço desculpas então, pensei que estivesse falando de como abrir páginas em html, existe essa possibilidade sem que você tenha de refazer todo o trabalho com frames... Por isso, pensei se tratar da linguagem a qual já a citei, não pensei que queria fazer páginas dinâmicas com HTML.

 

Novamente me desculpo em muito, por não ter lhe entendido.

 

Outra observação... Desculpe-me também, pois pensei que havia postado errado! Mas estou vendo que nesse caso você está correto.

 

Também sou iniciante aqui...

 

Um forte abraço e, vou jantar agora...

 

Qualquer coisa é só pedir um help pro pessoal que alguém com certeza irá lhe ajudar. Só não o faço pq também não entendo muito de PHP (ainda).

 

Fica com Deus e, me desculpe por favor.

 

Abraços;

 

DPLF

Compartilhar este post


Link para o post
Compartilhar em outros sites

existem algumas maneiras para se fazer o que voce quer.

não estranhe que o seu tópico esteja sem respostas, aqui o pessoal te ajuda a pescar, não pescam para você.

 

nesse caso, pescarei, pois já tive essa dúvida e hoje não tenho mais problemas com isso.

 

vamos lá..

 

index.php

<?php
       $atual          = (isset($_GET['pg'])) ? $_GET['pg'] : 'home';
       $permissao  = array('home','sobre','contato','404');
       if(substr_count($atual, '/') > 0){
           $atual  = explode('/', $atual);
           $pagina = (file_exists($atual[0].'.php') && in_array($atual[0], $permissao)) ? $atual[0] : 'erro';
           $id     = intval($atual[1]);
       }else{
           $pagina = (file_exists($atual.'.php') && in_array($atual, $permissao)) ? $atual : '404';
           $id     = 0;
       }

?>

<!doctype html>
<html>
<head>
<meta charset="iso-8859-1">
<title>Meu site</title>
</head>

<body>
  <div id="site">

     <div class="topo"> 
        <ul class="menu">
        <li><a href="home">Home</a></li>
        <li><a href="sobre">Sobre</a></li>
        <li><a href="contato">Contato</a></li>
        </ul>
     </div> <!-- fecha div topo -->

     <div class="conteudo"> 
       <?php require("{$pagina}.php")?>
     </div>

     <div class="rodape"> aqui o conteudo do rodape </div>

  </div>
</body>
</html>

 

.htaccess (arquivo para url amigavel (seusite.com/sobre , seusite.com/contato, etc. Abra um bloco de notas, cole o codigo abaixo e salve como ".htaccess" (sem aspas). Ele deve ficar na raiz do site e o com apache em "mod_rewrite on" (geralmente é padrão de hospedagens, mas nao em servidores locais). Pesquise sobre o assunto!)

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)$ index.php?pg=$1

 

Caso queira descartar o URL amigavel, esqueça o .htaccess e mude os links do menu para:

 

        <ul class="menu">
        <li><a href="index.php?pg=home">Home</a></li>
        <li><a href="index.php?pg=sobre">Sobre</a></li>
        <li><a href="index.php?pg=contato">Contato</a></li>
        </ul>

 

Leia e entenda o codigo para usá-lo.

 

Observações:

 

Fiz o exemplo com 4 páginas e 3 links no menu.

Paginas: home, sobre, contato, 404.

Links no menu: home, sobre, contato.

 

a pagina 404 voce cria o que quiser, pois caso alguem digite algo na URL que nao exista, aparecerá essa pagina de erro, por ex: "Desculpe, essa página não existe.".

 

!importante:

Sempre que for adicionar mais alguma página ao seu site, não esqueça de acrescentar o nome dela sem .php na array da variavel $permissao do arquivo index.php, se voce nao fizer, vai ser como se a pagina nao existisse e aparecerá a 404, isso é pra segurança do seu site.

 

Acho que é isso então. Qualquer dúvida poste ai, até mais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

sobre a parte em que se relaciona as colunas você pode criar uma página chamada

 

header.php ou header.html

 

e criar todo topo e na sua página da apenas um include nesse arquivo

 

include é uma função PHP que inclui uma determinada página em outra, como se fosse o tal Frame que o nosso amigo citou acima.

 

e respeitando a ajuda do lightfox não acho melhor aprender htacess agora, é uma coisa complicada trabalha com expressões regulares.

 

procure trabalhar apenas como GET

 

que é bem simples

 

imagina um dominio: www.meusite.com.br

 

ai você adiciona na URL

 

?conteudo=home

 

ficaria: www.meusite.com.br?conteudo=home

 

é bem simples o ?(interrogação) representa a palavra ONDE

 

então se você ler fica

 

meu site onde o conteúdo é igual home.

 

GET é uma variavel global no PHP, esta diretamente ligada a URL.

 

echo $_GET['conteudo'];

Saída: home

 

essa técnica é usada de que forma?

de várias cada um com sua finalidade mais eu vou mostrar a básica

 

index.php

<?php
$mostrar = 'testando GET';
if(isset($_GET['link'])){
	if($_GET['link'] == 1){
		$mostrar = 'Mostrando link 1';
	}else if($_GET['link'] == 2){
		$mostrar = 'Mostrando link 2';
	}else if($_GET['link'] == 3){
		$mostrar = 'Mostrando Link 3';
	}else if($_GET['link'] == 4){
		$mostrar = 'Mostrando Link 4';
	}else{
		$mostrar = 'Esse link não existe';
	}
}
?>

<!DOCTYPE HTML>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<title>Hello World</title>
</head>
<body>
<ul>
	<li><a href="www.meusite.com.br">HOME</a></li>
	<li><a href="www.meusite.com.br?link=1">Link 1</a></li>
	<li><a href="www.meusite.com.br?link=2">Link 2</a></li>
	<li><a href="www.meusite.com.br?link=3">Link 3</a></li>
	<li><a href="www.meusite.com.br?link=4">Link 4</a></li>
</ul>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, realemente você me ajudou, nossa, fiz os testes e deu tudo certo! Vlw mesmo, esta dica me ajudou a compreender muito mais o php e já conseguiria fazer um site simples, por acaso existiria outras formas de fazer isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom dia Vinicios, acho que minha pergunta ficou vaga, mas li sua postagem e mais uma vez agradeço, meu caro por acaso você teria algum material que trate sobre este assunto que expus no fórum, se não for pedir de mais, caso o tenha, poderia enviar para o meu email? leonidasassuncao@hotmail.com

 

Mais uma vez obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode fazer suas páginas em arquivos separados, exemplo: inicial.php, contato.php.

apenas colocando os dados exclusivos daquela pagina, e aliando isso ao que o Vinícios citou logo acima, você pode usar o "include" do php, e inserir um arquivo dentro do outro.

Até!

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.