Install-Skript

Ich bin jetzt 34 Stunden wach, aber ich versuche mein letztes Problem zu schildern.

Ich habe ja im Presentations-Bereich für jeden neuen Benutzer eine eigene Seite (wenn sich welche endgültig melden sollten … ), auf diesen Seiten ist jeweils ein Formular und die zu dem User passenden Kommentare.

Mein Problem: Ich habe nur eine Tabelle in der Datenbank und zwar die für die Seite ‘Comments’. Die User sollen aber nur ihre eigenen Kommentare erhalten. Dementsprechend benötige ich für jeden neuen User eine eigene Tabelle, da der PHP-Code für das Formular immer gleich bleibt, wäre es Unsinn, die Tabelle jedesmal von Hand zu erstellen, was ich selbst nicht auf die Reihe bekomme.

Es gibt eine Art von PHP-Dateien die man einmal aufruft und die Tabelle ist da, ein Install-Skript. Praktisch an diesem Skript sollte sein, dass ich selbst nur den Namen der Datenbank ändern muss, z.B. “User-Kommentar1” und dann bei einer neuen Seite das Skript einfach umänder in “User-Kommentar2”… Das wäre die einfachste Lösung.

Die frage ist, wer kann soetwas schreiben?

Den Code für die PHP-Datei:

[code]

<?php $host = 'localhost'; $user = 'don-ambiente'; $pass = '****'; $db = 'don-ambiente'; @mysql_connect($host, $user, $pass) or die("Fehler bei der DB-Verbindung!"); mysql_select_db($db) or die("Fehler bei der DB-Tabelle!"); $sql = "SELECT * FROM `beispiel-musiker` ORDER BY `ID` DESC"; $query = mysql_query($sql); if ($query) { while($data = mysql_fetch_array($query, MYSQL_ASSOC)){ if ($data['email'] != "") { if ($data['homepage'] != "") { echo "

" . $data['name'] . " schrieb am " . date("d.m.Y", $data['date']) . " um: " . date("H:i:s", $data['date']) . "

\n  " . $data['text'] . "

\nE-Mail: " . $data['email'] . "
\nHomepage: " . $data['homepage'] . "

\n"; } else { echo "

" . $data['name'] . " schrieb am " . date("d.m.Y", $data['date']) . " um: " . date("H:i:s", $data['date']) . "

\n  " . $data['text'] . "

\nE-Mail: " . $data['email'] . "

\n"; } } else { if ($data['homepage'] == "") { echo "

" . $data['name'] . " schrieb am " . date("d.m.Y", $data['date']) . " um: " . date("H:i:s", $data['date']) . "

\n  " . $data['text'] . "

\n"; } else { echo "

" . $data['name'] . " schrieb am " . date("d.m.Y", $data['date']) . " um: " . date("H:i:s", $data['date']) . "

\n  " . $data['text'] . "

\nHomepage: " . $data['homepage'] . "

\n"; } } } } mysql_close(); ?>
                    <form action="" method="post" enctype="multipart/form-data">
                     Ihr Name:<br />
                    <input type="text" name="name" /><br />
                     Ihre Homepage:<br />
                    <input type="text" name="page" /><br />
                     Ihre E-Mail:<br />
                    <input type="text" name="email" /><br />
                    <label for="email_address">Dieses Feld ist ein Spamschutz (nicht ausfüllen!)</label><br />
                    <input type="text" name="email_address" id="email_address" size="40" /><br />
                       Ihre Nachricht:<br />
                    <textarea cols="50" rows="6" name="text"></textarea><br />
                      <br />
                    <input type="submit" name="submit" value="Eintragen!" /><br />
                      <br />
                      <br />
<?php $host = 'localhost'; $user = 'don-ambiente'; $pass = '*****'; $db = 'don-ambiente'; @mysql_connect($host, $user, $pass) or die("Fehler bei der DB-Verbindung!"); mysql_select_db($db) or die("Fehler bei der DB-Tabelle!"); function clean_string($input) { $input = htmlspecialchars($input, ENT_QUOTES); if (get_magic_quotes_gpc()) { $input = stripslashes($input); } $input = mysql_real_escape_string($input); $input = trim($input); return $input; } $name = clean_string($_POST['name']); $text = clean_string($_POST['text']); $homepage = clean_string($_POST['page']); $email = clean_string($_POST['email']); $error = 0; if(isset($_POST['submit'])) { if(empty($name)) { echo "Bitte geben Sie Ihren Namen an!
\n"; $error = 1; } if(empty($text)) { echo "Bitte geben Sie einen Nachricht ein!
\n"; $error = 1; } if ($_POST['email_address'] !== '') { exit('

Es ist ein Fehler aufgetreten!

Sie haben ein Feld ausgefüllt, das nicht ausgefüllt weden darf.'); } if(empty($homepage)) { $homepage = ""; } if(empty($email)) { $email = ""; } if($error!=1) { $sql = "INSERT INTO `beispiel-musiker` (name,date,email,homepage,text) VALUES ('" . $name . "','" . time() . "','" . $email . "','" . $homepage . "','" . $text . "')"; if (mysql_query($sql)) { echo "Danke für ihren Eintrag!
\n"; } else { echo "Ihr Eintrag konnte nicht gespeichert werden! Bitte versuchen Sie es erneut!
\n"; } } } mysql_close(); ?>
                     </form>[/code]

Ich hoffe die einzutragenden Felder findet man heraus.

MfG: René

Nein.
Riesengrosser Unsinn wäre es, für jeden Nutzer eine eigene Kommentar-Tabelle zu erstellen.
Daten gleicher Struktur gehören in die gleiche Tabelle!

Nimm die Nutzer-ID als zusätzliche Spalte mit auf, und benutze diese beim Auslesen der Kommentare entsprechend.