Archief - PHP: vars meegeven in header()

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Zeppelin

Legacy Member
Hello

K heb een bestelformuliertje dat na validatie redirect wordt naar de pagina waar de geg. in de DB komen.

Na de validatie doe k dus header:("location:submit.php"); ma probleem is da de variabelen niet worden meegegeven, k zou ze via url kunnen meegeven ma das ni echt secure dus moet het me POST werken.
order.php:
PHP:
	if(isset($_POST['check'])){
		$name = $_POST['name'];
		$college_full = $_POST['college_full'];
		$college_short = $_POST['college_short'];
		$email = $_POST['email'];
		$departure = $_POST['departure'];
		$depart_date = $_POST['depart_date'];
	
			if(!$name || !$college_full || !$college_short || !$email || !$departure || !$depart_date){
				$error = "All of the fields are requiered, please fill them all in.";
				$error_check = 1;
			}
			else{
				header("location: submit.php");
			}
	}

Iemand enig idee? K weet dak ook alles via dezelfde pagina zou kunnen doen, ma das als last resort. Ne mens moet toch ook es iet bijlere he ;)

Zeppelin

Legacy Member
ok, da lukt dus, ma k krijg een vensterke me de vraag:"this site is being redirected to a new location, would you like to resend the information to the new form?"

of iet in dien aard...

xml

Legacy Member
Die melding is wss browserafhankelijk en zal je dus (met deze oplossing) niet kunnen vermijden. Het is dan eigenlijk ook geen 'correcte' oplossing.

Waarom moet je eigenlijk perse POST values meesturen met je redirect?

Kn0t

Legacy Member
Ik zou de validatie en het toevoegen in de DB op dezelfde pagina doen hoor.

De gebruiker kan anders ook rechtstreeks naar die pagina surfen waar je gegevens toegevoegd worden aan de DB, en zo de validatie omzeilen.

Als je de logica van het valideren en het toevoegen van mekaar wil scheiden kan je evt. met verschillende classes werken ipv verschillende paginas.

xml

Legacy Member
In principe is het goed van dat in verschillende bestanden te doen hoor, maar ik zie niet in waarom het wegschrijven nog eens op een afzonderlijke pagina moet.

formulier.php > submitgegevensnaar > verwerk.php : doet controle, goed: databankverwerking+redirect naar .. ; slecht: redirect naar error page

frenzal

Legacy Member
je kunt misschien tijdelijk uw gegevens tijdelijk wegschrijven naar een sessie en dan op volgende pagina weer oproepen

EdMeister

Legacy Member
Compleet onnodige tussenstap... :ironic:
Btw, GET en POST zijn even onveilig. ;)

xml

Legacy Member
EdMeister zei:
Compleet onnodige tussenstap... :ironic:
Btw, GET en POST zijn even onveilig. ;)

= het soort reacties waar je werkelijk niets aan hebt.

:ironic: !

WHiSPy

Legacy Member
EdMeister zei:
Compleet onnodige tussenstap... :ironic:
Btw, GET en POST zijn even onveilig. ;)

Wat zou gij dan gebruiken? PUT? :)

Om de flaws in http aan te kaarten zit ge in de verkeerde topic. ;)

EdMeister

Legacy Member
xml zei:
= het soort reacties waar je werkelijk niets aan hebt.

:ironic: !
*zucht*
Ik zeg dat hij een compleet onnodige tussenstap wil maken, is dat dan nutteloos? Moet je hier tegenwoordig echt alles met handen en voeten beginnen uitleggen?

PHP:
if(!$_POST...) {
// error handling
} else {
// process form
}
Dus: in het 'else' blok geen headerke meer steken, maar direct uwe form behandelen, die redirect heeft geen enkel nut. Wilt ge da stuk echt in een andere file steken, gebruik dan een include of een require.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan