[PHP]Variable Anzahl Formularfelder in DB eintragen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anzahl
band
beitrag
erste
fehler
fehlermeldung
festname
flyer
folgenden fehler
fnfte
info
inhalt
insert
preisen
superheld
smtliche bands
tabelle
variable
veranstaltung
zeile
-
so, habe folgendes Problem dabei, mehrere musikgruppen in eine datenbank in die selbe tabelle einzutragen:
als erstes soll der benutzer die anzahl der bands eintragen, auf der nächsten seite wird dann die gewählte anzahl an feldern generiert:
if(isset($_POST['anzahl'])){ $ll = $_POST['anzahl']; ?> <form action="#" method="POST"> ... <?php $i=1; while($i<($ll+1)){ echo "<tr><td>Band ".$i."</td><td><input type='text' name='band".$i."'></td></tr>"; $i++; } echo "<input type='hidden' name='bandcount' value='$i'>"; ?> </table> <?php echo "<input type='hidden' name='autor' value='".$_SESSION['ID']."'>"; ?> <input type="submit" name="submit" value="eintragen"> </form> <?php } else{ echo "Bitte Anzahl der Bands eingeben: <form action='index.php?section=festivaladd' method='POST'><input type='text' name='anzahl'><input type='submit'></form>"; } }
nun soll folgendes passieren: in eine Tabelle wird die veranstaltung eingetragen mit zeit, ort, name usw. und in eine andere werden sämtliche bands mit name, veranstaltungsname und datum der veranstaltung eingetragen, damit ich einmal ne übersicht über alle veranstaltungen einfach listen kann und die bands einfach für eine veranstaltung auslesen kann...
$festname = $_POST['Name']; $wann = $_POST['date']; $wo = $_POST['ort']; $preis = $_POST['preis']; $flyer = $_POST['flyer']; $autor = $_POST['autor']; $info = $_POST['info']; $ll = $_POST['bandcount']; $i=1; while($i<($ll+1)){ $bandx = "band".$i; $band.$i = $_POST['$bandx']; $sql = "INSERT INTO festbands (BAND, FESTIVAL, DATUM) VALUES ('$band".$i."', '$festname', '$wann')"; mysql_query($sql) OR die(mysql_error()); $i++; } die; $sql = "INSERT INTO festivals (NAME, DATUM, WO, PREIS, INFO, AUTOR, LASTEDIT) VALUES ('$festname', '$wann', '$wo', '$preis', '$info', '$autor','$autor')"; mysql_query($sql) OR die(mysql_error());
das ganze spuckt mir dann immer folgenden fehler aus:
Notice: Undefined index: $bandx in /home/webpages/lima-city/superheld/html/ezine/festivaladd.php on line 16
Notice: Undefined variable: band in /home/webpages/lima-city/superheld/html/ezine/festivaladd.php on line 16
Notice: Undefined variable: band in /home/webpages/lima-city/superheld/html/ezine/festivaladd.php on line 17
Table 'DBxxx.festbands' doesn't exist
ich muss die bands ja jeweils mit einer neuen abfrage in die tabelle "festbands" eintragen, oder gibts da ne einfachere variante?
mein fehler liegt ja scheinbar bei der verkettung der beiden variablen... was passtn da nich?
PS: die fehlerzeilen sind im posting die zeilen 11/12 im zweiten scriptteil
Beitrag geaendert: 3.4.2007 20:22:34 von superheld
Beitrag geaendert: 3.4.2007 20:23:08 von superheld -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
$bandx = 'band'.$i;
$band.$i = $_POST['$bandx'];
Was versuchst du, mit der zweiten Zeile zu erreichen?
In der ersten Zeile verknüpfst du "band" mit der Var i und speicherst das ganze in $bandx.
In der zweiten Zeile verknüpfst du den inhalt der Var $band mit dem Inhalt der Var $i.
Wenn du mir sagst, was du hier erreichen willst, schreib ich's richtig, aber so mach das ganze nicht viel Sinn. -
hm, naja, ich muss ja nacheinander die bands aus dem POST rauslesen also dass z.b. dasteht:
$band5 = $_POST['abcde']; (wenn abcde die fünfte eingetragene band ist)
stimmt, ich brauch gar keine verknüpfung da, $band = ...; reicht...
allerdings kommt dann immernoch die fehlermeldung:
Notice: Undefined index: $bandx in /home/webpages/lima-city/superheld/html/ezine/festivaladd.php on line 16
aber was ich damit bezwecke ist hoffentlich klar geworden... -
Also die Fehlermeldung sagt, du willst auf einen Index mit dem Namen $bandx zugreiffen.
Schreib mal [$bandx] statt ['$bandx'] -
dankeschön, das war der ganze fehler ^^''
-
Stets zu Diensten
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage