Wat is de goede absolute adressering ?

Status
Niet open voor verdere reacties.

pewie37

Gebruiker
Lid geworden
2 sep 2007
Berichten
506
Ik heb mijn site op het volgende adres staan.
http://www.123-fotograferen-leren.nl

Aangezien het wordt aangeraden om absolute adressering te gebruiken heb ik dat geprobeerd met (om te beginnen) mijn includes maar die worden dan niet meer weergegeven. Daarom denk ik dat de adressering niet correct is want onderstaande werkt n.l. wél.
<?php include("includes/includes1/tabbladmenuheader1.htm"); ?>

Als ik bij de provider ga kijken staat de hele mikmak in een map "www".

Wat heb ik geprobeerd:
  • <?php include("http://www.123-fotograferen-leren.nl/includes/includes1/tabbladmenuheader1.htm"); ?>
  • <?php include("http://www.123-fotograferen-leren.nl/www/includes/includes1/tabbladmenuheader1.htm"); ?>
Kan mij iemand vertellen wat hoe ik aan het goed pad voor de adressering kom ?

thanxs alvast :thumb:
 
volgens mij moet je vanaf de map waar het in staat werken. zoals.
www <al je stuff/ include <mapje/ include1

dus dan ziet het er zo uit:

-www
---include
-----include1

en dan word het iets van include ("../include/include1/ditmoetjedatinclude.php")

Dat heet relatief volgensmij dus als dit niet werkt kijk ff op google: relatieve include ofzo:
http://www.tekstenuitleg.net/artikelen/internet/zelf-website-maken/html-links-maken.html


EDIT:

oops. ik had je bericht niet helemaal gelezen :p
maare door wie word absolute adressering aangeraden? want reletief is veel handiger volgensmij.. heb een aantal sites gemaakt en die hadden allemaal relatieve stuff.
maar misschien is het bij include beter..?
 
Laatst bewerkt:
Dat is dus (als ik je goed begrijp) punt 2 van "wat heb ik geprobeerd".
Dat werkt niet.

Het is duidelijk dat de includes gewoon WEG uit de site zijn, dus het moet wat met adressering te maken hebben als je het mij vraagd.
 
dat www is maar een voorbeeld. het kan ook web zijn ofzow. die weet je dus niet maar dat is niet nodig. daar staat alles in: dus hij gaat kijken vanaf de map waar hij in staat.
 
PHP includes moet je niet absoluut doen, dat werkt namelijk niet. Wat er nu gebeurd is dat je een request stuurt naar de andere PHP pagina, die genereert zijn HTML uitvoer, en vervolgens krijg je die HTML terug. Alle code is dan dus al gerunt als een losse request.

Je moet het gewoon relatief doen.
 
Die weet ik wel.
Als ik bij de provider ga kijken staat de hele mikmak in een map "www".

Wie dit aanraad ?
CSSHUNTER, omdat die adressering niet altijd correct is als je er van uitgaat dat de betreffende pagina overal in je mappanstructuur kan voorkomen. Absoluut kan daarom nooit mis gaan.

Ben wel met je eens: Het zijn misschien de puntjes op de "i"
 
maare door wie wordt absolute adressering aangeraden? want relatief is veel handiger volgens mij...
Wie dit aanraadt ?
CSSHUNTER, omdat ... enz.
Aha, werd daar mijn naam geroepen? ;)

Maar er is een misverstandje over wat ik beweer over het absoluut/relatief aanroepen, geloof ik.
Er is een verschil tussen:
  • het aanroepen van pagina's, images, enz. binnen een php-fragment; en:
  • het aanroepen van het php-fragment zelf.
Het php-fragment zelf moet je inderdaad (als php-include) relatief aanroepen vanaf de pagina waar je zit.
Dat staat ook in het onderste stipje van de opletpunten voor het includen in m'n tutorial.

Maar binnen het fragment (bv. een fragment waarin de menu-code zit) mag je wel absolute links geven, zolang dat maar "echte links" zijn (en geen php-includes in die include; maar in dat geval had je alles beter meteen in die ene kunnen zetten). Dan kan je vanaf een willekeurige pagina in je mappenboom op dezelfde links (pagina's. images, enz.) uitkomen die binnen dat fragment staan.
Dat had ik in de opletpunten bij fase 1 van de tut gezet, en volgens mij blijft dat overeind staan. :)

Met vriendelijke groet,
CSShunter
 
OK, ik heb dus nog steeds een adresseringsprobleem.

Als ik onderstaande adressering aanhoud voor een include die in een submap staat van de map waarvandaan deze word aangevraagd, is dat geen probleem. (da's logisch)
<?php include("includes/includes1/tabbladmenuheader1.htm"); ?>

Nu heb ik een map aangemaakt waarin de bezoekers kunnen inloggen. Nu klopt dit pad niet meer omdat ik nu de adressering moet doen via de rootmap. (Weten we nog van dos -> niet map1\map2 maat c:\map1\map2)

Ik heb bij mijn provider alles in de map "www" (zie bijlage) staan dus zou je denken:
<?php include("www/includes/includes1/tabbladmenuheader1.htm"); ?>
of
<?php include("/www/includes/includes1/tabbladmenuheader1.htm"); ?>

Maar dit werkt beiden niet. Er worden geen includes weergegeven omdat klaarblijkelijk de adressering nog steeds niet correct is.

Edit:
Ik kan natuurlijk de include-mappen kopieren naar de betreffende probleemmap.
Maar als ik dan een menu-optie wijzig, moet ik 'm wederom meerdere keer wijzigen.
Daar heb ik geen includes voor aangemaakt.


mapstructuur.JPG
 
Laatst bewerkt:
Ik heb bij mijn provider alles in de map "www" (zie bijlage) staan.
Yes, behalve de map waarin men kan inloggen.

dus zou je denken:
<?php include("www/includes/includes1/tabbladmenuheader1.htm"); ?>

Dus moet je vanaf inlogmap/pagina.php één mapje omhoog om in de root te komen (waarna je weer in de includes kunt afdalen), dus ik zou denken:
HTML:
<?php include("../includes/includes1/tabbladmenuheader1.htm"); ?>
:)

PS:
Verder lijkt me "www" een virtuele mapnaam op de server, waarin alles van de root zit (en wat daaronder hangt). Het is geen echte mapnaam, anders zou je:
www.123-fotograferen-leren.nl/www/index.php
voor je index moeten opgeven, maar het is gewoon:
www.123-fotograferen-leren.nl/index.php.
 
OK, maar deze notatie werkt niet als je al in de root zit, toch ?
Was eigenlijk op zoek naar 1 zelfde notatie voor de hele site.
 
OK, maar deze notatie werkt niet als je al in de root zit, toch?
Even proberen geeft het antwoord. ;)

Was eigenlijk op zoek naar 1 zelfde notatie voor de hele site.
Helaas, die is er per definitie niet: omdat de include-verwijzing altijd relatief moet zijn! :cool:

Wat ik zelf meestal doe:
  • de index.php uiteraard in de root.
  • alle pagina's in één mapje mijndomeinvoorbeeld.nl/paginas/..
of:
  • alle paginas in mapjes op hetzelfde niveau:
    mijndomeinvoorbeeld.nl/nieuws/nieuwspagina-1.php
    mijndomeinvoorbeeld.nl/nieuws/nieuwspagina-2.php
    mijndomeinvoorbeeld.nl/agenda/agendapagina-1.php
    mijndomeinvoorbeeld.nl/agenda/agendapagina-2.php
    ... enz.
Dan is alleen voor de index.php een andere include-verwijzing nodig, en kunnen alle andere pagina's met dezelfde verwijzing toe: ze moeten allemaal één mapje omhoog, en dan naar de includes-map.
Bij het maken van een nieuwe pagina kan ik dan ook klakkeloos een kopie van een andere pagina maken, en die veranderen tot wat ik nodig heb. En eventueel in een ander (parallel) mapje zetten, zonder dat het kwaad kan.
De relativiteit van de include-verwijzing maakt het dan juist makkelijk. :)

Met vriendelijke groet,
CSShunter
 
Laatst bewerkt:
OK duidelijk, zo had ik het ook al gedaan btw.
Opgelost.

Thnxs guys voor de hulp :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan