Title tags verschillend/variable per pagina
index.php
<title></title>
Wat ik dus doe is in het bestand instellingen.php alle meta informatie en de title tag vaststellen. Probleem is nu dat ik op elke pagina dezelfde titel heb. Als ik dus naar de pagina contact.php ga wil ik ook in de titel erbij hebben staan dat het de Contact pagina is.
Ik include de pagina als volgt:
Code (php)
De link is dan dus http://tinyurl.com/yk4d3bo
Hoe zorg ik er nou voor dat wanneer ik daarheen ga de Title behalve de standaard titel weet dat er ook Contact bij komt te staan (+ voor andere pagina's een custom title)
Veel vage tutorials gezien, niks wat werkte.
Gewijzigd op 01/01/1970 01:00:00 door Robert-Jan De Vries
<title>
</title>
of als instellingen.php al is toegevoegd..
Code (php)
Het wint niet de schoonheidsprijs, maar het is wel makkelijk. Als je dan de naam van de titel wil veranderen, moet je de naam van het bestand veranderen. Wil je meerdere woorden. Doe dan de-contact-pagina.php en vervang de streepjes met str_replace();
Wat ook mogelijk is:
Code (php)
Je website wordt trouwens niet goed weergegeven met Google Chrome browser. Zorg er voor dat in andere browsers je website er ook goed uit ziet. (contact formulier op je contact pagina klopt nu niet).
Gewijzigd op 01/01/1970 01:00:00 door S -
Zoals jij het het best aan kan pakken naar mijn idee:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
in je pagina-includes kan je dan de logica uitvoeren en de variable $titletag zetten.
Require once moet zonder de (haakjes), want het is geen functie maar een taalconstructie.
Na een header(Location: ...) altijd een exit; zetten, anders wordt de rest van je code ook nog uitgevoerd, wat niet nodig is als de gebruiker naar een andere pagina moet.
Grr waarom zoveel browsers haha
edit
Was een /div die verkeerd stond in het contact formulier. Hij staat nu wel netjes zoals het moet.
Gewijzigd op 01/01/1970 01:00:00 door Robert-Jan De Vries
Terence schreef op 15.11.2009 10:34:
Vergeet alsjeblieft de manier van Steven, hiermee veroorzaak je een XSS-lek (ja dat is beveiliging).
Zoals jij het het best aan kan pakken naar mijn idee:
in je pagina-includes kan je dan de logica uitvoeren en de variable $titletag zetten.
Require once moet zonder de (haakjes), want het is geen functie maar een taalconstructie.
Na een header(Location: ...) altijd een exit; zetten, anders wordt de rest van je code ook nog uitgevoerd, wat niet nodig is als de gebruiker naar een andere pagina moet.
Zoals jij het het best aan kan pakken naar mijn idee:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
in je pagina-includes kan je dan de logica uitvoeren en de variable $titletag zetten.
Require once moet zonder de (haakjes), want het is geen functie maar een taalconstructie.
Na een header(Location: ...) altijd een exit; zetten, anders wordt de rest van je code ook nog uitgevoerd, wat niet nodig is als de gebruiker naar een andere pagina moet.
Maar op deze manier moet ik "$titletag = 'default waarde';" dus op alle include pagina's zetten? Dus in de contact.php en dergelijke moet ik dat tussen PHP tags zetten en default waarde in de titel veranderen die ik op die pagina wil?
Het lettertype op de website is trouwens echt lelijk. Heeft iemand hier tips welk lettertype mooi staat op deze website?
robert-jan schreef op 15.11.2009 13:02:
Maar op deze manier moet ik "$titletag = 'default waarde';" dus op alle include pagina's zetten? Dus in de contact.php en dergelijke moet ik dat tussen PHP tags zetten en default waarde in de titel veranderen die ik op die pagina wil?
Terence schreef op 15.11.2009 10:34:
Vergeet alsjeblieft de manier van Steven, hiermee veroorzaak je een XSS-lek (ja dat is beveiliging).
Zoals jij het het best aan kan pakken naar mijn idee:
in je pagina-includes kan je dan de logica uitvoeren en de variable $titletag zetten.
Require once moet zonder de (haakjes), want het is geen functie maar een taalconstructie.
Na een header(Location: ...) altijd een exit; zetten, anders wordt de rest van je code ook nog uitgevoerd, wat niet nodig is als de gebruiker naar een andere pagina moet.
Zoals jij het het best aan kan pakken naar mijn idee:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
in je pagina-includes kan je dan de logica uitvoeren en de variable $titletag zetten.
Require once moet zonder de (haakjes), want het is geen functie maar een taalconstructie.
Na een header(Location: ...) altijd een exit; zetten, anders wordt de rest van je code ook nog uitgevoerd, wat niet nodig is als de gebruiker naar een andere pagina moet.
Maar op deze manier moet ik "$titletag = 'default waarde';" dus op alle include pagina's zetten? Dus in de contact.php en dergelijke moet ik dat tussen PHP tags zetten en default waarde in de titel veranderen die ik op die pagina wil?
de $titletag moet je zoiezo boven de switch laten staan, want als je hem dan vergeet te zetten in een pagina, krijg je geen foutmelding bij de <title>-tag. Je moet dus in iedere pagina die je include opnieuw de $titletag zetten, met de waarde erin die jij wilt voor die pagina.
Wat is eigenlijk het verschil tussen de manier waarop ik de pagina's include en hoe jij het doet (met switch).
De include pagina's zijn puur de content overigens. Ze beginnen dus meteen met wat erop staat en er staan geen HTML of HEAD tags. Heb die wel erbij gezet om te kijken of dat verschil maakte, maar ook dat werkte niet.
Overigens heb ik de switch een stuk naar beneden geplaatst omdat de include in een div zit die wat lager zit.
Als je de switch naar beneden geplaatst hebt, zit die waarschijnlijk ónder de title-tag. Als je dan de volgorde afgaat zie je dat de include dus na de titletag komt en dat die dus te laat gezet wordt.
Ah ja, dat klopt inderdaad. De switch zit onder de title tag (kan ook niet anders volgens mij). Wil dit zeggen dat het niet mogelijk is per include een andere titel aan te geven (naast de standaard titel)?
Terence, wat je bedoelt is dat je nog een extra controle moet invoeren voor wat er eventueel anders ingevuld wordt in de adres balk, in jouw geval een switch. Zeg dan niet dat ie mijn manier moet vergeten, zeg dan dat er een beveiligingslek in zijn code zit. Ik keek er overheen. Maakt mijn toegevoegde code nog niet fout.
Wacht even... dus de manier waarop ik het doe is niet veilig? Hoe kan ik een controle/veiligheid inbouwen?
Gewijzigd op 01/01/1970 01:00:00 door Robert-Jan De Vries