Session datenabfrage

also ich ahne was du meinst, sobald es funktioniert kann ich es hoffentlich 100% nachvollziehen.

Also wenn ich dich jetzt richtig verstanden habe, hab ich nur in der Tabelle Benutzer sprich die tabelle in der sich das Password, Vorname und Name, E.mail adresse speichert ein Auto Increment mir der Bezeichnung intID. In den anderen Tabellen habe ich das Autoincrement entfernt.

Nun nachdem der User sich regristriert erhählt er ganz gewöhnlich eine ID von tabelle benutzer und diese gilt dann für alle Tabellen.

Wie die für alle gilt...blick ich noch nicht durch... aber habs mal so weit gemacht :
kann man das so Testen?

PHP:
<?php 
//**********************************************
// Datenbankverbindung herstellen

require_once('dataBaseConnection.php');

//**********************************************
// Daten festlegen / Variablen füllen
//**********************************************

	$strVorname = $_POST["strVorname"];
	$strNachname = $_POST["strNachname"];
	$strEmail = $_POST["strEmail"];
	$strPassword = $_POST["strPassword"];
	$intAgb = $_POST["intAgb"];
	$dtmAnlage = $_POST["dtmAnlage"];

//**********************************************
// Datensatz einfügen
//**********************************************
	$SQL = "INSERT INTO tblbenutzer (" ;
		$SQL = $SQL . "strVorname, " ;
		$SQL = $SQL . "strNachname, " ;
		$SQL = $SQL . "strEmail, " ;
		$SQL = $SQL . "strPassword, " ;
		$SQL = $SQL . "intAgb, " ;
		$SQL = $SQL . "dtmAnlage " ;
	$SQL = $SQL . ") VALUES (" ;
		$SQL = $SQL . "'" . $intVorname . " ', " ;
		$SQL = $SQL . "'" . $strNachname . " ', " ;
		$SQL = $SQL . "'" . $strEmail . "', " ;
		$SQL = $SQL . "'" . $strPassword ."', " ;
		$SQL = $SQL . "'" . $intAgb ."', " ;
		$SQL = $SQL . "'" . $dtmAnlage ."' " ;
	$SQL = $SQL . ")" ; 
	
	$lastID = mysql_insert_id();  
	mysql_query("INSERT INTO `eigenschaften` (`ID`) VALUES ('" . $lastID . "')");
	

	
	mysql_query($SQL); // Hier wird der Befehl an die Datenbank gesendet und ausgeführt
	$RECrows = mysql_affected_rows(); // wir prüfen, wie viele Datensätze von unserer Aktion betroffen sind
	// Sollte das Ergebnis -1 sein, so war kein Datensatz betroffenund es gab einen Fehler - dann müssen Sie den SQL Befehl debuggen
	
?>

EDIT:
In tabelle muss sich trozdem ein Feld namens ID befinden ne sprich aber kein autoincrement einstellen.
 
Zuletzt bearbeitet:
Ja, so etwas meine ich.

Die ID von der Benutzertabelle gilt nicht von sich aus für alle Tabellen, sondern Du setzt sie im Script. Die drei Schritte sind:
Code:
Benutzer anlegen
Generierte ID ermitteln
ID für anderen Tabellen verwenden

Jetzt noch deins in die logische Reihenfolge dann passt das:
PHP:
    $SQL = "INSERT INTO tblbenutzer (" ;
        $SQL = $SQL . "strVorname, " ;
        $SQL = $SQL . "strNachname, " ;
        $SQL = $SQL . "strEmail, " ;
        $SQL = $SQL . "strPassword, " ;
        $SQL = $SQL . "intAgb, " ;
        $SQL = $SQL . "dtmAnlage " ;
    $SQL = $SQL . ") VALUES (" ;
        $SQL = $SQL . "'" . $intVorname . " ', " ;
        $SQL = $SQL . "'" . $strNachname . " ', " ;
        $SQL = $SQL . "'" . $strEmail . "', " ;
        $SQL = $SQL . "'" . $strPassword ."', " ;
        $SQL = $SQL . "'" . $intAgb ."', " ;
        $SQL = $SQL . "'" . $dtmAnlage ."' " ;
    $SQL = $SQL . ")" ; 

    mysql_query($SQL); // Hier wird der Befehl an die Datenbank gesendet und ausgeführt
    
    $lastID = mysql_insert_id();  // Hier wird anhand vom letzten Befehlt die "generierte" ID ermittelt.
    mysql_query("INSERT INTO `eigenschaften` (`ID`) VALUES ('" . $lastID . "')");

Zum Nachvollziehen:
Machs mal auf Papier. Mal deine Tabellen auf Papier und nur bei den Benutzerdaten füllst du alles unter intID mit aufsteigenden Zahlen von 1 an (das immitiert auto_increment). Die Spalte intID knicks du danach nach hinten weg.
Und dann trägst Du einen neuen Benutzer ein bei der ersten freien Zeile (Schritt 1). Danach findest du dessen ID raus durch zurück knicken der ersten Spalte (Schritt 2). Dessen ID überträgst du bei den anderen Zetteln mit weiteren Tabellen selbstverständlich unter ID (Schritt 3), damit Du die Daten schneller wiederfindest. Ja, ich denke diese Methode wird dir einiges klar machen.
 
Zuletzt bearbeitet:
hallo,

bin jetzt dabei es auszuprobieren es kommt immer son parse error den ich nicht so recht verstehe..

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING'

IN der Zeile INSERT INTO stimmt wohl was nicht..

PHP:
//**********************************************
// Datenbankverbindung herstellen
//**********************************************
		
		require_once('dataBaseConnection.php');

//**********************************************
// Daten festlegen / Variablen füllen
//**********************************************

	$geschlecht = $_POST["geschlecht"];
	$tag = $_POST["tag"];
	$monat = $_POST["monat"];
	$jahr = $_POST["jahr"];
	$beruf = $_POST["beruf"];
	$heimatland = $_POST["heimatland"];
	$gebiet = $_POST["gebiet"];
	$heimatstadt = $_POST["heimatstadt"];
	$msn = $_POST["msn"];
	$icq = $_POST["icq"];
	$yim = $_POST["yim"];
	$telefon = $_POST["telefon"];
	$bundesland = $_POST["bundesland"];
	$ort = $_POST["ort"];
	$beziehung = $_POST["beziehung"];
	$politik = $_POST["politik"];
	$interessen = $_POST["interessen"];
	$clubs = $_POST["clubs"];
	$musik = $_POST["musik"];
	$txtZitat = $_POST["txtZitat"];
	$txtAboutme = $_POST["txtAboutme"];


//**********************************************
// Datensatz einfügent 
//**********************************************
	$SQL = "INSERT INTO tbluser_profile WHERE intID = $_SESSION["intID"](" ;// alte war: INSERT INTO tbluser_profile 
		$SQL = $SQL . "geschlecht, " ;
		$SQL = $SQL . "tag, " ;
		$SQL = $SQL . "monat, " ;
		$SQL = $SQL . "jahr, " ;
		$SQL = $SQL . "beruf, " ;
		$SQL = $SQL . "heimatland, " ;
		$SQL = $SQL . "gebiet, " ;
		$SQL = $SQL . "heimatstadt, " ;
		$SQL = $SQL . "msn, " ;
		$SQL = $SQL . "icq, " ;
		$SQL = $SQL . "yim, " ;
		$SQL = $SQL . "telefon, " ;
		$SQL = $SQL . "bundesland, " ;
		$SQL = $SQL . "ort, " ;
		$SQL = $SQL . "beziehung, " ;
		$SQL = $SQL . "politik, " ;
		$SQL = $SQL . "interessen, " ;
		$SQL = $SQL . "clubs, " ;
		$SQL = $SQL . "musik, " ;
		$SQL = $SQL . "txtZitat, " ;
		$SQL = $SQL . "txtAboutme " ;
	$SQL = $SQL . ") VALUES (" ;
		$SQL = $SQL . "'" . $geschlecht . "', " ;
		$SQL = $SQL . "'" . $tag ."', " ;
		$SQL = $SQL . "'" . $monat ."', " ;
		$SQL = $SQL . "'" . $jahr ."', " ;
		$SQL = $SQL . "'" . $beruf . " ', " ;
		$SQL = $SQL . "'" . $heimatland . " ', " ;
		$SQL = $SQL . "'" . $gebiet . " ', " ;
		$SQL = $SQL . "'" . $heimatstadt . " ', " ;
		$SQL = $SQL . "'" . $msn . "', " ;
		$SQL = $SQL . "'" . $icq ."', " ;
		$SQL = $SQL . "'" . $yim ."', " ;
		$SQL = $SQL . "'" . $telefon ."', " ;
		$SQL = $SQL . "'" . $bundesland . " ', " ;
		$SQL = $SQL . "'" . $ort . " ', " ;
		$SQL = $SQL . "'" . $beziehung . "', " ;
		$SQL = $SQL . "'" . $politik ."', " ;
		$SQL = $SQL . "'" . $interessen ."', " ;
		$SQL = $SQL . "'" . $clubs ."', " ;
		$SQL = $SQL . "'" . $musik . " ', " ;
		$SQL = $SQL . "'" . $txtZitat . " ', " ;
		$SQL = $SQL . "'" . $txtAboutme ."' " ;
	$SQL = $SQL . ")" ;
 
ja da hast du recht... habs mir angeguckt und gemacht..

so:
$SQL = "INSERT INTO tbluser_profile WHERE intID = $_SESSION['intID']

oder so:

$SQL = "INSERT INTO tbluser_profile WHERE intID = $_SESSION[\"intID\"]

klappt nit..fehlermeldung
 
Lies vielleicht den zweiten Link von mir auch noch.

Geh mal auf Fehlersuche oder schlafen und such morgen, weil dieses Thema langsam gegen Netiquette #15 verstößt.
 
Zuletzt bearbeitet:
soo ne:

$SQL = "INSERT INTO tbluser_profile WHERE intID = ".$_SESSION['MM_UserId'];" (" ;

also Fehlermeldung ist weg, daten werden noch nicht eingelesen vielleicht liegt von mir noch ein Fehler vor..werd mal weiter suchen bis es klappt.

hmm das ist der Code..kein Fehler mehr zu erknnen.. eigentlich sollts gehen.

PHP:
<?php 
//**********************************************
// Datenbankverbindung herstellen
//**********************************************
		
		require_once('dataBaseConnection.php');

//**********************************************
// Daten festlegen / Variablen füllen
//**********************************************

	$geschlecht = $_POST["geschlecht"];
	$tag = $_POST["tag"];
	$monat = $_POST["monat"];
	$jahr = $_POST["jahr"];
	$beruf = $_POST["beruf"];
	$heimatland = $_POST["heimatland"];
	$gebiet = $_POST["gebiet"];
	$heimatstadt = $_POST["heimatstadt"];
	$msn = $_POST["msn"];
	$icq = $_POST["icq"];
	$yim = $_POST["yim"];
	$telefon = $_POST["telefon"];
	$bundesland = $_POST["bundesland"];
	$ort = $_POST["ort"];
	$beziehung = $_POST["beziehung"];
	$politik = $_POST["politik"];
	$interessen = $_POST["interessen"];
	$clubs = $_POST["clubs"];
	$musik = $_POST["musik"];
	$txtZitat = $_POST["txtZitat"];
	$txtAboutme = $_POST["txtAboutme"];


//**********************************************
// Datensatz einfügent 
//**********************************************
	$SQL = "INSERT INTO tbluser_profile WHERE intID = ".$_SESSION['MM_UserId'];" (" ;
		$SQL = $SQL . "geschlecht, " ;
		$SQL = $SQL . "tag, " ;
		$SQL = $SQL . "monat, " ;
		$SQL = $SQL . "jahr, " ;
		$SQL = $SQL . "beruf, " ;
		$SQL = $SQL . "heimatland, " ;
		$SQL = $SQL . "gebiet, " ;
		$SQL = $SQL . "heimatstadt, " ;
		$SQL = $SQL . "msn, " ;
		$SQL = $SQL . "icq, " ;
		$SQL = $SQL . "yim, " ;
		$SQL = $SQL . "telefon, " ;
		$SQL = $SQL . "bundesland, " ;
		$SQL = $SQL . "ort, " ;
		$SQL = $SQL . "beziehung, " ;
		$SQL = $SQL . "politik, " ;
		$SQL = $SQL . "interessen, " ;
		$SQL = $SQL . "clubs, " ;
		$SQL = $SQL . "musik, " ;
		$SQL = $SQL . "txtZitat, " ;
		$SQL = $SQL . "txtAboutme " ;
	$SQL = $SQL . ") VALUES (" ;
		$SQL = $SQL . "'" . $geschlecht . "', " ;
		$SQL = $SQL . "'" . $tag ."', " ;
		$SQL = $SQL . "'" . $monat ."', " ;
		$SQL = $SQL . "'" . $jahr ."', " ;
		$SQL = $SQL . "'" . $beruf . " ', " ;
		$SQL = $SQL . "'" . $heimatland . " ', " ;
		$SQL = $SQL . "'" . $gebiet . " ', " ;
		$SQL = $SQL . "'" . $heimatstadt . " ', " ;
		$SQL = $SQL . "'" . $msn . "', " ;
		$SQL = $SQL . "'" . $icq ."', " ;
		$SQL = $SQL . "'" . $yim ."', " ;
		$SQL = $SQL . "'" . $telefon ."', " ;
		$SQL = $SQL . "'" . $bundesland . " ', " ;
		$SQL = $SQL . "'" . $ort . " ', " ;
		$SQL = $SQL . "'" . $beziehung . "', " ;
		$SQL = $SQL . "'" . $politik ."', " ;
		$SQL = $SQL . "'" . $interessen ."', " ;
		$SQL = $SQL . "'" . $clubs ."', " ;
		$SQL = $SQL . "'" . $musik . " ', " ;
		$SQL = $SQL . "'" . $txtZitat . " ', " ;
		$SQL = $SQL . "'" . $txtAboutme ."' " ;
	$SQL = $SQL . ")" ;
	
	/*echo "SQL = " . $SQL . "<br><br>" ;*/
	
	mysql_query($SQL);
	$RECrows = mysql_affected_rows(); 
	
	/*echo "eingef&uuml;gte Datens&auml;tze: " . $RECrows . "<br><br>";*/
?>

meine konzentration lässt auch nach.. danke dir auf jeden fall für deine HILFE.
ehrlich sehr nett von dir
 
Ein Fehler:
PHP:
$SQL = "INSERT INTO tbluser_profile WHERE intID = ".$_SESSION['MM_UserId'];" (" ;
Bestimmt ein Semikolon zuviel ;)

Für bessere Übersicht folgender Hinweis (Operatorzuweisung - Kurzform):
PHP:
$SQL = $SQL . "geschlecht, ";
// ist gleichbedeutent mit
$SQL .= "geschlecht, ";

Allgemeiner (op: Operator):
Code:
variable = variable op ausdruck
// gleichbedeutend mit
variable op= ausdruck

Dies lernt man in http://tut.php-quake.net/de zwar nicht aber dennoch ein gutes PHP-Tutorial zum auffrischen.
 
Zuletzt bearbeitet:
ja genau ist das selbe wie in java und c:

a*=b;

ist das selbe wie

a = a*b;


ZU code:

hab das selmikolen verschwinden lassen.

so
PHP:
$SQL = "INSERT INTO tbluser_profile WHERE intID = ".$_SESSION['MM_UserId']" (" ;

oder so:
PHP:
	$SQL = "INSERT INTO tbluser_profile (intID) VALUES (".$_SESSION['MM_UserId']." (" ;
		$SQL = $SQL . "geschlecht, " ;
		$SQL = $SQL . "tag, " ;
		$SQL = $SQL . "monat, " ;
		$SQL = $SQL . "jahr, " ;


geht alles nicht..Daten werden nicht eingeschriebem...
 
Na lass dir mal $SQL per echo anzeigen und schau dir das Durcheinander an.
Oder Fehler anzeigen lassen wie es phpMyAdmin anzeigen würde:
PHP:
mysql_query($SQL);
echo mysql_error();

Bei sowas immer Fehler ausgeben lassen. Oder den Query in phpMyAdmin ausführen, das zeigt einem auch den Fehler.

Folgendes Tutorial solltest du auch mal machen, nach dem PHP-Tutorial:
http://www.sql-und-xml.de/sql-tutorial/
 
Zurück