Phillip: kompliziertere frage zum php login script

hallo!

ich habe eine frage und zwar zu dem login script, das ich auf meiner seite eingebunden habe.

als erstes ma die url zur page: http://www.example.org/web6/index.php

zum einloggen bitte "test" als user und ebenfalls "test" als pw benutzen.
und da kommt auch schon der fehler:

"Warning: session_start() [function.session-start]: Cannot send session cookie ........."

hat jemand eine idee, wie ich diesen fehler beheben kann????

dann habe ich noch ein 2tes problem. wenn ich in dem sich öffnenden "adminmenü" auf die beispielseiten 1 bzw. 2 klicke wird man wieder ausgeloggt. das möchte oich ebenfalls verhindern. ich würde mich wirklich sehr sehr freuen, wenn mir jemand helfen kann...

phillip

hier nochmal der quelltext meiner login.php
--------------------------------------------------------------
<?
if      ($anmelden) { anmelden($fertig, $user, $password1, $password2, $email);}
else if ($abmelden) { abmelden($fertig, $user, $password);}
else if ($forgot)   { forgot($fertig, $email);}
else                { login($fertig, $user, $password);}
?>

<?
function inhalt($user)
{
session_start();
session_register("user");

?>

<br>

<a href="index.php?section=1">1</a>
 <br>
 <a href="index.php?section=2">2</a>

<br>
  <br>

<?
}
?>

<?
function login($fertig, $user, $password)
{
include("config.php");

if ($fertig) {

$abfrage = mysql_query ("SELECT * FROM login WHERE user = '$user'");
$reihen = mysql_num_rows($abfrage);
if ($reihen <= 0) {

echo "Unbekannter Benutzername!";
echo "<br>";
echo "<br>";
}
else {
while ($row = mysql_fetch_object ($abfrage)) {
if ($row->password==$password) {
inhalt($user);
}
else {
echo "Falsches Passwort!";
}
}
}

}

else {

echo "<span class="Stil1">Login</span>";
echo "<form method="POST" action="$PHP_SELF?fertig=yes">";
?>
<form>
<table width="100%" border="0">
  <tr>
    <td width="100">

Benutzername:
<br>
<input type="text" name="user" class="input" size="11" onfocus="style.background='#C4681D';" onblur="style.background='#999999';"></td>
    <td width="70" rowspan="2" align="left" valign="bottom"><input type="image" src="grafiken/pfeil.jpg" name="submit" class="login" value=Login><br><img src="grafiken/spacer.gif"><br><img src="grafiken/spacer.gif"></td>
  </tr>
  <tr>
    <td>

Passwort:
<br>
<input type="password" name="password" value="" class="input" size="11" onfocus="style.background='#C4681D';" onblur="style.background='#999999';">

</td>
  </tr>
</table>
</form>
<?

}
echo "<a href="$PHP_SELF?anmelden=yes"><strong> » </strong>Register</a>";
echo "<br>";
//echo "<a href="$PHP_SELF?abmelden=yes"><strong> » </strong> Abmelden</a>";
//echo "<br>";
echo "<a href="$PHP_SELF?forgot=yes"><strong> » </strong>Lost password?</a>";

}
?>

<?
function anmelden ($fertig, $user, $password1, $password2, $email)
{
include("config.php");

if($fertig) {
 $abfrage1 = mysql_query("SELECT user FROM login");
 while ($row = mysql_fetch_object ($abfrage1)) {
 if ($row->user==$user) {
 echo "Dieser Benutzer existiert schon!";
 exit;
 }
 }
 if ($user=="" OR $password1=="" OR $password2=="" or $email=="") {
 echo "Sie haben mindestens ein Feld nicht ausgefüllt!";
 echo "<br>";
 echo "<br>";
 echo "<strong> » </strong>  <a href="index.php">zurück</a>";
 }
 else if ($password1!=$password2) {
 echo "Ihr Passwort ist ungleich Ihrer Wiederholung!";
 }
 else {
 $anfuegen=mysql_query("INSERT INTO login (user, password, email) VALUES ('$user','$password1', '$email')");
 echo "Erfolgreich angemeldet! Sie können sich nun einloggen:<br><br>";
 @login();
 }
}
else {
 echo "<span class="Stil1">Anmelden</span>";
 echo "<form method="POST" action="$PHP_SELF?anmelden=yes&fertig=yes">";
 ?>
 Benutzername:
    <input type="text" name="user" value=""> 
  Passwort:
    <input type="password" name="password1" value="">
 Wiederholen:
    <input type="password" name="password2" value="">
  E-Mail:<input type="text" name="email" value=""> 
  <input type=submit value=Anmelden>

</form>
<?
}

}
?>

<?
function forgot ($fertig, $email)
{

include("config.php");

if ($fertig) {
$abfrage=mysql_query("SELECT * FROM login");
while ($row = mysql_fetch_object ($abfrage)) {
if ($email==$row->email) { $ismail="true"; }
}
if ($ismail=="true") {
$password=mysql_query("SELECT * FROM login WHERE email = '$email'");
while ($row = mysql_fetch_object ($password)) {
$nachricht="Hallo $row->user!\n\nIhr Passwort ist:\n\n$row->password\n\nMfG\nAdmin";
}
mail($email, "Passwort", $nachricht, "From: Administrator");
?>
<p>Das Passwort wurde Ihnen erfolgreich an die Adresse <i><? echo $email; ?></i> geschickt!<br>
Rufen Sie Ihre E-Mails ab und loggen Sie sich ein.<br></p>

<?

@login();
}
else { echo "Ihre angegebene E-Mail Adresse wurde nicht gefunden!";}
echo "<br>";
 echo "<br>";
 echo "<strong> » </strong>  <a href="index.php">zurück</a>";
}
else {

echo "<span class="Stil1">Passwort vergessen</span>";
echo "<p><form method=post action="$PHP_SELF?forgot=yes&fertig=yes">";
?>
E-Mail Adresse:<br><input type=text name=email>
<input type=submit value="Schicken!"></form>
<?
}
}
?>

<?
function abmelden($fertig, $user, $password)
{

include ("config.php");

if($fertig) {
$abfrage = mysql_query ("SELECT * FROM login WHERE user = '$user'");
$reihen = mysql_num_rows($abfrage);
if ($reihen <= 0) {
echo "Unbekannter Benutzername!";
}
else {
while ($row = mysql_fetch_object ($abfrage)) {
if ($row->password==$password) {
$delete = mysql_query ("DELETE FROM login WHERE user = '$user'");
echo "Ihre Daten wurden erfolgreich aus der Datenbank entfernt!";
}
else {
echo "Falsches Passwort!";
}
}
}

}
else {
  echo "<span class="Stil1">Abmelden</span>";
 echo "<form method="POST" action="$PHP_SELF?abmelden=yes&fertig=yes">";
 ?>
 Benutzername:
    <input type="text" name="user" value="">
  Passwort:
  <input type="password" name="password" value="">
  <input type=submit value=Abmelden>

</form>

<?
}

}
?>

  1. Moin!

    und da kommt auch schon der fehler:

    "Warning: session_start() [function.session-start]: Cannot send session cookie ........."

    vieleicht wird deine session über cookies gespeichert, und du hast keine cookies aktiviert... ?

    --
    Wer mit sich selber
    in Frieden lebt,
    kommt nicht in Versuchung,
    anderen den Krieg zu erklären.