Ir para conteúdo

Arquivado

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

Hank (Jean)

[RESOLVIDO] Probleminha no "include"

Recommended Posts

Entrou no tópico agora? PROBLEMA RESOLVIDO!

 

Meu Problema: As imagens dentro de pastas que são chamadas no meu include, estão como se fossem na pasta mãe, ou seja, na mesma da "index.php". Por exemplo, eu entro na página "coisas/pagina.php", a página abre normalmente, mas suas imagens estão com o link interno como se não estivessem nela, mas sim na pasta mãe, como dito acima.

 

Sendo assim, ao invés da imagem ficar "coisas/imagem.gif", fica como "imagem.gif" no include.

 

Possível Solução: Fazer algo no include para o "forçar" á pegar as imagens da pasta e mostrar na página junto delas. Ou alguma outra solução que o senhor(a) conheça, claro.

 

Detalhes:

Sistema de include que uso atualmente, ele está entre o banner e o fundo, para o conteúdo:

<?php	$conteudo = "";	if(!isset($_GET["act"])) {		$conteudo .= "home.php";	} else {		switch($_GET["act"]) {			case "home":				$conteudo .= "home.php";				break;			case "games":				$conteudo .= "games/principal.php";				}	}			include($conteudo);?>
Espero que possa ajudar... Imagem Postada

 

Tópico atualizado dia 05/04.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ond ta a variavel $dirPath, coloque o patth seu.... é o seguinte:path ; e o enderço fisico de seu site no servidor (c:/pasta/pasta)url : o seu enderço virtual (www.seu site.com)tipo essa var ai ficaria assim: $dirPath = 'c:/pasta/pasta';+- assimmas essa funçao include sua ai ta mta retrita viu, pod se fazer coisas menores e mais dinamicas

Compartilhar este post


Link para o post
Compartilhar em outros sites

ond ta a variavel $dirPath, coloque o patth seu.... é o seguinte:path ; e o enderço fisico de seu site no servidor (c:/pasta/pasta)url : o seu enderço virtual (www.seu site.com)tipo essa var ai ficaria assim: $dirPath = 'c:/pasta/pasta';+- assimmas essa funçao include sua ai ta mta retrita viu, pod se fazer coisas menores e mais dinamicas

sério? o que por exemplo?tipo, talvez eu mude de link o site futuramente... dae eu teria que mudar tudo, não? isso é bem chato =/

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao é ai q mora a dinamica.... você so muda a variavel path e url.....

Não deu, tentei também colocar o nome "principal.php" ao invez de "index.php" na pasta para ver se não passava o erro dos imagens, nem deu certo...Você por algum acaso tem algo menor e mais fácil ae? Sem erros.Desde já, vou agradecendo a ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz include normalmenteinclude(pasta/arquivo.php)ai você nao vai ter probs

Mas tem um problema nisso, como vou chamar os links do menu nesse include?

Compartilhar este post


Link para o post
Compartilhar em outros sites

ah ta ... você ta usando como link ne....

faz assim

 

 

no link index seu e poe assim: index.php?acao=algo

 

ex

index.php?acao=home

index.php?acao=mail

index.php?acao=noticia

 

 

ai depois você coloca isso no index

 

if($_GET['acao']){  switch($_GET['acao']){  case 'home' :  include 'includes/[b]index[/b].php';  break;  case 'mail' :  include 'includes/[b]mail[/b].php'; include 'form.php';  break;  case 'noticias' : include 'includes/[b]noticias[/b].php'; break;  default : include 'inicial.php'; }}
entendeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, vamos lá!O problema das imagens foi resolvido, porém, a include, que era pra ser uma include, abre o link em uma nova página.Eu deixei o link do menu á fora assim: "games/principal.php?acao=home"E no lugar do script antigo, eu coloquei esse que você me passou agora... to mó embananado com isso, e o pior é que o projeto é importante. (damn!) Pode-me dizer o que fiz de errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara nao tem erro!!!! o switch é como um sequencia de if, cada case é um if, entendeu!! ai você poe em cada link seu como eu te mostrei:

 

<a href="index.php?acao=home">Home</a><a href="index.php?acao=mail>Mail</a><a href="index.php?acao=noticia>Notitica</a>
O que que aconteceu ai: Depois do ? eu passei uma variavel pra proxima pagina ou seja a variavel acao, que to recuperando como $_GET['acao'], beleza!!!!

 

agora no switch e coo te falei, cada case... um if... ai agente faz o que der pra cada case... q no seu caso , fizemos um include pra cada.....

 

 

agora pra fazer o include:

 

você pode:

1 ou colocar o switch direto dentro na celula do seu index , onde seria carregado seu include ou

2 fazer um arquivo a parte com o switch e inclui-lo com um include simplies nonde você for carregar seu include dinamico...

 

ai você deide , nao tem erro

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fiquei embananadu no negócio... poderia me dar um exemplo melhor de como passar isso em meu site? (sou noob em PHP). O melhor exemplo seria colocar um link do menu e deixar o include com a página inicial que deve ser aberta, que são esses os exemplos: link do menu "games/principal.php" e a página inicial no include "noticias.php".

 

Você explicou como passar e tal, mas eu não entendi direito, fiquei confuso sobre como passar direito á página... no caso do meu primeiro code no tópico, eu sabia que era só colocar a página inicial ali e depois passar o link no menu assim: "?page=games/principal".

 

Entendeu o meu pobrema agora? Só sei CSS, HTML e Webdesign.. xD

Compartilhar este post


Link para o post
Compartilhar em outros sites

assim:você tem

--------menu-------------------|-------------------conteudo------------------------------|---------------outros-----------------------------menu-------------------|----------aqui você coloca o include, certo?--------menu-------------------|--------------include($_GET['acao']);

você passando o link como te fale assim, so vai atualizar a pagina ond ta o include, certo!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

assim:você tem

--------menu-------------------|-------------------conteudo------------------------------|---------------outros-----------------------------menu-------------------|----------aqui você coloca o include, certo?--------menu-------------------|--------------include($_GET['acao']);

você passando o link como te fale assim, so vai atualizar a pagina ond ta o include, certo!!!

 

Vxe cara.. você não entendeu NAAADA do que eu queria dizer, include eu já coloquei no lugar e sei onde ficar desde o começo do tópico, o meu problema é:eu coloquei até os links exemplos, para você formatar no código e eu entender ele perfeitamente. Eu estava pedindo para você formatar o código como se ele já estivesse em meu site, manja? Com meus links, assim eu iria entender.Dae você pode perguntar (o código do site inteiro?) resposta: não. xDapenas separe o link de menu meu, e coloque, esse é o exemplo de como vai ficar o menu de seu site:
lalalala (com o link que eu falei acima, por favor)
esse é o exemplo que você deve deixar o include, com sua página inicial:
lalalala, com minha página inicial
huahuaha, quando eu aprende tu vai te um alivio e tanto heim. :devil:vlw por tudo ae cara, e desculpa por perturbar... :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rs... tmo aqui pra somar!!!! no que u puder vo te ajudar Hank (Jean)

 

Bem você quer saber como ficaria seu link, isso?

 

como eu te disse, você tem que passar a variavel que determinara qual arquivo sera carregado no include, isso passando ela em parametros de URL, ou seja aquilo que vem geralmente depois da URL padrao (seu endereço web - virtual)

 

Sabe esse cod aqui, coloque ela no topo de sua pagina index.php

 

if($_GET['acao']){ switch($_GET['acao']){  case 'home' :  $include = 'includes/[b]index[/b].php';  break;  case 'mail' :  $include = 'includes/[b]mail[/b].php'; include 'form.php';  break;  case 'noticias' : $include = 'includes/[b]noticias[/b].php'; break;  default : $include = 'inicial.php';}}
entao ele vai pegar a variavel que você passara pelo link (destaque em vermelho), caso nao tenha nada como seria o caso de a pessoa clicar em por exemplo, se no seu menu tiver o link HOME

ex.:<a href="index.php">Home</a> // note que nao tem nda depois do index.php

ex passando a variavel: <a href="index.php?acao=noticia>Notitica</a> //note em vermelho a var acao

 

 

agora , na celula que você colocou sua include dinamica (aquela q recebera o valor que o switch vai gerar) você so coloca assim:

 

include($include);

 

ai o que que vai acontecer:

se por acaso seu link nocitia for clicado ele vai madar a variavel acao=noticia e o switch vendo isso ele determina o valor da variavel $include, que nesse caso sera o endereço da pagina de noticias: includes/noticias.php

 

nao tem erro, caso ainda lhe reste alguma duvida, posta ai

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa! Consegui quase tudo jah... saca só: *** (projetão heim) xD

 

Os erros: A página inicial não abre e a página dentro da pasta ainda num funfa as imgs. Calmae xD

 

 

Olha como eu postei os codes, foi da maneira que eu consegui ver funfando...

 

Topo da página index:

<?php if($_GET['acao']){ switch($_GET['acao']){  case 'games' :  $include = 'games/principal.php';  break;  case 'mail' :  $include = 'includes/[b]mail[/b].php'; include 'form.php';  break;  case 'noticias' : $include = 'noticias.php'; break;  default : $include = 'noticias.php';}} ?>
No lugar que deve aparecer o include:

<?php include($include); ?>
Nos links do menu (2 linkados):

 

- "index.php?acao=noticias" - "index.php?acao=games"
Os itens linkados são "Noticias" e "Sega Games"... agora já ficou fácil de você me ajudar a encerrar essa jornada, já da pra verificar o site e ver o que foi de errado! Imagem Postada

 

Que trampo... xD

Compartilhar este post


Link para o post
Compartilhar em outros sites

sabe a linha onde ta

default : $include = 'noticias.php';
entao ele pega o valor qualquer que nao encaixe nos cases anteriores, por isso é ideal que você coloque em todos e so deixe sem aquele os quais deseje enviar pra onde a include do default vai mandar.

 

nesse linha

 

case 'mail' : $include = 'includes/mail.php'; include 'form.php'; break;

retire o include 'form.php';, ele ta errado.

 

Agora com relaçao ao seu link pagina inicial, nao vi ele la nao ... mas se for o caso e so você adicionar um novo case com acao=inicio e dar o valor da $include = index.php ou html nao sei o que você ta usando... o fazer como eu te falei do default...

 

legal seu trabalho, uma dica... nao faz site de fundo preto.... pois cansa a vista e o cara sai fora logo logo.... dar um ar mto pesado... pelo fato de ser do sonic, tente usar cores azuis mais frescas e tonalidades de laranja bem clarinho para destacar as coisas... você vai ver como fica mais acessivel....

 

vlw.... duvidas, postai!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara.. esse negócio da página inicial não adiantou nada, eu queria é a página do include que vai aparecer inicialmente quando abrir o site. Ah, e o problema inicial do tópico com as imagens ainda não foi arrumado. xDO "include 'form.php';" foi você que mandou passar quando colocou o code no tópico, agora, de resto eu só não entendi essa parte sua de explicação: "entao ele pega o valor qualquer que nao encaixe nos cases anteriores, por isso é ideal que você coloque em todos e so deixe sem aquele os quais deseje enviar pra onde a include do default vai mandar.". Traduz melhor?Cara, isso tah bem f***... certeza que tamo indo pelo caminho certo? xDSobre o site: Eu curto design black pra caramba, então foi mais uma descição pessoal mesmo, mas vlw pelo elogio! :joia:

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual o nome do seu arquivo que vai no include quando for a pagina inicial?

 

q imagens ?

 

case 'mail' : $include = 'includes/mail.php'; include 'form.php'; break;

so tirar a parte em vermelho pq a parte azul faz o mesmo.. so tira ela mais nda...vai funcionar....

 

qto ao default

 

default em ingles e = qualquer um ...

 

 

assim sendo quando o switch vem la

case isso

case aquilo

 

ai você ta dando valor especificos pra ele, dai você tem q se perguntar... mas e se mesmo eu dando todos os valores para os case, e os outros q nao dei... pq o cara pode mto bem chegar em sua pagina e ver la... acao=noticias... e se eu derepente digitar ali so de sacanagem outra coisa... pra onde vai...

 

ai e o que eu te falei.... você nao vai ter colocado todas as palavras possíveis, vai? ai entra o default (qualquer uma ) q pega aquela q nao tem em nenhum case pra ela.

 

isso e aplicado no proprio index da pagina ou seu endereço www.seusite.com ja vem com acao=inicio... logico q nao o usuario so vai digitar .... www.seusite.com sem o acao=inicio... dai você tem q ter o default mirando pra sua pagina inicial...

 

beleza

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.