Vraag & Antwoord

Webprogrammeren & scripting

[php] link voor naar page include

18 antwoorden
  • 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.
  • 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]
  • 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.
  • 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]
  • 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....)
  • 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.
  • vreemd bij mij werkt het namelijk wel..... [edit]mss helpt dit in je php.ini error_reporting = E_ALL & ~E_NOTICE [/edit]
  • 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.
  • 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: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
  • En dan vraag ik me weer af, hoe zet je die error-reporting dan zo hoog???
  • [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);
  • 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: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.
  • 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.
  • 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="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: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??

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.