Textarea Namen mit Arrays generieren

the snake II

Erfahrenes Mitglied
Hallo,

Ich habe ein Gästebuchscrpt geschieben, wofür ich jetzt ein Administrationsscript schreibe. Hier soll für jeden Beitrag ein Formular mit einer Textarea und einem Submit Button generiert werden. Hier erstmal das Script auf dem Aktuellen Stand:
PHP:
<?php
echo "<html><head><title>Gästebuch - Administration</title></head><body>";
$sent = $_POST[sent];
if($sent==1){
$save = $_POST[nachricht];
$handle = fopen('data.txt','w+');
fputs($handle,$save);
fclose($handle);
}
$db = "data.txt";
$inhalt = file($db);
foreach($inhalt as $ausgabe)
{
echo "<center><form action=\"index.php\" method=\"post\"><textarea name=nachricht cols=30 rows=10>";
echo $ausgabe;
echo "</textarea><br><input type=submit value=Speichern><br>";
}
echo "<input type=hidden value=1 name=sent><br></form><br></center></body></html>";
?>
Im Browser wird jetzt für jede Zeile ein eigenes Formular ausgegeben. Das Problem hierbei ist nur, dass alle Textareas den Namen 'nachricht' hat.
Wenn ich jetzt Zwei Zeilen habe:
Betreff1~Name~Nachricht
Betreff2~name2~Nachricht2
Gibt der Browser Zwi textareas aus. Ändere ich die Zweite Textarea, wird nur das erste Textfeld gespeichert und das Zweite nicht beachtet.
Nun meine Frage, wie kann ich jeder Textarea einen anderen Namen verpassen und seperat Speichern? Ich hatte gedacht mit Arrays, ich habe aber noch nicht soviel erfahrung mit PHP.
Vielen Dank im Vorraus.
 
PHP:
$i = 0;
foreach($inhalt as $ausgabe) {
  echo '<center>
  <form action="index.php" method="post">
  <textarea name="nachricht_'.$i.'" cols="30" rows="10">'.$ausgabe.'</textarea><br>
  <input type="submit" value="Speichern"><br>';
  $i++;
}

Am Ende hast du dann also Textareas á la nachricht_0, nachricht_1, nachricht_2 usw.
 
Vielen Dank, das hat mir sehr geholfen, aber ich hatte da etwas vergessen:

Wie kann ich das dann Speichern, denn das geht ja nichtmehr:
PHP:
$save = $_POST[nachricht];
Wie kann ich den Befehl so umschreiben, dass der Befehl $_POST[...] statt der Pünktchen den Namen der dazugehörigen Textarea.
 
Zurück