anoniem Geplaatst: 19 maart 2004 Delen Geplaatst: 19 maart 2004 Beste mensen, Ik ben niet zo'n php-goeroe, maar wat basics vermaak ik mij prima. Op mijn website maak ik gebruik van layers ( css, daar ben ik wel een goeroe in :lol: ) . In de layers wil ik een pagina genereren. Waarom? Ik kan op deze manier gemakkelijk één pagina bewerken. Alle anderen werken gelijk mee. Ik heb namelijk een hekel aan frames. Nu schoot mij te binnen dat je gemakkelijk met een 'include' commando een pagina in een pagina kan sluiten. Ik gebruik het op deze manier: <div id="blanc"> <?PHP include("blanc.html"); ?> </div> Nu zou het mij mooi lijken om op een webpagina een link te maken die ervoor zorgt dat blanc.html veranderd in blanc2.html. Op deze manier blijft de opmaak ongewijzigd. Kan dat? ( Ik ben nu bezig met : www.destroy.nl , als je niet helemaal snapt wat ik bedoel) d. Quote Link naar reactie
anoniem Geplaatst: 21 maart 2004 Auteur Delen Geplaatst: 21 maart 2004 als je nou het volgende neerzet waar je nu die andere pagina include: [code:1:e063846766] <?php if($_GET['p']==""){ include('blanc.htm');} elseif($_GET['p']=="blanc2"){include('blanc2.htm');} else{ include('inc/error.php');} ?> Dit word dan een link code <a href="?p=blanc2">zet hier wat leuks neer</a> In je browser zie je dan www.jesite.nl/index.php?p=blanc2 [/code:1:e063846766] Quote Link naar reactie
anoniem Geplaatst: 21 maart 2004 Auteur Delen Geplaatst: 21 maart 2004 kan dat niet simpeler? ik heb: [code:1:1b57043fcb]<?PHP if ($page = 'netwerk') { include("netwerk.html"); } else if ($page = 'informatie') { include("about.html"); } else { echo "Geen pagina opgegeven."; } ?>[/code:1:1b57043fcb] alleen werkt deze niet helemaal. resultaat is [b:1b57043fcb]index.php?page=navigatie[/b:1b57043fcb] ik zal de andere code ook proberen. wat is er fout aan mijn code? php leek, d. Quote Link naar reactie
anoniem Geplaatst: 21 maart 2004 Auteur Delen Geplaatst: 21 maart 2004 Ipv $page moet je $_GET["page"] gebruiken... En een vergelijking doe je met == een toekenning met =. Jij wilt vergelijken, dus moet je == gebruiken.[code:1:c4a68621eb]if($_GET["page"] == 'netwerk') { include("netwerk.html"); }[/code:1:c4a68621eb] Quote Link naar reactie
anoniem Geplaatst: 21 maart 2004 Auteur Delen Geplaatst: 21 maart 2004 wat dacht je hiervan, [code:1:250b3b4d37]switch ($_GET["page"]) { case "netwerk": include("netwerk.html"); break; case "info": include("info.html"); break; case "about": include("about.html"); break; default: include("home.html"); }[/code:1:250b3b4d37] Zo gebruik ik het sinds kort ook. (moet nog ergens een topic van zijn, gaat dan vooral om veiligheid....) Quote Link naar reactie
anoniem Geplaatst: 21 maart 2004 Auteur Delen Geplaatst: 21 maart 2004 mm. het werkt. thanx Bill. ik krijg alleen een foutmelding: [b:bb5b892556]Notice: Undefined index: page in e:\www\html\start.php on line 55[/b:bb5b892556] Regel 55 is [b:bb5b892556]if($_GET["page"] == 'netwerk')[/b:bb5b892556] stierenoog. jouw oplosing werkt ook. maar ik krijg dezelfde foutmelding als bij die van Bill. Alleen bij jou staat er: [b:bb5b892556]switch ($_GET["page"]) {[/b:bb5b892556] ik denk dat dit aan het melden van foutmeldingen ligt. Zal ik anders het weergeven van foutmelding uitzetten in httpd.conf van mijn webserver? FF kijken of het werkt. Misschien dat jullie de oplossing van de error weten. d. Quote Link naar reactie
anoniem Geplaatst: 21 maart 2004 Auteur Delen Geplaatst: 21 maart 2004 vreemd bij mij werkt het namelijk wel..... [edit]mss helpt dit in je php.ini error_reporting = E_ALL & ~E_NOTICE [/edit] Quote Link naar reactie
anoniem Geplaatst: 21 maart 2004 Auteur Delen Geplaatst: 21 maart 2004 ik had het over httpd.conf. ik bedoelde php.ini. k had m al opgelost. thanx. error reporting heb ik nu staan op alleen fatale compile errors. moet kunnen. 8) ff verder knoeien. oh en ff de test ( de oplossing): http://www.destroy.nl/start.php http://www.destroy.nl/start.php?page=netwerk http://www.destroy.nl/start.php?page=about d. Quote Link naar reactie
anoniem Geplaatst: 22 maart 2004 Auteur Delen Geplaatst: 22 maart 2004 een notice is ook geen foutmelding.... Maar met zo'n switch() functie kun je em ook makkelijk uitbreiden denk ik, ik gebruik zoiets ook maar sinds pas, dus als je nog iets nieuws vindt, zou ik dat eigenlijk graag horen :).... Quote Link naar reactie
anoniem Geplaatst: 22 maart 2004 Auteur Delen Geplaatst: 22 maart 2004 [quote:c2ce96d5c7="stierenoog"]een notice is ook geen foutmelding....[/quote:c2ce96d5c7]:-? [quote:c2ce96d5c7="Dilbert"]error reporting heb ik nu staan op alleen fatale compile errors. moet kunnen. 8) [/quote:c2ce96d5c7]:-?, 'probeer' altijd met alle foutmeldingen aan te programmeren (liever niet proberen, maar gewoon doen)! De reden waarom die foutmelding verschijnt, is omdat [i:c2ce96d5c7]$_GET['page'][/i:c2ce96d5c7] ongedefineerd is (hoe wordt niet meegegeven met de url....). Je dient dus eerst te controleren of [i:c2ce96d5c7]$_GET['page'][/i:c2ce96d5c7] uberhaubt wel een waarde bevat. [code:1:c2ce96d5c7]$page = (isset($_GET['page'])) ? $_GET['page'] : '' ; switch ($page) { case 'netwerk': include('netwerk.html'); break; case 'info': include('info.html'); break; case 'about': include('about.html'); break; default: include('home.html'); }[/code:1:c2ce96d5c7] -Rémy Quote Link naar reactie
anoniem Geplaatst: 22 maart 2004 Auteur Delen Geplaatst: 22 maart 2004 En dan vraag ik me weer af, hoe zet je die error-reporting dan zo hoog??? Quote Link naar reactie
anoniem Geplaatst: 22 maart 2004 Auteur Delen Geplaatst: 22 maart 2004 [quote:7b745458d3="stierenoog"]En dan vraag ik me weer af, hoe zet je die error-reporting dan zo hoog???[/quote:7b745458d3] error_reporting(E_ALL); Quote Link naar reactie
anoniem Geplaatst: 22 maart 2004 Auteur Delen Geplaatst: 22 maart 2004 remy. idd jouw oplossing werkt. ik heb de weergave van foutmeldingen teruggezet naar all. Ik krijg geen foutmelding meer. ik vond het al zo raar dat ik een waarde op [b:3a474e9320]moest [/b:3a474e9320]geven achter de pagina: index.php?page=voorbeeld. Dit gaf namelijk geen foutmelding. zonder: index.php dus wel. Ik begin php te snappen. 8) d. Quote Link naar reactie
anoniem Geplaatst: 23 maart 2004 Auteur Delen Geplaatst: 23 maart 2004 [quote:42a9e72e75="InZane"]error_reporting(E_ALL);[/quote:42a9e72e75]Wist niet dat PHP daarvoor een aparte functie voor heeft. Gebruik zelf altijd [i:42a9e72e75]ini_set('error_reporting', E_ALL)[/i:42a9e72e75]. Echt weer PHP om overal een functie voor te hebben :D. [quote:42a9e72e75="Dilbert"]remy. idd jouw oplossing werkt. ik heb de weergave van foutmeldingen teruggezet naar all. Ik krijg geen foutmelding meer.[/quote:42a9e72e75]Maar zorg er wel weer voor dat je op een productiesite het weer uit zet (fouten niet meer op het scherm maar via andere wegen melden). -Rémy p.s. Merk ook op dat ik alle [b:42a9e72e75]"[/b:42a9e72e75] verandert heb in [b:42a9e72e75]'[/b:42a9e72e75]. De parser kijkt dan niet of er variabelen in de string zitten en dat scheelt weer tijd. Quote Link naar reactie
anoniem Geplaatst: 23 maart 2004 Auteur Delen Geplaatst: 23 maart 2004 ik zag het gaaf. Ik ben nu besig de layers naar het midden van de pagina te positioneren met css, dan moet het klaar zijn. hier ben ik wel heel blij mee. scheelt een hoop pagina's. ik ga denk ik meer php foefjes proberen. d. Quote Link naar reactie
anoniem Geplaatst: 7 september 2004 Auteur Delen Geplaatst: 7 september 2004 Dit houdt dus eigenlijk in dat je de alle variabelen TOCH moet definieren.. (als is het maar om het feit dat er misschien een 1 in dat stukje geheugen kan staan terwijl je van een 0 uitging) Quote Link naar reactie
anoniem Geplaatst: 7 september 2004 Auteur Delen Geplaatst: 7 september 2004 [quote:7c3acf0174="sander16v"]Dit houdt dus eigenlijk in dat je de alle variabelen TOCH moet definieren.. (als is het maar om het feit dat er misschien een 1 in dat stukje geheugen kan staan terwijl je van een 0 uitging)[/quote:7c3acf0174] Idd, je MOET alle variablen definieren (tenminste dat zou je moeten doen) Ik gebruik trouwens in de production environment ook error_reporting(E_ALL); (vanwege de veiligheid dat IK het eerder kan fixen dan dat iemand er achter komt, klinkt idioot omdat het misschien bijdraagt aan de te hacken pagina, maar goed ;) ) Quote Link naar reactie
anoniem Geplaatst: 7 september 2004 Auteur Delen Geplaatst: 7 september 2004 [quote:577fa15e63="Tim 2K"]Ik gebruik trouwens in de production environment ook error_reporting(E_ALL); (vanwege de veiligheid dat IK het eerder kan fixen dan dat iemand er achter komt, klinkt idioot omdat het misschien bijdraagt aan de te hacken pagina, maar goed ;) )[/quote:577fa15e63] Bedoel je dat E_ALL laat staan bij de "live" site?? Quote Link naar reactie
anoniem Geplaatst: 7 september 2004 Auteur Delen Geplaatst: 7 september 2004 Inderdaad ja. Het punt is alleen dat aangezien ik mijn site nu nog aan het developen ben ik een .htaccess file gebruik om een password protected te houden (dus niemand kan er in principe op, behalve diegene die ik ff het w8woord heb gegeven) en ik zorg meestal eerst dat mijn pagina's safe zijn voordat ik ze upload. Tim 2K Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen