Zwei Loginmöglichkeiten... Ein Fehler

MajinVegeta

Erfahrenes Mitglied
Hi

Also ich möchtre ein Newsscript zum download anbieten und deswegen hab ich mal mit einer AdminConsole herumgespielt also hier mal der source der login.php:
PHP:
<?php include ('../config.inc.php'); ?>
<html>
<head>
<title><?php echo $page_title; ?></title>
<link href="../style/style.css" rel=stylesheet type=text/css>
</head>
<body class=public>
<br><bR><bR><center>
<?php
include ('../config.inc.php');
$userip = $REMOTE_ADDR;
if ($admin_login_ip == '1' && $admin_login_np != '1')
{
	if ($userip == $admin_ip)
	{
		header ("location: admin.php");
        exit;
	}
	else
	{
		header ("location: fehler.php?fehler=ip");
		exit;
	}
}
else
{
	echo "<form action=\"$PHP_SELF\" method=post>";
	echo "<table border=0 cellpadding=0 cellspacing=0><tr>";
	echo "<td align=left><b>Name:</b></td><td align=left><input type=text name=name></td>";
	echo "</tr><tr>";
	echo "<td align=left><b>Passwort:</b></td><td align=left><input type=password name=name></td>";
	echo "</tr><tr>";
	echo "<td align=left></td><td align=left><input type=submit name=submit value=\"[LOGIN]\"></td>";
	echo "</tr></table></form>";
}
if ($submit)
{
	if ($name == $admin_name && $password == $admin_pass)
	{
		header ("location: admin.php");
        exit;
	}
	else
	{
		header ("location: fehler.php?fehler=login");
		exit;
	}
}
else
{
	echo "<form action=\"$PHP_SELF\" method=post>";
	echo "<table border=0 cellpadding=0 cellspacing=0><tr>";
	echo "<td align=center><b><font color=red>Fehlerhafter Login!</font></b></td>";
	echo "<tr>";
	echo "<td align=left><b>Name:</b></td><td align=left><input type=text name=name></td>";
	echo "</tr><tr>";
	echo "<td align=left><b>Passwort:</b></td><td align=left><input type=password name=name></td>";
	echo "</tr><tr>";
	echo "<td align=left></td><td align=left><input type=submit name=submit value=\"[LOGIN]\"></td>";
	echo "</tr></table></form>";
}

?>
</center>
</body>
</html>
jo also der user kann in der config.inc.php auswählen ob er sich jetzt mit seiner ip oder mit pw und name einloggen kann ich werde noch in die login.php einfügen das eine session registriert wird ... so das wars eigentlich ... jetzt zu meinem eigentlichen problem ...: ich habe bei mir eingestellt das man sich mit der ip einloggt (habe keine dyn.) aber bei mir kommt immer eine fehlermeldung und ich fang mit dieser überhaupt nichts an :( *g* ... wäre nett wenn mir jemand helfen könnte..
Fehlermeldung
PHP:
Warning: Cannot add header information - headers already sent by (output started at /home/sites/site400/web/PixCore/admin/login.php:4) in /home/sites/site400/web/PixCore/admin/login.php on line 16

mfG
 
Zuletzt bearbeitet:
ich hab ne vermutung ... naja
Versuchs ma anstatt mit
PHP:
header ("location: admin.php");
exit;
bei allen weiterleitungen mit
PHP:
<meta http-equiv="Refresh" content="2; url=admin.php">
<?php exit;
Hoffe mal, dass das klappt ...

Grüße, Morph
 
Hi

Danke für die Antwort aber ich hab eine neues adminlogin geschrieben ... das anscheinend auch funktioniert :) beim anderen sind einfach zuveile fehler drinnen & außerdem ist es ziemlich umständlich *gg*
 
Ok ^^
Das mitm umständlich stimmt - wäre einfacher, wenn du mit sessions arbeiten würdest / gearbeitet hättest

Edit: Prüf mal deine Seite - der kann die 'config.inc.php' nicht includen ...
Probiers mal mit
PHP:
require ('config.inc.php');

Grüße, Morph
 
Zuletzt bearbeitet:
nein nein das passte schon die config.inc.php ist im oberverzeichnis ... jetzt hab ich ein problem mit dem neuen script *gg*
PHP:
<?php 
include ('../config.inc.php'); 
?>
<html>
<head>
<title><?php echo $page_title; ?></title>
<link href="../style/style.css" rel=stylesheet type=text/css>
</head>
<body class=public>
<br><bR><bR><center>
<?php
include ('../config.inc.php');
session_start ();
session_name("sID");
$userip = $REMOTE_ADDR;
$eingeloggt = true;
if ($admin_ip == $userip)
{
	session_register($eingeloggt);
    echo "<meta http-equiv=\"Refresh\" content=\"2; url=admin.php?".session_name()."=".session_id()."\">";
}
else
{
	echo "<i><b>Du bist kein Admin!</b></i>";
	echo "<meta http-equiv=\"Refresh\" content=\"2; url=http://www.gameZserver.at/PixCore/\">";
}
?>
</center>
</body>
</html>

---->

PHP:
Warning: Cannot send session cookie - headers already sent by (output started at /home/sites/site400/web/PixCore/admin/login.php:6) in /home/sites/site400/web/PixCore/admin/login.php on line 13

Warning: Cannot send session cache limiter - headers already sent (output started at /home/sites/site400/web/PixCore/admin/login.php:6) in /home/sites/site400/web/PixCore/admin/login.php on line 13

und ich hab keine ahnung was da bedeuted *g*
 
1.) Du solltest die config.inc.php nur einmal includen, am besten mit require anstatt mit include
2.) Die Session musst du vor jeglichem anderen Code starten
also am besten session_start (); und session_name("sID"); am anfang setzen und danach die config.inc.php includen.

Edit: Mir ist nochwas aufgefallen ... ich würd dein 'Login' so schreiben:
PHP:
<?php
session_start ();
session_name("sID");
require ('../config.inc.php'); 
?>
<html>
<head>
<title><?php echo $page_title; ?></title>
<link href="../style/style.css" rel=stylesheet type=text/css>
</head>
<body class=public>
<br><bR><bR><center>
<?php
$userip = $REMOTE_ADDR;
if ($admin_ip == $userip)
{
    $eingeloggt = true;
    session_register($eingeloggt);
    echo "<meta http-equiv=\"Refresh\" content=\"2; url=admin.php?".session_name()."=".session_id()."\">";
}
else
{
    $eingeloggt = false;
    session_register($eingeloggt);
    echo "<i><b>Du bist kein Admin!</b></i>";
    echo "<meta http-equiv=\"Refresh\" content=\"2; url=http://www.gameZserver.at/PixCore/\">";
}
?>
</center>
</body>
</html>

Grüße, Morph
 
Zuletzt bearbeitet:
Danke für die tolle Hilfe :) hab aber noch immer ein problem ich glaub es liegt an der admin.php also hier die dateien
login.php
PHP:
<?php
session_start ();
session_name("sID");
require ('../config.inc.php'); 
?>
<html>
<head>
<title><?php echo $page_title; ?></title>
<link href="../style/style.css" rel=stylesheet type=text/css>
</head>
<body class=public>
<br><bR><bR><center>
<?php
$userip = $REMOTE_ADDR;
if ($admin_ip == $userip)
{
    $eingeloggt = true;
    session_register($eingeloggt);
    echo "<meta http-equiv=\"Refresh\" content=\"2; url=admin.php?".session_name()."=".session_id()."\">";
}
else
{
    $eingeloggt = false;
    session_register($eingeloggt);
    echo "<i><b>Du bist kein Admin!</b></i>";
    echo "<meta http-equiv=\"Refresh\" content=\"2; url=http://www.gameZserver.at/PixCore/\">";
}
?>
</center>
</body>
</html>

admin.php
PHP:
<?php
session_start ();

if ($eingeloggt)
{
	echo "true";
}
else
{
	echo "false";
}
?>

Hoffe du kannst auch dieses Problem lösen :D
 
Woah bin ich deppat ...
Also nochmal *g*
login.php
PHP:
<?php
session_start ();
session_name("sID");
require ('../config.inc.php'); 
?>
<html>
<head>
<title><?php echo $page_title; ?></title>
<link href="../style/style.css" rel=stylesheet type=text/css>
</head>
<body class=public>
<br><bR><bR><center>
<?php
$userip = $REMOTE_ADDR;
if ($admin_ip == $userip)
{
    $eingeloggt = true;
    session_register("eingeloggt");
    echo "<meta http-equiv=\"Refresh\" content=\"2; url=admin.php?".session_name()."=".session_id()."\">";
}
else
{
    $eingeloggt = false;
    session_register("eingeloggt");
    echo "<i><b>Du bist kein Admin!</b></i>";
    echo "<meta http-equiv=\"Refresh\" content=\"2; url=http://www.gameZserver.at/PixCore/\">";
}
?>
</center>
</body>
</html>
admin.php
PHP:
<?php
session_start ();

if ($eingeloggt)
{
    // Code, wenn $eingeloggt auf tru gesetzt wurde
}
else
{
    // Fehlermeldung, oder nochmaliges aufrufen der login.php mit include
}
?>

Hoffemal, dass es jetzt geht ^^

Grüße, Morph
 
*gg* danke ich bin vorhin auch draufgekommen wo ich mir workaholics loginscript ansah ... jetzt funzt alles prima :))))
DANKE
 
Zurück