header("location:$url"); funktioniert im include nicht

Amschti

Erfahrenes Mitglied
Hallo

eigendlich hat diese "header("location:$url")" immer funktioniert, nun streikt es auf einmal.

ich habe in einer index.php seite alle includes von den seiten gemacht, funktioniert hervorragend. nun bin ich an ein problem gestossen.

Ich habe ein Formular rein per PHP gemacht, sobald man diese abschickt nach "seiten/registr2.php" (also ohne include) speichert es dort die Post daten in einem Array und gebe es per session wieder zurück zum Formular dies ebenfalls mit header funktion,
PHP:
header("location:../index.php?action=registr");
was auch funktioniert..

jetzt werden die fehler angezeigt, oder falls alles korrekt ist sollte es gleich weiterleiten zum eintrag in die db, dafür habe ich eine seperate .php seite bei "?action=registr3"
das ganze sieht so aus: (Bitte nicht lachen bin kein Profi, aber alles selbst geschrieben ;)

PHP:
<?php
session_start();
$_SESSION['controll'];
$eintrag = $_SESSION['controll'];

/* FehlerKontrolle */

$leer = 				'<h5>Bitte Feld ausfüllen</h5>';
$wiederholung =	'<h5>Ihnen ist hier ein Fehler bei der Wiederholung unterlaufen, versuchen sie es erneut</h5>';
$doppelt = 			'<h5>Ihre E-mail Adresse ist bereit registriert, haben Sie Ihr passwort vergessen?
								so kontaktieren Sie mich bitte.</h5>';
?>

<form id="registr" action="seiten/registr2.php" method="post"
	 enctype="multipart/form-data">
<fieldset>
	<legend>Personalien</legend>


		<p>
			<label for="name">Name*</label>
			<input id="name" name="name" type="text" size="20"
			value="<?php echo $eintrag['0']; ?>" maxlength="50"/>
			<?php
			if (!isset($eintrag['0'])) { } else {

			if ($eintrag['0']== "") {	echo $leer; } else { $ok0 = ok;  }

			}	?>
		</p>
		<p>
			<label for="vorname">Vorname*</label>
			<input id="vorname" name="vorname" type="text"  size="20"
			value="<?php echo $eintrag['1']; ?>"maxlength="50"/>
			<?php
			if (!isset($eintrag['1'])) { } else {
			if ($eintrag['1']== "") {	echo $leer; }else{ $ok1 = ok;  } } ?>
		</p>
		<p>
			<label for="strasse">Strasse*</label>
			<input id="strasse" name="strasse" type="text"  size="25"
			value="<?php echo $eintrag['2']; ?>"maxlength="50"/>
			<?php
			if (!isset($eintrag['2'])) {} else {
			if ($eintrag['2']== "") {	echo $leer; }else{ $ok2 = ok;  } } ?>
		</p>
		<p>
			<label for="plz">PLZ*</label>
			<input id="plz" name="plz" type="text"  size="5"
			value="<?php echo $eintrag['3']; ?>"maxlength="5"/>
			<?php
			if (!isset($eintrag['0'])) {} else {
			if ($eintrag['3']== "") {	echo $leer; }else{ $ok3 = ok;  } }?>
		</p>
		<p>
			<label for="wohnort">Wohnort*</label>
			<input id="wohnort" name="wohnort" type="text"  size="25"
			value="<?php echo $eintrag['4']; ?>" maxlength="50"/>
			<?php
			if (!isset($eintrag['4'])) {} else {
			if ($eintrag['4']== "") {	echo $leer; } else{ $ok4 = ok;  }} ?>
		</p>
		<p>
			<label for="telefon">Telefon</label>
			<input id="telefon" name="telefon" type="text"  size="25"
			value="<?php echo $eintrag['5']; ?>"maxlength="50"/>
			<br />
		</p>
		<p>
		<p>
			<label for="homepage">Homepage<br /></label>
			<input id="homepage" name="homepage" type="text"  size="25"
			value="<?php echo $eintrag['6']; ?>" maxlength="50"/>
		</p>
			<label for="mail">E-Mail*</label>
			<input id="mail" name="mail" type="text"  size="25"
			value="<?php echo $eintrag['7']; ?>" maxlength="50"/>
			<?php
			if (!isset($eintrag['7'])) {} else {
			if ($eintrag['7']== "") {	echo $leer; }else{ $ok7 = ok;  } }?>
		</p>
		<p>
			<label for="mailw">E-Mail wiederholung*</label>
			<input id="mailw" name="mailw" type="text"  size="25"
			value="" maxlength="50"/>
			<?php
			if (!isset($eintrag['8'])) {} else {
			if ($eintrag['8']== "")  {	echo $leer; } else {
			if ($eintrag['8'] == $eintrag['7']){ $ok8 = ok;  } else  {	echo $wiederholung; }}}?>
		</p>
</fieldset>
<fieldset>
	<legend>Passwort</legend>

		<p>Sie bekommen das Passwort per Email zugeschickt, bewahren Sie es gut auf, da dieses Passwort im System verschl&uuml;sselt wird<br/>
		Sollten Sie Ihr Passwort vergessen haben so kontaktieren Sie mich bitte.</p>
		<p>
			<label for="passwort">passwort*</label>
			<input id="passwort" name="passwort" type="password" value="" size="25" maxlength="50"/>
			<?php
			if (!isset($eintrag['9'])) {} else {
			if ($eintrag['9']== "")  {	echo $leer; } else{ $ok9 = ok;  }} ?>
		</p>
		<p>
			<label for="passwortw">passwort wiederholung*</label>
			<input id="passwortw" name="passwortw" type="password"  size="25" value=""maxlength="50"/>
			<?php
			if (!isset($eintrag['10'])) { } else {
			if ($eintrag['10']== "")  {	echo $leer; } else {
			if ($eintrag['9'] == $eintrag['10']){ $ok10 = ok;  } else  {	echo $wiederholung; }}} ?>
		</p>


	 </fieldset>

<input class="" type="submit" value="Registrieren">
</form>


<?php
		if($ok0==ok){
			if($ok1==ok){
				if($ok2==ok){
					if($ok3==ok){
						if($ok4==ok){
							if($ok7==ok){
								if($ok8==ok){
									if($ok9==ok){
										if($ok10==ok){

												echo "alles in ordnung"; //das zeigt es bei korrektheit auch an.....
						           header("location:?action=registr3"); //Und genau das will nicht funktionieren
											} else{}
										} else{}
									} else{}
								} else{}
							} else{}
						} else{}
					} else{}
				} else{}
 			}else{}
?>

liegt das alleine dran das es eine include datei ist?

Vieleicht könnt ihr mich ja kurz kritisieren wie dämlich meine variante der kontrolle ist.... ich lerne gerne dazu!
 
wow! Danke vielmal! funktioniert, jetzt komm ich auf die nächste seite aber wieso werden die Session's nicht weitergegeben? :D
 
Hast du auf der nächsten Seite ein session_start(); ? Führe auf beiden Seiten mal ein var_dump($_SESSION) aus, dann siehst du was in den Sessions enthalten ist (die Weiterleitung dann natürlich auskommentieren)
 
Nochmals danke! anscheinend kommt da was an, aber irgend ein fehler ist da trotzdem drin..... naja, mache morgen weiter!! Vielen dank Rodney! du bist der beste ;)
 
Zurück