Willkommen in der Webstatt Zum Webstatt Blog und Stories
BNightSpeeder am 12.04.06 21:20

Hallo,

hab volgenden Code:

<?php
if($HTTP_POST_VARS[pw] == "********" && $HTTP_POST_VARS[name] == "BNightSpeeder") {
echo "Gut";
echo "Der geheime Inhalt (...)";
} elseif (isset($_POST["pw"])) && (isset($_Post["name"])) {
die("Falsche Angaben!");
}
?>


Nun wird gemeldet das bei "elseif" nen Fehler drin ist, aber der ist erst da seitem ich da das reingetan hab: " && (isset($_Post["name"]))"


Weiß aber nicht wiso, hier noch mal der Fehler:

Quote
Parse error: parse error, unexpected T_BOOLEAN_AND



Danke, schon mal für eure Hilfe.
Mfg. BNS

netcup.de Warum gibt es hier Werbung?
sili sili am 12.04.06 21:33

} elseif (isset($_POST["pw"])) && (isset($_Post["name"])) {
// ^ ^
// entfernen


- Warum verwendest du $HTTP_POST_VARS und $_POST?
- Auch Array Schlüssel gehören in Hochkommas.

BNightSpeeder am 12.04.06 21:55

Noch eine Frage, kann ich in den Code auch irgendwie einen Code unterbringen damit nach dem Einloggen eine Session ensteht?

BNightSpeeder am 12.04.06 22:38

Hab jetzt selber was in unter selfphp gefunden, und versucht umzusetzen:

Hier der Code:

<?php
$pw = "********";
$name="BNightSpeeder";

if($HTTP_POST_VARS[pw] == "$pw" && $HTTP_POST_VARS[name] == "$name")

session_start();
$SESSION_Passwort = $pw;
session_register("SESSION_Passwort");

echo "Einloggen erfolgreich<br>";
echo "Weiterleitung...";
echo ?><meta http-equiv="refresh" content="30; url=admin.php"><?php
} elseif (isset($_POST["pw"])) {
die ("Falsche Angaben!");
}
?>


Dies ist die Zeile 83:

session_register("SESSION_Passwort");

Dieser Fehler wird angezeigt:

Quote
Warning: Cannot send session cache limiter - headers already sent (output started at C:\FoxServ\www\Re-Design\admin\index.php:7) in C:\FoxServ\www\Re-Design\admin\index.php on line 83


Danke, schonmal für eure Hilfe.

sili sili am 12.04.06 22:46

Du gibst bereits Daten aus, bevor die session_start() aufruftst.
Lies dir das durch und mach es besser als die von Selfphp.
session_register() ist veraltet etc.

BNightSpeeder am 12.04.06 22:58

Also ganz steige ich da nicht durch, also da steht was von Globalen Session u.s.w, *kopfbrummen*, hab versucht den Code umzuschreiben, d.h. so viel wie ich aus dem text verstehen konnte:

<?php
$pw = "********";
$name="BNightSpeeder";

session_start();
$SESSION_Passwort = $pw;
$SESSION.USE_COOKIES = 0;
session_register("SESSION_Passwort");

if($HTTP_POST_VARS[pw] == "$pw" && $HTTP_POST_VARS[name] == "$name")

echo "Einloggen erfolgreich<br>";
echo "Weiterleitung...";
echo ?><meta http-equiv="refresh" content="30; url=admin.php"><?php
} elseif (isset($_POST["pw"])) {
die ("Falsche Angaben!");
}
?>


leider bleibt der fehler weiter bestehen.

Thiemm Thiemm am 12.04.06 23:04

<?php
session_start();

$pw = "********";
$name = "BNightSpeeder";

$_SESSION['passwort'] = $pw;
$SESSION.USE_COOKIES = 0; //hä?

if($_POST['pw'] == $pw && $_POST['name'] == $name)

echo "Einloggen erfolgreich<br>";
echo "Weiterleitung...";
echo ?><meta http-equiv="refresh" content="30; url=admin.php"><?php
} elseif(isset($_POST['pw'])) {
die ("Falsche Angaben!");
}
?>

sili sili am 12.04.06 23:18

<?php
session_start();

$pw = '********';
$name = 'BNightSpeeder';

if ($_POST['pw'] == $pw && $_POST['name'] == $name)
$_SESSION['passwort'] = $pw;
echo 'Einloggen erfolgreich<br />';
echo 'Weiterleitung...';
echo '<meta http-equiv="refresh" content="30; url=admin.php" />';
} else {
die('Falsche Angaben!');
}
?>


Die admin.php ist damit aber noch lange nicht passwortgeschützt ;)

BNightSpeeder am 13.04.06 11:49

Das die admin.php "noch" nicht Passwort geschützt ist, weiß ich, ich wollte ja nur den login!

Aber nachdem ich die Daten eingegeben habe, kommt dieser fehler:
An der Admin kann das ja nicht liegen.

Quote
Warning: Cannot send session cache limiter - headers already sent (output started at C:\FoxServ\www\Re-Design\admin\index.php:7) in C:\FoxServ\www\Re-Design\admin\index.php on line 80


Ich mach mal den Ganzen Code rein:

<?php
$page_titel = 'Adminbereich - Einloggen';
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Internetiv - <?php echo $page_titel; ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="css.css">
</head>

<body>
<?php
if ($_GET["login"]=="index") {
?>
<table width="100%" height="100%" border="0">
<tr>
<td height="169"><table width="100%" height="100%" border="0">
<tr>
<td>&nbsp;</td>
<td><div align="center"><img src="../images/schriftzug_internetiv.gif" width="299" height="49"></div></td>
<td>&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td height="471"><form action="index.php?login=send" method="post">
<table width="100%" height="100%" border="0">
<tr>
<td width="26%">&nbsp;</td>
<td width="48%"><table align="center" width="100%" border="0">
<tr>
<td width="50%">Username:</td>
<td width="50%"><input type="text" name="name"></td>
</tr>
<tr>
<td>Passwort:</td>
<td><input type="password" name="pw"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" value="Login"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td></td>
</tr>
</table></form>
</td>
<td width="26%">&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table>
<?php
}
?>
<?php
if ($_GET["login"]=="send") {
?>
<table width="100%" height="100%" border="0">
<tr>
<td height="169"><table width="100%" height="100%" border="0">
<tr>
<td>&nbsp;</td>
<td><div align="center"><img src="../images/schriftzug_internetiv.gif" width="299" height="49"></div></td>
<td>&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td height="471"><table width="100%" height="100%" border="0">
<tr>
<td width="26%">&nbsp;</td>
<td width="48%"><div align="center">
<?php
session_start();

$pw = '********';
$name = 'BNightSpeeder';

if ($_POST['pw'] == $pw && $_POST['name'] == $name)
$_SESSION['passwort'] = $pw;
echo 'Einloggen erfolgreich<br />';
echo 'Weiterleitung...';
echo '<meta http-equiv="refresh" content="5; url=admin.php" />';
} elseif (isset($_POST["pw"])) {
die('Falsche Angaben!');
}
?></div></td>
<td width="26%">&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table>
</body>
</html>

Thiemm Thiemm am 13.04.06 11:57

session_start() muss ganz an den Anfang der Datei.

BNightSpeeder am 13.04.06 12:16

ok, hab das so gemacht:

<?php
$page_titel = 'Adminbereich - Einloggen';
session_start();
?>


Aber nun werde ich schon eingeloggt wenn ich einfach auf login klicke, auch mit den falschen angaben.

Wiso?

Franky Franky am 13.04.06 12:18

du sollst ja auch nicht prüfen ob es eine sess-id gibt sondern ob in dieser sess-id auch der richtige usernamen/das richtige pass stecken ;D

BNightSpeeder am 13.04.06 12:20

welche Variablen muss ich dan noch hinzufügen, b.z. entfernen und mit welchen werten?

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt