webForumDet fria alternativet

Problem med formulär

2 svar · 173 visningar · startad av Pedda

PeddaMedlem sedan juni 20004 880 inlägg
#1

Använder denna kod för att loopa in data från ett formulär i databasen:

if (isset($_POST['songs'])){
	$data = mysql_query("SELECT * FROM cd_skiva ORDER BY skiva_id DESC LIMIT 1");
		while ($r = mysql_fetch_array($data)) {
		// Loopa igenom alla poster i formuläret
		$keys = array_keys($_POST); 	
		$i = 0;
		while($i < count($keys)){ 
			if (strlen($_POST[$keys[$i]])>0) {
			mysql_query("INSERT INTO cd_songs (song_refid, song_titel) VALUES (".$r['skiva_id'].", '{$_POST[$keys[$i]]}')") or die(mysql_error());
			}
			$i++;
		}
	} 
	header("Location: settings.php?action=nyCD®gad=klar");
}

Den loopar, lägger in alla posterna i databasen. Men avslutar med att lägga in texten på knappen som en post. (Knappen i formuläret alltså).
Vad har jag gjort för fel? Vad bör jag ändra på?

Knappen är en helt vanlig submit knapp:

<input type="submit" name="songs" value="Lägg till">
MatteMedlem sedan aug. 20002 970 inlägg
#2

En variant. Ta bort variabeln innan du börjar loopa:

if (isset($_POST['songs'])){
    unset($_POST['songs']);
    $data = mysql_query("SELECT * FROM cd_skiva ORDER BY skiva_id DESC LIMIT 1");
    // o.s.v.
PeddaMedlem sedan juni 20004 880 inlägg
#3

Funkade ju super :bire

Så har man lärt sig något nytt idag igen! :)

Genererad på 488 ms · cache AV · v20260730165559-full.f96bc7eb