webForumDet fria alternativet

Arrays i formulär

PHPur PHP

3 svar · 325 visningar · startad av Niklasson

Medlem sedan nov. 2000857 inlägg
Frågan#1

Jag skickar information med ett formulär. Sen tar jag emot informationen så här:

if (!empty($HTTP_POST_VARS)) {
unset($post_data);
	while (list ($key,$value) = each ($HTTP_POST_VARS))
	{
	$post_data[$key]=$value;
	}
}

och

if (!empty($post_data)) {
	while (list ($key,$value) = each ($post_data))
	{
	$key = ucfirst($key);
	$meddelande = $meddelande."\n$key:\n$value\n";
	}
}

Detta är för att jag ska kunna lägga till fält i formuläret utan att behöva anpassa koden. Problemet kommer nu när jag vill kunna använda multipla val. Jag vet att man kan skapa en Array genom att ange name="tjabba[]", men hur gör jag för att komplettera koden ovan? Som det är nu får jag bara resultatet "Array"

Den ska alltså klara av detta utan att veta vad fältet (arrayen) heter. Precis som med vanliga posts i koden ovan. Jag har provat is_array men jag gör fel, och jag kan inte begripa vad.

Medlem sedan maj 20071 061 inlägg
#2

Lägg in en if stass. Får du att det är en Array går den in i en While eller en for satts och plockar ut alla värden. (besvara inte hela din fråga, men en god bit på väg)

Medlem sedan nov. 2000857 inlägg
#3

Tack för ditt svar. Jag har provat det efter egen förmåga men inte lyckats. Tänkte att jag fått hjärnsläpp och behövde lite hjälp att komplettera koden.
Känns som det inte borde vara så svårt, utan att jag helt enkelt tänkt fel hittills...

Kanske är mer klartänkt nästa gång jag orkar kolla på det, fast jag tr gärna emot mer hjälp om du/någon kan... ;)

Medlem sedan mars 20034 471 inlägg
#4

Hmmm.... Otestat:

if (!empty($HTTP_POST_VARS)) { 
   unset($post_data); 
   foreach ($HTTP_POST_VARS as $key => $value) { 
      if (!is_array($key))      
         $post_data[$key]=$value; 
      else {
         $post_data[$key]=array();
         foreach ($key as $k => $v) {
            $post_data[$key][$k]=$v; 
      }
   } 
}
134 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)