variabelen [aangepast] als array
ik ben al een aardig tijdje bezig met een website die makkelijk aanpasbaar moet zijn http://treviz.dize.nl
aangezien ik nog een beginnertje ben :P wil nog niet alles lukken, waaronder de pagina navigatie met de get functie.
daarvoor heb ik deze code (afkomstig van phphulp) gepakt.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
echter vraag ik me nu af, of de $toegestaan ook arrays kunnen bevatten die ipv een woord, een string zijn bv. $toegestaan=array($tBL6a[0], $tBL7a[0])
en hoe ik dit voor elkaar krijg.
de links van mijn navigatie menu zijn namelijk een variabelen, die in de conf file staan, en van daaruit makkelijk veranderd kunnen worden.
mocht het mogelijk zijn, maakt het dan nog iets uit voor de veiligheid van het script, of is het sowieso slecht beveiligd?
ik hoop dat het een beetje duidelijk is ;)
ik ben al een poos op zoek naar een goed script, maar er zit veel zooi tussen, vandaar deze post
alvast bedankt
Gewijzigd op 01/01/1970 01:00:00 door Rowan
toon misschien eens hoe jij het dan hebt...
ik geloof gewoon dat je bedoelt dat je je array wil opvullen met variabelen; in dat geval: dat kan.
rowan schreef op 07.11.2008 13:43:
echter vraag ik me nu af, of de $toegestaan ook arrays kunnen bevatten die ipv een woord, een string zijn bv. $toegestaan=array($tBL6a[0], $tBL7a[0])
en hoe ik dit voor elkaar krijg.
en hoe ik dit voor elkaar krijg.
In princiepe kan je op die manier een array vullen met waarden van een andere array.
Wat je ook kunt doen is ipv $toegestaan te nemen, $hierdenaamvandieanderearray, maar dan moeten wel alle pagina's bezocht mogen worden en geen andere dingen in staan.
in mijn config heb ik bijvoorbeeld dit staan:
dit is de naam van het php bestand (index) en de naam van de link (home) op positie 1a.
aangezien deze aangepast kunnen worden, is het belangrijk, dat als ze aangepast worden, deze ook in de lijst komen te staan van pagina's die toegestaan zijn.
moet ik de variabelen eerst oproepen via echo? of hoe kan ik het beter doen?
@karl
1. dat eerste bedoel ik
2. dat tweede zal niet gaan lukken, aangezien ik veel verschillende arrays heb.
Gewijzigd op 01/01/1970 01:00:00 door rowan
Wat je ook kan doen is gewoon Wordpress pakken, dat als CMS gebruiken en eenvoudig je template (design) erin gooien...
roep je variabelen op en zet ze in een nieuwe array die je bijvoorbeeld $paginas noemt...
http://www.php.net/function.file-exists
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
if (isset($_GET['page']))
{
$pagina = strtolower($_GET['page']);
} else {
$pagina = 'index';
}
if (file_exists("input/text/".$pagina.".php")){
include("input/text/".$pagina.".php");
}
else{
include("home.php");
}
?>
if (isset($_GET['page']))
{
$pagina = strtolower($_GET['page']);
} else {
$pagina = 'index';
}
if (file_exists("input/text/".$pagina.".php")){
include("input/text/".$pagina.".php");
}
else{
include("home.php");
}
?>
en even over wordpress...
als je een beginner bent en php wil leren zou ik eerst dit doen, gewoon zelf prutsen met bestanden en includes, als je dat een beetje onder de knie hebt eens kijken of je er een database bij kan pakken en dan met een inlog scriptje een eigen cms(je) gaan bouwen.
zo ben ik ook begonnen, nu werk ik met wordpress, maar om daar php van te leren iss minder makkelijke en leuk dan zelf en ding proberen te bouwen.
als je voor andere mensen sites gaat bouwen zou ik iig naar een cms toe gaan ivm veiligheid en support.
Edit:
ore = erts
te = niks
(zie de text in je index.php)
html = valid
http://validator.w3.org/check?uri=http%3A%2F%2Ftreviz.dize.nl%2Ftreviz%2Findex.php&charset=%28detect+automatically%29&doctype=Inline&group=0
css = valid
http://jigsaw.w3.org/css-validator/validator?uri=http%3A%2F%2Fvalidator.w3.org%2Fcheck%3Furi%3Dhttp%253A%252F%252Ftreviz.dize.nl%252Ftreviz%252Findex.php%26charset%3D%2528detect%2Bautomatically%2529%26doctype%3DInline%26group%3D0&profile=css21&usermedium=all&warning=1&lang=en
gaat de goede kant op ;)
let even op: als je niet oplet kunnen mensen fouten bestanden includen door ../../index te typen bijvoorbeeld.
ore = erts
te = niks
(zie de text in je index.php)
html = valid
http://validator.w3.org/check?uri=http%3A%2F%2Ftreviz.dize.nl%2Ftreviz%2Findex.php&charset=%28detect+automatically%29&doctype=Inline&group=0
css = valid
http://jigsaw.w3.org/css-validator/validator?uri=http%3A%2F%2Fvalidator.w3.org%2Fcheck%3Furi%3Dhttp%253A%252F%252Ftreviz.dize.nl%252Ftreviz%252Findex.php%26charset%3D%2528detect%2Bautomatically%2529%26doctype%3DInline%26group%3D0&profile=css21&usermedium=all&warning=1&lang=en
gaat de goede kant op ;)
let even op: als je niet oplet kunnen mensen fouten bestanden includen door ../../index te typen bijvoorbeeld.
Gewijzigd op 01/01/1970 01:00:00 door pepijn de vos
wordpress is niet de kant die ik (nog) niet op wil. dan ben ik meer bezig met codes te ontcijferen en aanpassen, dan zelf stuntelen met eigen gebrouwde, of gevonden scripts.
to the point:
@pepijn: is deze manier een beetje veilig? als dat zo is dan scheelt het aardig wat variabelen invoeren.
maar kunnen bezoekers niet een script oproepen zoals http://treviz.dize.nl/treviz/index.php?pagina=<script>window.location = "http://www.google.be/"</script>
of andere manieren om mijn url te misbruiken?
ik gebruik sowieso de file exists functie voor het weergeven van de link in het navigatie menu.
Code (php)
1
<?php if ( file_exists ('input/text/'. $tBL1a[0].'.php' ) ) { print "<li><a href='index.php?pagina=".$tBL1a[0]."'>".$tBL1a[1]."</a></li>";} ?>
dus nu de vraag wat het best te doen ;)
ik heb nu de script hierboven ingevoegd (na een half uur kwam ik erachter waarom hij telkens niet wilde werken:P, ik gebruik pagina ipv page ;)), echter kan ik via de manier zoals hierboven weergegeven op een andere pagina komen.
Gewijzigd op 01/01/1970 01:00:00 door rowan