Jak vytezit promenne z POST – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Jak vytezit promenne z  POST – PHP – Fórum – Programujte.comJak vytezit promenne z POST – PHP – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
nav
~ Anonymní uživatel
5 příspěvků
28. 7. 2013   #1
-
0
-

Dobrý den

nemohu přijít na způsob, jak v cyklu definovat proměnné z POST.

Konkretně mám definovánu prom.

$seznam="cocka|hrach|fazole";

A chtel bych ziskat z POST proměnné stejneho jména s hodnotou např.

$cocka=20; $hrach=15; $fazole=40;

POST vždy určitě obsahuje proměnné s hodnotami, jejichž jména jsou uvedena v $seznam. $seznam je pokaždé jiny. V některých jazycích je řešení jednoduché - senam se rozparsuje dle oddělovače a substitucí získaného jména proměnné se z POST získá její hodnota.

Jak to napsat v PHP ovšem netuším. Díky za každé pozitivní nakopnutí - upozorňuji, že PHP moc neumím.

Nahlásit jako SPAM
IP: 213.226.236.–
z_moravec
~ Redaktor
+3
Posthunter
28. 7. 2013   #2
-
0
-

#1 nav
Podívej se na funkci explode, ta ti umožní rozdělit obsah $seznam. Pak už je to jednoduché.

Nahlásit jako SPAM
IP: 46.39.170.–
Spát lze čtyři hodiny denně, spát déle je nemístný přepych.
Thomas Alva Edison
nav
~ Anonymní uživatel
5 příspěvků
28. 7. 2013   #3
-
0
-

Dekuji za bleskovou odpoved. Bohuzel nevim, jak to jednoduche napsat, aby to fungovalo. Jak prosim vypada to jednoduche?

Dekuji

Nahlásit jako SPAM
IP: 213.226.236.–
z_moravec
~ Redaktor
+3
Posthunter
28. 7. 2013   #4
-
0
-

#3 nav 

Třeba tak, možná tam bude chybka, píšu bez testování

$arr = Explode('|', $seznam);

foreach ($arr AS $v)
{
  $$v = $POST[$v];
}
Nahlásit jako SPAM
IP: 46.39.170.–
Spát lze čtyři hodiny denně, spát déle je nemístný přepych.
Thomas Alva Edison
nav
~ Anonymní uživatel
5 příspěvků
28. 7. 2013   #5
-
0
-

#4 z_moravec
Díky - zkusím.

Nahlásit jako SPAM
IP: 213.226.236.–
nav
~ Anonymní uživatel
5 příspěvků
28. 7. 2013   #6
-
0
-

#5 nav
#4 z_moravec
Nechci Vás obtěžovat, přesto se pokusím na Vás ještě jednou obrátit.

Vámi uvedený příklad funguje ve smyslu že lze z prom. $_POST vypsat hodnoty jmen uvedených v seznamu.

Konkrétně po zadání 

$arr = Explode('|', $seznam);

foreach ($arr AS $v)
{
  $$v = $POST[$v];
echo $$V."<br>";
}


se vypíšou hodnoty proměnných, které jsou uvedeny v seznamu. To je vynikající první krok. Bohužel to hlavní - a sice mnou uvedená potřeba definice těch proměných splněna není - ty prom. ddefinované nejsou.

Nelze tedy následně napsat

echo $hrach $cocka $fazole;


protože ty prom. nejsou definovany. Prosím, pokud jste ještě nestratil trpělivost se slaboduchým, zkuste mi odpovědět.

Děkuji velmi za ochotu

Nahlásit jako SPAM
IP: 213.226.236.–
Řešení
z_moravec
~ Redaktor
+3
Posthunter
28. 7. 2013   #7
-
0
-
Vyřešeno Nejlepší odpověď

#6 nav
A proč by nešlo, schválně jsem to otestoval a funguje to.

<?php
$seznam = "hrach|fazole";
$_POST['hrach'] = '1234';
$_POST['fazole'] = '*/-+';

$arr = Explode('|', $seznam);

foreach ($arr AS $v)
{
  $$v = $_POST[$v];
}

echo $hrach . $fazole;
?>
Nahlásit jako SPAM
IP: 46.39.170.–
Spát lze čtyři hodiny denně, spát déle je nemístný přepych.
Thomas Alva Edison
nav
~ Anonymní uživatel
5 příspěvků
28. 7. 2013   #8
-
0
-

#7 z_moravec
Asi to ani opsat poradne neumim. FUNGUJE TO !!!

Jsem Vám velmi zavázán. Díky.

Nahlásit jako SPAM
IP: 213.226.236.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 10 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý