[PHP] Funktion

allroundskater

Cadet 2nd Year
Registriert
März 2008
Beiträge
27
Ich suche eine Befehl für die Weiterleitung nach einer if Abfrage.

PHP:
if($bla == $blabla && $pa == $papa)
funktion("seite.php");
else echo "Falsche Eingabe";
?>
 
Zuletzt bearbeitet:
Schwierig formulierte Frage, vielleicht solltest du deinen Text nochmal überarbeiten. So wie ich dich verstehe, suchst du den Befehl:
Code:
include "meineseite.php";

oder zur Not noch:
Code:
header('Location: http://www.example.com/');
 
include fügt doch in der aktuellen Seite, den Code aus der von include eingefügte datei ein?
 
Include liest Inhalt aus anderen Dateien ein richtig. Ich würde es auch mittels einer Header-Weiterleitung kommen. Empfehle dir noch, nach dem Header ein Exit(); zu setzen. Mit unter kann es zu Problemen kommen mit der Weiterleitung kommen und dann läuft das Script ewig weiter. Bei solchen kleinen, simplen Sachen ist das kein Problem, aber bei großen komplexen Sachen kann das schon nach hinten losgehen.

Von daher am besten gleich alles richtig machen und nen Exit(); setzen dann gewöhnst du es dir gleich richtig an und bist auf der sicheren Seite.
 
Es funktioniert nicht. Folgende Fehlermeldung:

"Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\login.php:16) in C:\xampp\htdocs\login.php on line 20"
 
Solche Headerweiterleitung sind manchmal recht umständlich, da z.B. ein falsch gesetztes Leerzeichen schon ausreicht, um die Weiterleitung zu verhindern.
Du kannst auch mit den Befehlen:
Code:
ob_start("callback");

und

Code:
ob_end_flush();

arbeiten um das zu umgehen. Die php Literatur kann dir bei weiteren Fragen dazu sicher behilflich sein.
 
Ich suche eine einfache Weiterleitung nach einer if Abfrage von Username + Kennwort.
Es muss nicht umbedingt eine Php Funktion sein, es kann auch ewas anderes sein.
 
Achso. Das ist recht einfach zu schreiben:

PHP:
// Annahme: Es werden die Variablen 'passwort' und 'benutzername' per Post übergeben

// Zugriffs-Konstanten
define('Zugriff_Benutzer', 'allroundskater');
define('Zugriff_Passwort', 'geheim');
define('Zugriff_Seite', 'geheim.html');

function login()
{
	if(isset($_POST['benutzername']) && isset($_POST['passwort']) && $_POST['benutzername'] == Zugriff_Benutzer && $_POST['passwort'] == Zugriff_Passwort)
	{
		// Zugriff mit den Zugangsdaten oben erlaubt
		// Weiterleitung auf Seite 'geheim.html'
		header('Location: ' . Zugriff_Seite);
		return true;
	}
	else
	{
		// Zugriff nicht erlaubt
		return false;
	}
}

// Login durchführen:
login();
 
Eventuell sollte man das Passwort sha1 oder md5 verschlüsseln. Zudem solltest du dann eine session oder cookie verwenden der sagt, das jemand angemeldet ist, da du sonst auch so auf die seite kommst, wenn man weiß wo sie ist.

Zudem ist die gängige Syntax zu beachten: Konstanten werden nur aus Großbuchstabel gebildet!
 
Das mit dem Cookie mach ich noch.
Es funktioniert aber immer noch nicht.

Mein aktueller Code:
Code:
<?
include("data.php");
?>
<html>
<head>
<title>Login</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form method="post">
Username: <input name="user"><br>
Kennwort: <input name="pass" type="password"><br>
<input type="submit" value="OK">
</form>
<?
$user = $_POST['user'];
$pass = $_POST['pass'];
$extra = "hallo.php";
if($user == $name and $pass == $pass2) {
header('Location: ' . £extra);
return true;}
else echo "nein";
?>
</body>
</html>
 
>> Es funktioniert aber immer noch nicht.

Jo, wenn man Posts ignoriert, dann ist das ja kein Wunder.
 
du darfst, wie schon erwähnt, nichts vorher ausgeben...


PHP:
<?
if (isset($_POST['user']) && isset($_POST['pass'])) {
$user = $_POST['user'];
$pass = $_POST['pass'];
$extra = "hallo.php";
if($user == $name and $pass == $pass2) {
header('Location: ' . £extra);
return true;}
else echo "nein";
}

include("data.php");
?>
<html>
<head>
<title>Login</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form method="post">
Username: <input name="user"><br>
Kennwort: <input name="pass" type="password"><br>
<input type="submit" value="OK">
</form>

</body>
</html>
sollte so klappen...
 
Zurück
Oben