Verlinkung wenn if bedingung erfüllt ist?

fluorescence

Grünschnabel
Hi, ist bestimmt voll die dumme einfache Frage. Ich hab eine Passwordabfrage gebaut. Und alles was ich nun möchte ist, wenn das richtige passwort eingegeben wurde der mich auf ne andere Seite weiterleitet. Also:

if($pw=="test")
gehe zu Homepage.html // das is der code denn ich nich kenne
else
print "Access Denied <br>";


normalen Link reinmachen geht leider nicht, das hab ich ausprobiert. hatte mal in der besagten Zeile: include ('homepage.html');

stehen bloss dann hängt er nur die webseite an meine bereits geöffnete Seite dran.
 
Wenn ich dich richtig verstanden habe willst du eine Automatische Weiterleitung oder ist das falsch?

Wenn das so richtig ist schau dir mal die PHP-Funktion header() an.
 
Wieso soll es nicht so einfach gehen?
PHP:
if($pw=="test")
  {
   header("Location: http://www.example.com/");
  }
 else
   {
    print "Access Denied <br>";
   }
 
Weil da folgender Fehler kommt:

Warning: Cannot modify header information - headers already sent by (output started at D:\Server\htdocs\owen\LawLogin.php:13) in D:\Server\htdocs\owen\LawLogin.php on line 26

Line 26 ist

header("Location: http://www.example.com/");
 
Bitte mal die Fehlermeldung richtig lesen:
Warning: Cannot modify header information - headers already sent by (output started at D:\Server\htdocs\owen\LawLogin.php:13) in D:\Server\htdocs\owen\LawLogin.php on line 26
Da steht das in der Zeile 13 bereits eine Ausgabe ist und dadurch kommt der Fehler. Setze mal die Ausgabe nach der Header Funktion dann passt das.
 
Zuletzt bearbeitet:
Anmerkung:

Ist das nicht sehr unsicher? Sobald ich einmal mit pw weitergeleitet wurde kenne ich den Link auf den verwiesen wurde und kann mir die Passworteingabe sparen oder den Link nach belieben weitergeben...

lg
 
Hmm kann dir grad nich so richtig erklären wo das problem ist. Bei zeile 13 steht ein div tag das ein css style öffnet. Das will ich auch nich ändern. Das Problem ist das ich ja Ausgaben vorher machen muss sonst steht da kein Text auf der Seite sehen kann.
 
Hmm kann dir grad nich so richtig erklären wo das problem ist. Bei zeile 13 steht ein div tag das ein css style öffnet. Das will ich auch nich ändern. Das Problem ist das ich ja Ausgaben vorher machen muss sonst steht da kein Text auf der Seite sehen kann.

Ja richtig - also mit der header()-Lösung ist es so angedacht, dass du kein "Sie werden weitergeleitet"-Dialog siehst.

Falls du sowas aber haben willst ist die Lösung mit header() sicher die falsche ;)

lg
 
wie oben Beschrieben ist das Problem bei header, das du keinerlei Ausgabe haben darfst.

Ich hab das ganze bei mir z.B. so gelöst:

PHP:
<?php
	if($pw=="test")
	{
?>
<script language ="JavaScript">
<!--
	window.location.replace('<?php echo $url; ?>');
// -->
</script>
<?php
	}
 	else
	{
		print "Access Denied <br>";
	} 
?>

solange die Seite zu der weitergeleitet wird unter der "selben" URL läuft, kann das Problem, welches Klein0r angesprochen hat, mit Sessions umgangen werden.
 

Neue Beiträge

Zurück