Problem mit gästebuch

spirits92

Gesperrt
Hi
ich hab bei meinen login ein gästebuch für jeden user gemacht. Das problem ist, es funkt nicht, wenn man ein eintrag schreibt dann wird man ausgellogt. Ich verwende auch session_start(); bei jeden script. Und ich hab kein session_destroy(); reingeschrieben. Hier ist der code:
PHP:
<style type="text/css">
<!--
.Stil1 {color: #FF0000}
-->
</style>
<?php
session_start();
include('config.php');

if (session_is_registered("user"))
{
    $user = $_SESSION[user];
    $result = mysql_query("SELECT * FROM $user_tabelle WHERE id = ".$user[id]);

    if (mysql_affected_rows($mysql_ce) == 1)
    {
        $row = mysql_fetch_array($result, MYSQL_ASSOC);
        if ($user[pw2] == $row[pw2])
        {
             $time = date("U");
             mysql_query("UPDATE $user_tabelle SET on_date = '$time' WHERE id = '".$user[id]."' LIMIT 1", $mysql_ce);
             $user  = $row;
        }
        else $user[level] = 0;
    }
    else $user[level] = 0;
}
else $user = array("level" => 0); 
if ($user[level] > 0){
$profilresult = mysql_query("SELECT * FROM usergb WHERE id = $id",$mysql_ce);
$profilrow = mysql_fetch_array($profilresult, MYSQL_ASSOC);
$profilresult2 = mysql_query("SELECT * FROM users WHERE id = $id",$mysql_ce);
$profilrow2 = mysql_fetch_array($profilresult2, MYSQL_ASSOC);
echo'<table width="400" bgcolor="#000000" border="0" cellpadding="5" cellspacing="1" align="center">
	<tr>
		<td bgcolor="#e7e7e7" align="center" colspan="5">
		  <span class="Stil12">Eintr&auml;ge</span></td>
	</tr>';
	$adminquery = mysql_query("SELECT * FROM usergb WHERE empfaenger = '$profilrow[user]'");
	$counter = 0;
	while($line = @mysql_fetch_object($adminquery)) {
		echo '<tr>';
		echo '<td width="250" bgcolor="#ffffff"><span class="Stil15 Stil16 Stil19"><a href="intern.php?open=profil2&name='.$line->name.'">'.$line->name.'</a></span></td>';
		echo '<td width="120" bgcolor="#ffffff"><span class="Stil15 Stil16 Stil19">'.$line->datum.'</span></td>';
		echo '<td width="120" bgcolor="#ffffff"><span class="Stil15 Stil16 Stil19">'.$line->ip.'</span></td>';
		echo '<tr align="center" colspan="5">';
		echo '<td width="120" bgcolor="#ffffff"><div align="left"><span class="Stil15 Stil16 Stil19">'.$line->text.'</span></div></td>';
		echo '</tr>';
		$counter++;
	}
echo'</table>';
echo'<form name="form1" method="post" action="intern.php?open=gaestebook&id='.$profilrow[id].'&change=1">
<div align="center"> 
    <table width="38%" border="1" align="left" cellpadding="0" cellspacing="0" bordercolor="#FFFFFF" bordercolorlight="#FFFFFF">
      <tr bordercolor="#FFFFFF"> 
        <td width="71%" nowrap><font size="2" face="Arial, Helvetica, sans-serif"><strong>Eintrag schreiben </strong></font></td>
        <td width="29%" nowrap bordercolor="#FFFFFF">&nbsp;</td>
      </tr>
      <tr bordercolor="#FFFFFF"> 
        <td nowrap>&nbsp;</td>
        <td nowrap bordercolor="#FFFFFF"><span class="Stil1">bitte keine eintr&auml;ge schreiben es ist noch in bearbeitung </span></td>
      </tr>
	  <tr bordercolor="#FFFFFF"> 
        <td nowrap><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Nickname:</font></td>
        <td nowrap bordercolor="#FFFFFF">'.$user[name].'
        <input name=user type=hidden id="user" value="'.$profilrow2[name].'">
        <input name=empfaenger type=hidden id="empfaenger" value="'.$profilrow2[name].'">
        <input name=name type=hidden id="name" value="'.$user[name].'"></td>
      </tr>
	  <tr bordercolor="#FFFFFF"> 
        <td nowrap><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Text:</font></td>
        <td bordercolor="#FFFFFF">
            <textarea name="text" id="text" rows="11" cols="49"></textarea><br>
			BBcodes sind <i>deakteviert</i>
              </span></td>
      </tr>
      <tr bordercolor="#FFFFFF">
        <td nowrap>&nbsp;</td>
        <td nowrap bordercolor="#FFFFFF"><input type="submit" name="Submit" value="Senden"></td>
      </tr>
    </table>
</div>

</form>';
if ($change == 1) {
$user = $_POST['user'];
$empfaenger = $_POST['empfaenger'];
$name = $_POST['name'];
$text = $_POST['text'];
$datum = date("Y-m-d H:i:s");
$ip = $_SERVER['REMOTE_ADDR'];
$resultup= "INSERT into usergb
(user, empfaenger, name, text, datum, ip)
values ('$user',
		'$empfaenger',
		'$name',
		'$text',
		'$datum',
		'$ip')";
if (mysql_db_query ($mysql_db, $resultup, $mysql_ce)) {
print ("Der eintrag wurde geschrieben.");
} else {
print ("Es traten Probleme auf.");
}
}
}
else print "$loginna";
?>
 
Es kommt keine fehlermeldung. Der eintrag lässt sich aber schreiben. Man wird bloß solange ausgellogt bis man den browser beendet.
 
PHP:
<style type="text/css">
<!--
.Stil1 {color: #FF0000}
-->
</style>
<?php
session_start();
Das dürfe eigentlich nicht funktionieren, da vor [PHPF]session_start[/PHPF] keine Ausgabe an den Browser erfolgen darf.
Und ich seh auch kein Output Buffering.
 
Schreib bei diesen Sachen immer so:

PHP:
//statt
$user[pw2]

//schreibst du besser
$user['pw2']

//oder
$user["pw2"]

//so wie du das hast timmt das nämlich nicht, das wären dann Konstanten die du nirgens definiert hast.
 
Zurück