Ik wil dat als je op het zoek tekentje drukt, dat je wordt doorverwezen naar /paneel/profiel/{INGEVOERDE GEBRUIKER}
maar ik heb geen idee hoe ik dit moet doen.. Enige suggesties?
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\paneel\assets\include\header.php:96) in C:\xampp\htdocs\paneel\assets\include\menu.php on line 14
Er mag geen output zoals HTML en Witregels voor staan (zie ook header.php regel 96)). Deze code dus bovenaan je script uitvoeren. Deze melding is ook makkelijk via Google te vinden.
Er mag geen output zoals HTML en Witregels voor staan (zie ook header.php regel 96)). Deze code dus bovenaan je script uitvoeren. Deze melding is ook makkelijk via Google te vinden.
[size=xsmall]Toevoeging op 04/01/2017 16:07:37:[/size]
<?php
// DEEL 1: HIER DE APPLICATIE. GEEN ENKELE OUTPUT. GEEN HTML EN GEEN ECHO E.D. (hooguit een exception die ook direct je applicatie doet stoppen).
// ALS EERSTE HIER DE INCLUDES VAN BESTANDEN WAARIN GEEN OUTPUT GEGENEREERD WORDT
include 'config.php';
include 'connect.php';
// BEGIN WANNEER NODIG OF VAN MIJN PART ALTIJD MET HET INITIALISEREN VAN DE VARIABELEN DIE JE GEBRUIKT
$errors = array();
$message = '';
$id = 0;
// DAN BEGINT JE APPLICATIE. INDIEN ER EEN FORMULIER AANWEZIG IS KRIJG JE TYPISCH IETS ALS DIT:
if($_SERVER['REQUEST_METHOD']=="POST") {
// hier je afhandeling het formulier
$message = 'De gegevens zijn opgeslagen';
}
// DEEL 2: BEGIN MET DE OUTPUT:
include 'header.php'; // in header.php vindt je html. zoiets als '<html><head>...</head><body>'
echo '<div id="message">' . $message . '</div>';
?>
<form action="" method="post">
...
</form>
<?php
include 'footer.php'; // in footer.php vindt je html. zoiets als '...</body></html>'
?>
Of je splitst dit op een andere manier op in logische eenheden, zodat er een nog betere scheiding is tussen wel/geen output.
In het bovenstaande codefragment van @Frank, wat een verbetering kan zijn ten opzichte van wat je nu hebt, worden er nog steeds (tenminste) twee "taken" gecombineerd:
- het weergeven van een formulier
- het verwerken van een formulier
Indien je je code zo op kunt zetten/in kunt delen dat er per "logische eenheid" slechts één taak wordt verricht dan heb je ook veel meer controle over output. Deze is er dan namelijk "wel" of "niet" en niet "soms" zoals in bovenstaande code.
Als je het helemaal in een logische structuur wilt hebben, dan kan je het zelfs in 'templates' hakken.
Dan hoef je al helemaal geen HTML te gebruiken tussen je PHP-code's. Maar ik denk dat het verstandiger voor Rob is om eerst even te experimenteren met de de basis van PHP waar die nu mee bezig is.