Kordzik
22.02.2005, 20:03:00
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
22.02.2005, 20:07:08
jasne że tak, oto kod:
<INPUT type="HIDDEN" NAME="nazwa" VALUE="wartosc">
_Cartman
22.02.2005, 20:13:38
niezbyt kapuje o co ci chodzi, ale ja bym to zrobił tak:
plik.html:
<!-- TERAZ FORMULARZ -->
<form action="obsluz_plik.php" method="post"> <input type="hidden" value="jakas_wartosc" name="nazwa" /> <input type="text" name="nazwa2" /> <input type="submit" name="submit" value="OK" />
przykładowe zastosowanie hiddena w obsluz_plik.php
<?
$zmienna=$_POST['nazwa']*$_POST['nazwa2'];
?>
Nie wiem czy o to ci chodziło, ale moze ktos inny skorzysta
Kordzik
24.02.2005, 20:22:53
Jesli ta zmienna ($_POST['nazwa']) bedzie miala taka wartosc jak VALUE w formularzu to wlasnie o to mi chodzilo
sebastiankozub
18.02.2008, 15:56:35
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

...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

pls
nikt nie pomoze?
nowotny
18.02.2008, 16:04:54
Nie rozumiem dokładnie gdzie masz problem... przykładowy kod jakiś podaj...
Zobacz też tutaj:
http://pl.wikibooks.org/wiki/PHP/Formularze
sebastiankozub
18.02.2008, 16:15:51
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
18.02.2008, 16:21:59
No to jednym z możliwych rozwiązań jest jak wyżej... dodaj sobie ukryte pola w formularzu...:
<?php
echo "<td>".$CENA_OLEJU."</td> <input type=\"hidden\" value=\"".$CENA_OLEJU."\" name=\"cena_oleju\">";
?>
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
18.02.2008, 18:32:02
hehe jejku ale banalne

dzieki wielkie, a wielkie litery sa dlatego ze one wczesniej byly stalymi tylko w czasie kombinacji staly sie zmiennymi

dzieki jeszcze raz
-orzech-
24.02.2008, 17:01:35
<input type=hidden value="tutaj_wartosc_ukryta">