Altijd wijzen naar index.php?p=....
Ik ben bezig met het maken van een website.
Als de gebruiker naar een andere pagina gaat dat wordt de GET variabele gewijzigd in de paginanaam die dan met een case wordt opgevangen in index.php
Maar als een bezoeker bijvoorbeeld zo slim is om gewoon neer te zetten contact.php dan zit hij dus alleen op contact.php en is de layout niet te zien.
Ik wil dus graag dat iedere pagina alleen te zien is als hij is geopend met index.php
Iemand een idee hoe dat te doen?
Groetjes Dennis
is het index.php oke. zo niet herlijden naar index.php met een header?
Gewijzigd op 01/01/1970 01:00:00 door Mebus Hackintosh
naampje.js
Code (php)
1
2
3
4
5
2
3
4
5
// Java Document
document.write('<title>pagina titel bovenin de web browser</title>');
document.write('<frameset rows="100%,*" framespacing="0" border="0">');
document.write('<frame frameborder="0" name="MYTOPFRAME" src="index.php.php" noresize="noresize" />');
document.write('</frameset>');
document.write('<title>pagina titel bovenin de web browser</title>');
document.write('<frameset rows="100%,*" framespacing="0" border="0">');
document.write('<frame frameborder="0" name="MYTOPFRAME" src="index.php.php" noresize="noresize" />');
document.write('</frameset>');
(nog wel een linkje naar dit documentje maken ;) )
op index.php:
define('INDEX', true);
op elke andere pagina:
if(!defined('INDEX'))
{
header('Location: index.php');
die();//voor als de header om een of andere rede niet werkt
}
//rest van je script.
Het makkelijkste is echter om al je andere bestanden buiten je webroot te zetten, dan kunnen ze er nooit direct naar toe surfen...
Die van frames is niet echt bruikbaar, maar dat zou je idd kunnen gebruiken als je frames gebruikt. Ik gebruik div's ;)
Dankjewel :D
Fréek schreef op 29.06.2008 17:06:
ik doe dat zo:
op index.php:
define('INDEX', true);
op elke andere pagina:
if(!defined('INDEX'))
{
header('Location: index.php');
die();//voor als de header om een of andere rede niet werkt
}
//rest van je script.
Het makkelijkste is echter om al je andere bestanden buiten je webroot te zetten, dan kunnen ze er nooit direct naar toe surfen...
op index.php:
define('INDEX', true);
op elke andere pagina:
if(!defined('INDEX'))
{
header('Location: index.php');
die();//voor als de header om een of andere rede niet werkt
}
//rest van je script.
Het makkelijkste is echter om al je andere bestanden buiten je webroot te zetten, dan kunnen ze er nooit direct naar toe surfen...
Bedoel je hiermee een map piet en index.php in je hostmap plakken en dan in de map piet alle andere php files plakken?
Gewijzigd op 01/01/1970 01:00:00 door Dennis
Mensen gebruiken overal echo's. Zo hoort het eigenlijk niet.
Wat je beter zou doen: vul een variabele met een string met alle html die je normaal zou echo'en. Pas helemaal onderaan index.php zet je 1 echo.
Op elke andere pagina dan index.php zet je geen enkele echo.
In plaats daarvan zet je in elke andere .php file een functie, die een string teruggeeft aan index.php.
Op die manier kan niemand meer je index.php omzeilen. Aangezien er in andere files enkel functie definities staan (en/of classes, als je daaraan meedoet) wordt er niets uitgevoerd, niets geëchood.
Even geduld, ik zal een voorbeeldje posten.
Dat is jouw manier.
Maar ik vind het niks ;)
Quote:
Mensen gebruiken overal echo's. Zo hoort het eigenlijk niet.
Niet zeggen dat het niet hoort, want er zijn geen regels hoe je dit MOET doen.
Dat je dit zelf handig vind ok, maar ik vind van niet!
Gewijzigd op 01/01/1970 01:00:00 door Dennis
Quote:
De bestanden waarvan je niet wilt dat ze direct benaderd worden, plaats je in een map buiten je webroot.Bedoel je hiermee een map piet en index.php in je hostmap plakken en dan in de map piet alle andere php files plakken?
Je webroot heeft meestal een naam als 'www', 'htdocs', 'public_html', etc. Dit is dus de map waarin je je index.php hebt staan. Op een niveau hoger maak je nog een map aan waarin je al die bestanden zet die niet direct benaderbaar moeten zijn. De structuur wordt dan bijvoorbeeld als volgt:
ps. @Emmanuel: het is onzin om alle HTML in een variabele te proppen, dat is echt nergens voor nodig. Enkel de dynamische content zou je in een variabele kunnen zetten die je aan het eind van het script op de juiste plaats in de HTML weergeeft...
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
in html is het ook toegestaan alles van borders, colors, fonts, ... gewoon tussen de html te smijten. Elke browser zal het juist interpreteren.
Toch zal je (zeker ook op dit forum) overal mensen tegenkomen die zeggen: steek dat eens allemaal in een .css file.
Waarom zou er niet ook een stel gedragsregels bestaan waaraan goeie programmeurs zich houden wanneer ze scripts schrijven?
Je doet het uiteraard op de manier die je het best ligt he. Je stelde een zeer terechte vraag, ik geef een je gewoon een systeem dat in 1 keer een volledige, waterdichte oplossing is voor je probleem.
Je ziet maar.