Jak v Perlu (obsahuje HTML) předám hodnotu? *

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

jiri255
Level 1.5
Level 1.5
Příspěvky: 105
Registrován: 21 led 2013 18:15

Re: Jak v Perlu (obsahuje HTML) předám hodnotu? *

Příspěvek od jiri255 »

..nejde mi o to mít dvakrát stejnou hodnotu ve formuláři. Jde o to, že tím selectem si vyberu hodnotu a její zkratku posílám do té
proměnné nazvané třeba "$zelenina" a ta je skrytá není tam ten input vidět, ale slouží k tomu, že ji dál předávám k zápisu do databáze
do sloupce zelenina k tomu právě potřebuju tu proměnnou naplnit.

Kód: Vybrat vše

$zelenina=$O->Data('zelenina');
stejně jako třeba... toto funguje bez problémů, protože předávám text, který tam zapíšu
potřebuju dosáhnout stejného efektu jen navíc o ten select

Kód: Vybrat vše

$INFO=$O->Data('INFO');
# a input je zapsan
<td><input type=text name='INFO' value='$INFO'></td>
HusKy
nováček
Příspěvky: 8
Registrován: 19 črc 2014 00:06

Re: Jak v Perlu (obsahuje HTML) předám hodnotu? *

Příspěvek od HusKy »

Ale CzechBoy ma recht. Ta hodnota tam raz je, a je jedno ci to je text box, hidden input alebo list box.
Ak to robis cez klasicky HTML formular, tak presun tej hodnoty do druheho inputu je naozaj zbytocny.
Uživatelský avatar
SoNyX
Level 3
Level 3
Příspěvky: 598
Registrován: 18 črc 2009 18:00

Re: Jak v Perlu (obsahuje HTML) předám hodnotu? *

Příspěvek od SoNyX »

Ale když se nad tím zymyslíš, tak ti to stačí takhle:

Kód: Vybrat vše

<form method="post" action="cesta_k_perl_scriptu"> // možná by se hodilo určit typ dat, které přenášíš za pomocí atributu enctype.
<select name="zelenina">
   <option value="br">brambory</option>
   <option value="mr">mrkev</option>
   <option value="pe">petrzel</option>
</select>
<input type="send" value="Zpracovat" />
</form>
Enctype: http://www.w3schools.com/tags/att_form_enctype.asp
V tom Perl scriptu už pak jen zpracuješ data, v podstatě hodnotu proměnné zelenina (selectu) ... Nevím, proč bys tu hodnotu měl potom ještě kopírovat do další proměnné, leda by to bez toho nešlo.
MB: Asus ROG Maximus VIII Ranger | CPU: i5-6600k | CPU Cooler: Noctua NH-U12S | GPU: MSI GTX 1070 Gaming X 8G
RAM: Kingston HyperX Fury Black 16GB DDR4 | SSD: Corsair MX100 256GB | HDD: 2x Seagate Barracuda 7200.14 1TB
PSU: Corsair RMx Series RM650x | CASE: FD Define R4 BP w/ window



My Steam Profile (from SteamDB)
  • Worth: $8950 ($2776 with sales)
  • Games owned: 501
  • Games played: 146 (29%)
  • Hours on record: 5,172.1h
Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: 20 srp 2008 14:02
Bydliště: Brno
Kontaktovat uživatele:

Re: Jak v Perlu (obsahuje HTML) předám hodnotu? *

Příspěvek od CZechBoY »

A co ti vrací ten <select> teda?
Mě se v php teda <select> posílá :-)
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
IDVert3X

Re: Jak v Perlu (obsahuje HTML) předám hodnotu? *

Příspěvek od IDVert3X »

V pearle sa nevyznam, ale v PHP ano.

Pri formulari kde mas dajme tomu:

Kód: Vybrat vše

<select name="zelenina">
 <option value="br">Brambory</option<
 <option value="mr">Mrkev</option>
 ...
</select>
sa ti to v php vrati ako premenna zelenina, cize takto:

Kód: Vybrat vše

$_POST['zelenina'];
nevidim dovod tam davat hidden input pod premennou $zelenina ked uz ten option posle informacie v premennej $zelenina kedze ma name="zelenina"
jiri255
Level 1.5
Level 1.5
Příspěvky: 105
Registrován: 21 led 2013 18:15

Re: Jak v Perlu (obsahuje HTML) předám hodnotu? *

Příspěvek od jiri255 »

zamyslel jsem se nad tím co jste mi poradili a máte pravdu ...proč si to komplikovat.
Vyhodil jsem tedy ten input hidden a laboroval jen s tím selectem.
To html je součástí toho perl scriptu a jelikož je tam ta hodnota "$zelenina" definována
jako proměnná v tom zápisu do db:

Kód: Vybrat vše

$zelenina=$O->Data('zelenina');
tak jsem ji zkusil definovat ještě jednou jako jinou proměnnou '_$zelenina'

Kód: Vybrat vše

$zelenina = '_$zelenina'
a ten select upravil na:

Kód: Vybrat vše

<select name="_zelenina">
   <option value="br">brambory</option>
   <option value="mr">mrkev</option>
   <option value="pe">petrzel</option>
</select>
a sice moc nechápu proč to tak musí být, ale teď to již funguje a dělá to přesně to co
to má dělat a vybranou hodnotu to zapíše do databáze :-)

Děkuji vám za trpělivost a rady ;-)
Zamčeno
  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • HTML editor
    od BigSandy » » v Programy ke stažení
    3 Odpovědi
    15279 Zobrazení
    Poslední příspěvek od pcmaker
  • Kdo umí číst kód HTML? Doladit jednu podmínku.
    od Minapark » » v Programování a tvorba webu
    22 Odpovědi
    17806 Zobrazení
    Poslední příspěvek od Minapark

Zpět na „Programování a tvorba webu“