PDA

Volledige versie bekijken : PHP: forwarding



Miche
13 april 2004, 06:06
T'is mischien een domme vraag maar.. is er een functie in PHP die u doorstuurt naar een andere pagina? bv: mijn formulier, en de werking daarvan, bevindt zich op het bestand imgupload.php en ik zou willen dat als hij de PHP-code heeft doorlopen (om dus de images enzo te uploaden, en om na te kijken of alles wel correct is ingevoerd) dat hij dan doorstuurt naar een andere pagina, waarop ik dus een notice kan zetten, bv: 'Alle bestanden zijn met succes naar de server ge-upload' of 'Je hebt verkeerde gegevens ingegeven, gelieve deze nog eens na te kijken'

PS: een andere functie dan de header-functie.. want omdat ik met een redelijk groot bestand zit (ook met HTML) kan de header-functie een hoop problemen geven..

PS2: of een andere oplossing om eventueel op de zelfde pagina notice's te kunnen weergeven zonder dat het formulier dan word weergegeven..

J-Style
13 april 2004, 08:55
Ge kunt toch met een IF-clause werken, op dezelfde pagina.


if ( alles ingevuld is){
echo 'Alles is ingevuld.';
}else{
echo 'Niet alles is ingevuld.';
}


Ik snap niet waarom ge da gewoon zo niet kunt laten noticen, ipv da naar een andere pagina te sturen..

Dece
13 april 2004, 11:25
je kan een javascript laten echo'en
vb:


<?php
if (!empty($var)) {
echo '<script language="JavaScript" type="text/javascript">
<!--
alert("Succesvol toegevoegd. U wordt nu doorgestuurd naar de volgende pagina");
location.href="pagina2.php";
//-->
</script>';
}
else {
//zelfde maar met foutmelding
}
?>

killgore
13 april 2004, 12:41
je hebt ook meta-constructies

en de header in php is ook handig, maar dan mag je niks van output hebben hiervoor + hij verwijst zonder tijdspanne of warning.


header("Location: page2.php");

meta:

<meta http-equiv="refresh" content="5;URL=jouwpage.html">

ververst na 5 seconden

Fr3aK
13 april 2004, 15:48
Ik gebruik header omdat da gewoon het handigste is.
Ge moogt het eenders waar plaatsen in uw bestand zolang dache maar ob_start(); gebruikt bovenaan de page:


ob_start();

Rest van de file.....

header("Location: bla.php");

xml
13 april 2004, 16:20
vrij belastend voor de server wel dat.

Miche
13 april 2004, 18:26
hmm thx voor de verschillende manieren! probleem bij mij is dat die HTML code bij mij heel groot is, waardoor die header wrs problemen gaat geven..

maar goed, thx!

dJeez
13 april 2004, 21:00
Originally posted by Miche
hmm thx voor de verschillende manieren! probleem bij mij is dat die HTML code bij mij heel groot is, waardoor die header wrs problemen gaat geven..

Hoe "groot" je HTML content is, is totaal naast de kwestie. Het enige waar je moet voor zorgen is dat je de Header functie aanroept alvorens je enige andere output naar de browser gestuurd hebt.

Je kan trouwens best de HTML output zoveel mogelijk scheiden van je eigenlijke PHP script (en ja, dat kan ook voor de volle 100%).

Miche
14 april 2004, 02:14
hmm.. dus die header functie moet ik int begin van het document aanroepen, voor ik met html begin?

Dece
14 april 2004, 11:09
ja
maar wel liefst na het verwerken van u php code, anders zal de parser niet doen wat je van hem verlangt

Lashknife
14 april 2004, 14:33
Originally posted by xml
vrij belastend voor de server wel dat.
hangt van result-pagesize af

ge kunt ook alle input niet direct laten echo'en, maar bij een string laten bijvoegen ofzo (max chars weet ik niet dus go check) en dan outputten, maar again, ook dit hangt gewoon van result pagesize af