session id

jup, das haut hin in der Datenbank session_id=eecfd9bb526bc84979c05a356ba87c7e und im script auf der Seite ist die session_id ebenfalls= eecfd9bb526bc84979c05a356ba87c7e. Das haut also hin,..also eigentlich müsste es ja funktionieren. Woran kann es noch liegen?
 
Schreibs mal so:

PHP:
<? 

//Den oberen Teil hab ich entnommen, da dieser ja schon in der Index.php ausgeführt wird und die userinhalt.php in die Index.php implementiert wird...

//Datenbankeintrag 
if($_POST['gesendet']) 
{ 
// kannst du auch rausnehmen, da in der Index.php ja auch die Variable $con durch die sessionhelpers.inc.php deklariert wird... $verbindung = mysql_connect ("xxx","xxx","xxx" ); 

//Hier benutz die schon durch die sessionhelpers.inc.php erstellte Variable $con
if (!$con) 
{die("Konnte keine Verbindung aufbauen!");} 
//Insert 
else
{$query=" UPDATE users SET motto='$motto',ueber_sich='$ueber_sich',bier='$bier',schnaps='$schnaps' WHERE id='".session_id()."'"; 
// Eintragen in Datenbank  
echo"$query"; 
$result= mysql_query($query); }
if(!$result) 
{die("Konnte nicht eintragen!".mysql_error() );} 
else
{echo("<br>Daten in die Datenbank eingetragen!")}
} 

?>

So sollte des eigentlich gehen...

Gruß
 
Zuletzt bearbeitet:
... leider noch nicht.

habe where id=session_id() in where usersession=session_id() umgeändert,..weil die Variable so heißt.

Was ich aber auch nicht verstehe warum nicht mal der Fehler per echo geschrieben wird,...nach ausführen, wird sofort auf die startseite gesprungen :confused:
 
Probier mal Folgendes:
PHP:
<?php

	//Datenbankeintrag
	if( isset($_POST['gesendet']) ) {
		$verbindung = mysql_connect("xxx","xxx","xxx")
			or die("Konnte keine Verbindung aufbauen!");
		mysql_select_db("xxx", $verbindung)
			or die("Konnte Daten nicht ändern!".mysql_error());
		//Insert
		$query=" UPDATE `users` SET `motto`='".mysql_real_escape_string($_POST['motto'])."', `ueber_sich`='".mysql_real_escape_string($_POST['ueber_sich'])."', `bier`='".mysql_real_escape_string($_POST['bier'])."', `schnaps`='".mysql_real_escape_string($schnaps)."' WHERE `usersession`='".mysql_real_escape_string(session_id())".'";
		// Eintragen in Datenbank
		echo $query;
		$result = mysql_query($query)
			or die("Konnte nicht eintragen!".mysql_error());
	}

?>
 
Habe nochmal drüber nachgedacht und ausprobiert jedoch klappt es immer noch nicht.
Kann es an der Session liegen? Weil wenn ich die Scripte manuell aufrufe und eine id vorgebe, dann wird auch in die Datenbank gespeichert....oder funktioniert es nicht weil die Seiten includiert werden?
 
HTML:
<form method='post' enctype='multipart/form-data' action='$PHP_SELF'>
<br><br>
<table border='0'>
<tr>
 <td colspan='2'><center>Eingabe Userprofil</td>
 <td></td>
</tr>
<tr>
 <td>Motto:</td>
 <td><textarea cols='20' rows='4' name='motto' size='20'></textarea></td>
</tr>
<tr>
 <td>Über sich:</td>
 <td><textarea cols='20' rows='4' name='ueber_sich' size='20'></textarea></td>
</tr>

<tr>
 <td>Lieblings Getränk:</td>
 <td><input type='text' name='getrank' size='20'></td>
</tr>
</table>
<br>
<br>
<input type='submit' name='gesendet' value='Eintragen!' >
</form>

so schaut das Formular aus.
 
Zuletzt bearbeitet:
Ich habs gefunden woran es liegt. Es lag am
Code:
action='$PHP_SELF'
, statt dessen habe ich nun den Pfad angegeben
Code:
action='management/userinhalt.php'
nun speichert er es. Ich frage mich aber warum es nicht mit $PHP_SELF funktioniert? denn normalerweise wird doch damit das Script auf der aufgerufenen Seite auch dort ausgeführt.
Nun ist es aber unschön zu händeln für den User. Denn sobald er auf "abschicken " klickt...wird es zwar gespeichert, aber er lädt statt die index,php nur die userthmen.php, worauf man nicht mehr auf das MEnu einfluss hat,..wie kann man dies umgehen?
 
Zurück