Weiterleitung nach Wahrheitsprüfung?

preko

Erfahrenes Mitglied
Hi,

ich möchte erreichen, dass nach Prüfung einer Variablen ein User auf die Formularseite zurückgeleitet wird, falls eine der geprüften Variablen nicht existiert.

Ich habe mir folgendes gedacht:
PHP:
...
if ($_POST['name'] == 0) { 
  		Header("Location: formular.php");
  	} 
if ($_POST['telefon'] == 0) { 
  		Header("Location: formular.php");
  	}
...

Funktioniert nicht, da der Header durch eine andere Aktion im Script bereits übermittelt wurde.

Wie kann ich mehrere Abfragen "gebündelt" prüfen und ggf. dann erst, falls eine der zu prüfenden Variablen "0" oder "false" zurückliefert auf die Formularseite zurückleiten ohne die Funktion Header zu benutzen?


Beste Grüße,
preko
 
Hiho!
Auch hier kann ich wieder JavaScript empfehlen.

Code:
<script language="javascript">
	setTimeout("document.location.href='formular.php'",100);
</script>

Heißt also:
PHP:
if ($_POST['name'] == 0 || $_POST['telefon'] == 0) {
     ?>     
Daten in Ordnung
    <script language="javascript">
	setTimeout("document.location.href='formular.php'",100);
   </script>
<?php
      }


Gibt sicherlich noch ne elegantere Lösung, aber diese hier ist sehr einfach ;)

Cya
-Perry-
 
Zuletzt bearbeitet:
PHP:
if (empty($_GET['x']) || empty($_GET['y']) || empty($_GET['z']))
    header('Location: ..');


Ich hoffe mal, das ist wonach du suchst.
Wenn du nachvollziehen können willst, welcher Wert nicht gesetzt war, müsstest du allerdings auf eine komplexere Struktur zurückgreifen.


HTH xxenon

@perryrhodans

Ich kapier gerade nicht so ganz, was der Vorteil dieses JavaScripts sein soll...
 
Hi,

erst einmal vielen Dank für die Tipps.

@ xxenon:

Der Sinn der Javascript Lösung ist der, dass ich nach einer Möglichkeit gesucht habe, ohne Header Funktion zu arbeiten, da ein Kalenderscript inenrhalb der Seite bereits eine Headerübermittlung macht, so dass die Benutzung der Headerfunktionalität eine Fehlermeldung zur Folge hat.
JavaScript ist zwar in diesem Fall umständlicher aber wahrscheinlich die bessere Lösung.


Beste Grüße,
preko
 
Zurück