ich hoffe ich habe keinen bereits bestehenden Thread mit diesem Thema übersehen. Gesucht habe ich jedenfalls. Ich plage mich seit Tagen mit einem Problem herum und habe zwar eine Lösung, die mir allerdings nicht gefällt

Also zu meinem Problem...
Ich erstelle momentan eine Seite, wo man sich online regestrieren lassen kann. Ich habe hierfür 2 Tabellen. Eine heißt "register_member" mit den Stammdaten und eine Tabelle "register_responsible" mit weiteren Eingaben.
Ich habe eine Datei, wo ich die SQL Strings definiert habe, damit ich sie bei einer Struckturänderung der Tabelle nicht in jeder Datei ändern muss. Dies sieht so aus...
sql.inc
Code:
<? //-------------------------------------------- Tabellennamen $table_member = "member"; $table_responsible = "register_responsible"; //-------------------------------------------- MYSQL Strings $sql_member_insert = "insert $table_member "; $sql_member_insert .= "(id, name, first_name, street, zip_code, place, country, email, username, password, timestamp, active)"; $sql_member_insert .= " values "; $sql_member_insert .= "('', '$name', '$first_name', '$street', '$zip_code', '$place', '$country', '$email', '$username', '$password', '', '')"; $sql_responsible_insert = "insert $table_responsible "; $sql_responsible_insert .= "(id, birthyear, responsible_kind, last_club, experience, other, timestamp)"; $sql_responsible_insert .= " values "; $sql_responsible_insert .= "('$insert_id', '$birthyear', '$responsible_kind', '$last_club', '$experience', '$other', '')"; ?>
Dann habe ich eine Datei namens register_responible.php hier sieht der Code so aus...
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body><form name="form1" method="post" action="../ama_draft/index.php?site_var=register_send"> <table width="674" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="15"></td> <td width="659"><table width="659" border="0" cellspacing="0" cellpadding="0" class="main_text"> <tr> <td></td> <td></td> </tr> <tr> <td width="176" class="kategorie">Name:</td> <td width="483"> <input name="name" type="text" size="50"> </td> </tr> <tr> <td class="kategorie">Vorname:</td> <td><input name="first_name" type="text" size="50"> </td> </tr> <tr> <td class="kategorie">Geburtsjahr:</td> <td><select name="birthyear"> <option>- - -</option> <option>1940</option> <option>1941</option> <option>1942</option> <option>1943</option> <option>1944</option> <option>1945</option> <option>1946</option> <option>1947</option> <option>1948</option> <option>1949</option> <option>1950</option> <option>1951</option> <option>1952</option> <option>1953</option> <option>1954</option> <option>1955</option> <option>1956</option> <option>1957</option> <option>1958</option> <option>1959</option> <option>1960</option> <option>1961</option> <option>1962</option> <option>1963</option> <option>1964</option> <option>1965</option> <option>1966</option> <option>1967</option> <option>1968</option> <option>1969</option> <option>1970</option> <option>1971</option> <option>1972</option> <option>1973</option> <option>1974</option> <option>1975</option> <option>1976</option> <option>1977</option> <option>1978</option> <option>1979</option> <option>1980</option> <option>1981</option> <option>1982</option> <option>1983</option> <option>1984</option> <option>1985</option> <option>1986</option> <option>1987</option> <option>1988</option> <option>1989</option> <option>1990</option> </select></td> </tr> <tr> <td class="kategorie">Straße:</td> <td><input name="street" type="text" size="50"> </td> </tr> <tr> <td class="kategorie">PLZ:</td> <td><input name="zip_code" type="text" size="50"> </td> </tr> <tr> <td class="kategorie">Ort:</td> <td><input name="place" type="text" size="50"> </td> </tr> <tr> <td class="kategorie">Land:</td> <td><select name="country"> <option>- - -</option> <option>Deutschland</option> <option>Österreich</option> <option>Schweiz</option> </select> </td> </tr> <tr> <td class="kategorie">eMail:</td> <td><input name="email" type="text" size="50"> </td> </tr> <tr> <td></td> <td></td> </tr> <tr> <td colspan="2">[img]../ama_draft/images/line.gif[/img]</td> </tr> <tr> <td></td> <td></td> </tr> <tr> <td class="kategorie">Posten als:</td> <td><select name="responsible_kind"> <option>- - -</option> <option>Physiotherapoit</option> <option>Sonstiges</option> </select> </td> </tr> <tr> <td class="kategorie">letzter od. aktueller Verein:</td> <td><input name="last_club" type="text" size="50"> </td> </tr> <tr> <td valign="top" class="kategorie">Erfahrungen als Betreuer:</td> <td><textarea name="experience" cols="38" id="experiences"></textarea></td> </tr> <tr> <td valign="top" class="kategorie">Sonstiges:</td> <td><textarea name="other" cols="38"></textarea> </td> </tr> <tr> <td></td> <td></td> </tr> <tr> <td colspan="2">[img]../ama_draft/images/line.gif[/img]</td> </tr> <tr> <td></td> <td></td> </tr> <tr> <td class="kategorie">Username:</td> <td><input type="text" name="username"> </td> </tr> <tr> <td class="kategorie">Passwort:</td> <td><input type="password" name="password"> </td> </tr> <tr> <td></td> <td></td> </tr> <tr> <td></td> <td><input type="submit" name="register_responsible" id="register_responsible" value="Speichern"> </td> </tr> <tr> <td></td> <td></td> </tr> </table></td> </tr> </table> </form> </body> </html>
Mit klicken auf den Submit Button wird die register_send.php aufgerufen. Hier entsteht nun das Problem. Ich möchte das er mir in die Tabelle "register_responsible" die Insert-ID von "register_member" als ID einträgt, damit ich weiß das diese zwei Datensätze zusammengehören.
Es funktioniert bisher nur, wenn ich den SQL String direkt in die "register_send.php" eintrage. Dies ist aber die Lösung die mir (wie oben gesagt nicht so gefällt). Sobald ich nur die Variable des Strings aus "sql.inc" aufrufe, trägt er mir die ID nicht ein.
Das ID Feld in der Tabelle "register_resposible" ist ein Varchar Feld.
Hier noch der Code von register_send.php
Code:
<? mysql_query($sql_member_insert); $insert_id = mysql_insert_id(); echo $insert_id; if ($register_responsible){ mysql_query($sql_responsible_insert); } ?> <table width="659" border="0" cellspacing="0" cellpadding="0" class="main_text"> <tr> <td width="15"></td> <td width="644"></td> </tr> <tr> <td class="kategorie"></td> <td class="text">Ihre Daten wurden erfolgreich gespeichert...</td> </tr> </table>
Ich hoffe ich habe es einigermassen verständlich erklärt. Aber das glaube ich ehrlich gesagt nicht. Bitte fragt mich wenn Ihr was wissen und mir helfen wollt.
Vielen herzlichen Dank das Ihr euch meinen Text bis zum Schluss durchgelesen habt!!!!!!!!
ciao stiffler2000
Einen Kommentar schreiben: