Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Formularz - "ukryte" pole
Forum PHP.pl > Forum > Przedszkole
Kordzik
Czy da sie zrobic cos takiego, zeby zamontowac w formularzu pole, ktore jest niewidoczne dla uzytkownika i ma juz ustalona wartosc, ktora jest przeslana wraz z danymi z formularza? Chodzi mi o to, ze mam dwa osobne pliki z formularzami i jeden obslugujacy skrypt, ktory musi wiedziec, "skad" przyszly dane. Wiem, ze mozna to zrobic uzywajac dwoch dodatkowych plikow .php obslugujacych kazdy formularz i kierujacych dane do skrytpu "koncowego" za pomoca header(location: ...), ale chcialbym wiedziec, czy mozna to zrobic sposobem, ktory opisalem.
boom3
jasne że tak, oto kod:
  1. <INPUT type="HIDDEN" NAME="nazwa" VALUE="wartosc">
_Cartman
niezbyt kapuje o co ci chodzi, ale ja bym to zrobił tak:

plik.html:

  1. <title>costam</title>
  2. </head>
  3.  
  4. <!-- TERAZ FORMULARZ -->
  5.  
  6. <form action="obsluz_plik.php" method="post">
  7. <input type="hidden" value="jakas_wartosc" name="nazwa" />
  8. <input type="text" name="nazwa2" />
  9. <input type="submit" name="submit" value="OK" />
  10. </form>
  11.  
  12. </body>
  13. </html>


przykładowe zastosowanie hiddena w obsluz_plik.php
  1. <?
  2. $zmienna=$_POST['nazwa']*$_POST['nazwa2'];
  3. echo $zmienna 
  4. ?>


Nie wiem czy o to ci chodziło, ale moze ktos inny skorzysta smile.gif
Kordzik
Jesli ta zmienna ($_POST['nazwa']) bedzie miala taka wartosc jak VALUE w formularzu to wlasnie o to mi chodzilo biggrin.gif
sebastiankozub
ja mam podobny problem ale chcialbym uzyc tych zmiennych takze w formularzu... jak deklaruje je jako normalne zmienne w formularzu to nie potrafie ich przekazac do skrytpu sad.gif ...prosze o wyrozumialosc dopiero zaczynam przygode z PHP i to jedyny post jaki znalazlem z podobnym problemem

konkretnie to zmienne te w formularzu maja zawierac ceny produktow i byc tam wyswietlane a w skrypcie przetwarzajcym formularz maja sluzyc do obliczenia kwoty do zaplaty....

prosze o pomoc smile.gif pls

nikt nie pomoze? sad.gif
nowotny
Nie rozumiem dokładnie gdzie masz problem... przykładowy kod jakiś podaj...
Zobacz też tutaj: http://pl.wikibooks.org/wiki/PHP/Formularze
sebastiankozub
OTO KOD FORMULARZA
--------------------------
<?php
$CENA_OPON = 200;
$CENA_OLEJU = 20;
$CENA_SWIEC = 50;
?>
<form action="przetworzzamowienie.php" method=post>
<table border=0>
<tr bgcolor=#cccccc>
<td width=150>Produkt</td>
<td width=50>Cena </td>
<td width=50>Ilość</td>
</tr>
<tr>
<td>Opony</td>
<?php
echo "<td>".$CENA_OPON."</td>";
?>
<td align="center"><input type="text" name="iloscopon" size="3" maxlength="3"></td>
</tr>
<tr>
<td>Olej</td>
<?php
echo "<td>".$CENA_OLEJU."</td>";
?>
<td align="center"><input type="text" name="iloscoleju" size="3" maxlength="3"></td>
</tr>
<tr>
<td>Świece Zapłonowe</td>
<?php
echo "<td>".$CENA_SWIEC."</td>";
?>
<td align="center"><input type="text" name="iloscswiec" size="3" maxlength="3"></td>
</tr>
<tr>
<td align="center" colspan="2" ><input type="submit" value="Złóż zamówienie"></td>
</tr>
</table>


OTO KOD SKRYPTU PHP
------------------------
<?php
$iloscswiec = $_POST['iloscswiec'];
$iloscoleju = $_POST['iloscoleju'];
$iloscopon = $_POST['iloscopon'];
$skad = $_POST['skad'];
$CENA_OPON = $_GET['$CENA_OPON'];
$CENA_OLEJU = $_GET['$CENA_OLEJU'];
$CENA_SWIEC = $_GET['$CENA_SWIEC'];
?>

<html>
<head>
<title>Części samochodowe Janka — wyniki zamówienia</title>
</head>
<body>
<h1>Części samochodowe Janka</h1>
<h2>wyniki zamówienia</h2>

<?php
echo 'Zamówienie przyjęto: ';
echo date('H:i, jS F');
echo '<br />';
$ilosctowaru = $iloscswiec + $iloscoleju + $iloscopon;
if(!empty($iloscopon))
echo $iloscopon. ' szt. opon <br />';
if(!empty($iloscoleju))
echo $iloscoleju. ' but. oleju <br />';
if(!empty($iloscswiec))
echo $iloscswiec. ' szt. świec <br />';

if(!empty($ilosctowaru))
{
echo 'W przesyłce będzie ' .$ilosctowaru. ' sztuk towaru.<br />';
$wartosc = CENA_OLEJU * $iloscoleju + CENA_OPON * $iloscopon + CENA_SWIEC * $iloscswiec;
echo 'Cena netto: ' .number_format($wartosc,2). ' PLN<br />';
$wartosc *= 1.22;
echo 'Cena brutto: ' .number_format($wartosc,2). ' PLN<br />';
}
....itd
ogolnie chodzi mi o te trzy zmienne z formularza:
$CENA_OPON = 200;
$CENA_OLEJU = 20;
$CENA_SWIEC = 50;
w formularzu wykorzystuje je do pokazania ceny produktow w tablece i chcialbym je tez przekazac do skrypu... aby obliczyc calkowita sume do zaplacenia przez klienta
nowotny
No to jednym z możliwych rozwiązań jest jak wyżej... dodaj sobie ukryte pola w formularzu...:
  1. <?php
  2. echo "<td>".$CENA_OLEJU."</td>
  3. <input type=\"hidden\" value=\"".$CENA_OLEJU."\" name=\"cena_oleju\">";
  4. ?>

I tak trzy razy... potem musisz jeszcze przeedytować skrypt żeby te zmienne były pobierane ze tablicy $_POST a nie $_GET, jak teraz masz...

BTW: I nie używaj dużych liter w nazwach zmiennych... duże litery są generalnie zarezerwowane dla stałych...
sebastiankozub
hehe jejku ale banalne smile.gif dzieki wielkie, a wielkie litery sa dlatego ze one wczesniej byly stalymi tylko w czasie kombinacji staly sie zmiennymi smile.gif dzieki jeszcze raz
-orzech-
  1. <input type=hidden value="tutaj_wartosc_ukryta">
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.