code prob

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Benutzeravatar
user666
Mitglied
Beiträge: 231
Registriert: 07.06.2003 10:24
Wohnort: Österreich

code prob

Beitrag von user666 »

ich habe ein problem mit einem php-script.
das script ist folgender maßen aufgebaut:
index.php auf der man sich einlogen kann. login_check.php wo die login daten überprüft werden sollen, falls diese korreckt sind soll ein link erscheinen. eigentlich recht simple nur bei mir will es nicht funktioniern :(
kann mir jemand sagen was an diesem code nicht stimmt?
ich sehe immer den link auch wenn ich die felder leer lasse :-?

Code: Alles auswählen

<?php
	$username = $_POST["username"];
	$userpwd = $_POST["userpwd"];
	$benutzername = admin;
	$passwort = admin; ?>	
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php
	if ($benutzername == "admin") {
		if ($passwort == "admin") {
	     	 echo "<a href=\"/forum/\">Zum Forum ...</a>";
			 	}
			}
	 if ($benutzernane == "") {
		if ($passwort == "") {
			echo header("location: http://localhost/index.php"); 
					exit();
				}
			} ?>

	
</body>
</html>
thx+mfg

ps: bin noch php newbie :roll:
Benutzeravatar
Gonzo_w
Mitglied
Beiträge: 58
Registriert: 15.10.2002 16:02
Wohnort: Wien
Kontaktdaten:

Beitrag von Gonzo_w »

Ich nehm mal an der Code stammt aus der login_check.php !?

Wenn du die beiden Variablen

Code: Alles auswählen

$benutzername = admin; 
   $passwort = admin;
festlegst, springt ja die erste if-Schleife an, du erhälst somit den Link angezeigt.

Vielmehr musst du mit der if-Schleife den Inhalt der $username und $userpwd überprüfen.
Wer nicht wettet, hat schon verloren .... www.bet-austria.com
Die österreichische phpBB Usergruppe!
Benutzeravatar
user666
Mitglied
Beiträge: 231
Registriert: 07.06.2003 10:24
Wohnort: Österreich

Beitrag von user666 »

genau, der code stammt aus der login_check.php
ich habe jetzt den code etwas abteändert und jetzt springt er gleich auf die 2te if-schleife :(
was mach ich denn falsch :cry:

Code: Alles auswählen

<?php
	$username = $_POST["username"];
	$userpwd = $_POST["userpwd"];
	$benutzername = admin;
	$passwort = admin; ?>	
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php
	if ($username == $benutzername) {
		if ($userpwd == $passwort) {
	     	 echo "<a href=\"/forum/\">Zum Forum ...</a>";
			 	}
			}
	 if ($username == "") {
		if ($userpwd == "") {
			echo header("location: http://localhost/index.php"); 
					exit();
				}
			} ?>

	
</body>
</html>
thx+mfg
Benutzeravatar
Mister_X
Ehemaliges Teammitglied
Beiträge: 7102
Registriert: 24.05.2001 02:00
Wohnort: Augsburg

Beitrag von Mister_X »

Probieren wir es mal so:

Code: Alles auswählen

<?php
$username = $_POST["username"];
$userpwd = $_POST["userpwd"];
$benutzername = admin;
$passwort = admin;

if ($username == $benutzername AND $userpwd == $passwort)
{
?>

<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<a href="/forum/">Zum Forum ...</a>
</body>
</html> 

<?php
}
else
{
header("location: http://localhost/index.php");
exit();
}
?>
Damit die header("location:xxx"); Anweisung funktioniert darf KEIN Text vorher ausgegeben werden deshalb muss das <html> usw. in die if-Schleife mit rein.
Benutzeravatar
user666
Mitglied
Beiträge: 231
Registriert: 07.06.2003 10:24
Wohnort: Österreich

Beitrag von user666 »

danke für den tipp. habe ich sofort ausprobiert :) aber leider mit dem selben ereigniss, dass er auf die index.php zurückspringt.
hat jemand eine idee? ich probiere nähmlich schon seit geraumer zeit herum aber es will einfach nicht funktionieren :(

thx+mfg
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Zeig mal den Code des Login-Formulars
Benutzeravatar
user666
Mitglied
Beiträge: 231
Registriert: 07.06.2003 10:24
Wohnort: Österreich

Beitrag von user666 »

hier ist er:

Code: Alles auswählen

<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form name="form1" method="post" action="login_check.php">
  <p>Benutzername:</p>
  <p>
    <input type="text" name="txtLogin" id="username">
  </p>
  <p>Passwort</p>
  <p> 
    <input type="password" name="txtPWD" id="userpwd">
  </p>
  <p>
    <input type="submit" name="Submit" value="Login">
  </p>
  </form>
</body>
</html>
thx+mfg
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Das Attribut id wird nur für JavaScript/DOM benötigt. An PHP wird das gesendet, was in name drinsteht, und da du in der login_check nicht nach txtLogin und txtPWD prüfst, kann das nicht funktionieren.
Benutzeravatar
user666
Mitglied
Beiträge: 231
Registriert: 07.06.2003 10:24
Wohnort: Österreich

Beitrag von user666 »

ah, verstehe. jetzt funktioniert es auch :)
danke :wink:

mfg
Benutzeravatar
user666
Mitglied
Beiträge: 231
Registriert: 07.06.2003 10:24
Wohnort: Österreich

Beitrag von user666 »

ich bin gerade auf einen schönheitsfehler draufgekommen. und zwar: sobald ich irgendwelche daten eigebe erscheint der link, was ja nicht sein soll. weiß jemand eine möglichkeit wie ich dies regeln kann, dass bei einer falschen dateneingabe wieder die index.php angezeigt wird?

thx+mfg
Antworten

Zurück zu „Coding & Technik“