Altijd wijzen naar index.php?p=....

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Dennis

Dennis

29/06/2008 16:16:00
Quote Anchor link
Goedendag,
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
 
PHP hulp

PHP hulp

22/11/2024 14:43:12
 
Mebus  Hackintosh

Mebus Hackintosh

29/06/2008 16:19:00
Quote Anchor link
kijken met $_SERVER["PHP_SELF"] ?

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
 
Bas IJzelendoorn

Bas IJzelendoorn

29/06/2008 16:22:00
Quote Anchor link
zoiets als dit?

naampje.js
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>');


(nog wel een linkje naar dit documentje maken ;) )
 
Citroen Anoniem Graag

Citroen Anoniem Graag

29/06/2008 17:06:00
Quote Anchor link
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...
 
Dennis

Dennis

29/06/2008 17:35:00
Quote Anchor link
aight allemaal goede en dankbare posts!
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...


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
 
Emmanuel Delay

Emmanuel Delay

29/06/2008 17:57:00
Quote Anchor link
Kijk, dit is het echte probleem:

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.
 
Dennis

Dennis

29/06/2008 18:01:00
Quote Anchor link
ik snap het.
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
 
Joren de Wit

Joren de Wit

29/06/2008 18:24:00
Quote Anchor link
Quote:
Bedoel je hiermee een map piet en index.php in je hostmap plakken en dan in de map piet alle andere php files plakken?
De bestanden waarvan je niet wilt dat ze direct benaderd worden, plaats je in een map buiten je webroot.

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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
/public_html
  - index.php
/private
  - beschermd.php
  - beschermd2.php


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
 
Emmanuel Delay

Emmanuel Delay

29/06/2008 18:47:00
Quote Anchor link
Okay, er zijn niet echt regels. Zolang php geen fout geeft, heb je iets gemaakt wat je mag maken.

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.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.