webForumDet fria alternativet

Utesluta i array

4 svar · 565 visningar · startad av Jester73

Jester73Medlem sedan mars 2012121 inlägg
#1

Hej

Jag vill utesluta vissa nycklar, baserat på namnet, med tillhörande värden i en $_POST innan jag skapar en SQL fråga för att spara informationen i databasen.

Funderar på att sätta in en IF under WHILE och då vill jag ju att WHILE skall avbrytas när rätt nyckel hittas och fortsätta med nästa.

Eller finns det något bättre sätt?

Tack på förhand!

Nate.AMedlem sedan mars 2006280 inlägg
#2

Något sånt här kanske kan funka?
En funktion för att plocka ut data ur en associativ array. Nu är den helt otestad, jag skrev den just nu, bara för dig ;)


<?php

	// values we want
	$keys = array( 'namn', 'epost', 'kommentar' );

	$data = get_post_data( $keys, $_POST );

	
	function get_post_data($keys, $post){
		//return var
		$post_data = array();
		// check params
		if( is_array($keys) && is_array($post) ) :
			//loop keys & save to return val
			foreach($keys as $key) {
				// save empty string if not set
				$post_data[$key] = (isset($post[$key])) ? $post[$key] : '';
			}
		endif;
		// return results
		return $post_data;
	}
?>
Jester73Medlem sedan mars 2012121 inlägg
#3

Tack för förslaget!!
Jag tror jag var lite otydlig i min frågeställning.
Jag skall utifrån POST arrayen bygga en SQL INSERT men innan jag kan göra det måste jag ju ta bort exempelvis värdet i POST som submit knappen lämnat. Jag har även en password verifieringsruta som inte heller skall vara med.

Eftersom jag kommer att ha ett formulär med ganska många textrutor m.m så skall jag nog göra en array som utesluter namngivan element istället för att ange de jag vill ha.

@ndersMedlem sedan juni 200026 914 inlägg
#4

En någorlunda enkel lösning är att namn-prefixa de fält i formuläret som du inte vill ha med, exempelvis med "excl_". Sedan i din loop när du ska stoppa in värdena är det bara att se till att inte ta med de som börjar med excl_. Se till att $fieldname innehåller html-formulärfältets namn, eller ändra i if-satsen till något annat

if (!strpos($fieldName, "excl_") == 0) {
   // lägg till 
}
Jester73Medlem sedan mars 2012121 inlägg
#5

Tack för tipset!!

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