Doorsturen naar nieuwe pagina

Status
Niet open voor verdere reacties.

cyberexe

Gebruiker
Lid geworden
13 feb 2006
Berichten
144
hallo mensen,

ik heb een opdracht voor school waarbij ik een absentieregistratie moet maken.
ik heb een pagina waarop aanvragen van verlof van elke gebruiker staan.
als er op bekijken wordt gedrukt kan de administratie gebruiker de aanvraag goedkeuren of afkeuren.

als er op 1 van de 2 knoppen is gedrukt update een query de gegevens in de tabel.
daarna wordt hij mbv een header terug naar het overzicht gestuurd.
aan die header zitten gegevens gekoppeld. zoals status='goedgekeurd'
op de pagina van het overzicht wordt gekeken of de status goedgekeurd is ja/nee.
zo ja, dan moet er en header met gegevens naar een andere pagina worden gestuurd.

deze header staat onderaan de pagina, omdat eerst de pagina weergegeven moet worden en daarna pas de header mag worden verstuurd.
echter krijg ik hier dan de header already sent melding.

weet iemand hier een oplossing voor??

dit is nu mijn code aan het eind van de pagina na de footer:

PHP:
<?php
if (isset($_GET['weetnietwat']) == 'inderdaad'){
header("Location: brief_verlof.php?status=goedgekeurd&leerling=".$_GET['leerling']."&begindatum=".$_GET['begin_datum']."&einddatum=".$_GET['eind_datum']."&lesuurvanaf=".$_GET['lesuur_vanaf']."&lesuurtot=".$_GET['lesuur_tot']."");
}?>
 
deze header staat onderaan de pagina, omdat eerst de pagina weergegeven moet worden en daarna pas de header mag worden verstuurd.

Dat gaat dus niet werken, zo is de functie header niet bedoeld. Er zijn tientallen threads hierover en altijd staat het antwoord erbij...
 
probeer dit is dit werkte bij mij namenlijk wel:

Helemaal boven aan de pagina (boven html dus):
PHP:
<?php
ob_start();
?>

Helemaal onder aan de pagina (onder html dus):
PHP:
<?php
ob_end_flush();
?>
 
Output bufferen is gewoon een "smerig" trucje om deze foutmelding weg te halen, niet om hem op te lossen.

Waarom zet je niet gewoon de informatie op de huidige pagina (dus waar je die header() aanvraagt) op de pagina welke je met header() aanroept neer?
 
PHP:
if (isset($_GET['weetnietwat']) == 'inderdaad'){

Ligt het aan mij, of is dit een beetje een vreemd statement? Wat controleert ie nou, of hij bestaat, of of de inhoud 'inderdaad' is?
 
ik zal proberen of het werkt met de ob_start() en anders wordt het toch de informatie op dezelfde pagina plaatsen.

de bedoeling is namelijk om een word document te laten printen nadat de informatie op deze pagina weergegeven is. in dit document komen namelijk de gegevens die meegepost zijn weergegeven.

iig bedankt voor jullie steun!
 
de bedoeling van de statement is dat "weetnietwat" inderdaad is.
dus op de vorige pagina wordt meegegeven:
PHP:
header("Location: (pagina).php?weetnietwat='inderdaad'&gebruiker='(gebruiker)'");

als dus "weetnietwat" inderdaad is, dan moet ie naar het script linken voor het maken van een word document.
 
En dat gebeurt ook allemaal?

Als ik die statement zo lees dan komt daar of
PHP:
if(TRUE == 'inderdaad') {
of
PHP:
if(FALSE == 'inderdaad') {
uit...
 
Dat bedoelde ik inderdaad.

PHP:
if (isset($_GET['weetnietwat']) == 'inderdaad'){
// Oftewel:
// (Als variabele $_GET['weetnietwat'] bestaat) == 'inderdaad'){

// Als resultaat krijg je dus wat ThaDevil zegt. isset($_GET['weetnietwat'] returnt TRUE of FALSE, en dat vergelijk je met 'inderdaad'.

// Je hele statement is altijd FALSE.
 
Laatst bewerkt:
dit had ik ook en toevallig heb ik hed net vegehaald

je moet Session_start;

boven aan zetten en geen echo of spatie er bove of er naast
 
session_start();? :shocked:

Dat is nieuw voor mij, dus dat gaat dit probleem oplossen?
 
Gebruik gewoon het volgende :
PHP:
<?php 
if ($_GET['weetnietwat'] == 'inderdaad') { 
header("Location: brief_verlof.php?status=goedgekeurd&leerling=".$_GET['leerling']."&begindatum=".$_GET['begin_datum']."&einddatum=".$_GET['eind_datum']."&lesuurvanaf=".$_GET['lesuur_vanaf']."&lesuurtot=".$_GET['lesuur_tot'].""); 
}
?>
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan