Autor Zpráva
Draffix
Profil *
Zdravím, chtěl bych se zeptat, jak je možné získat novou hodnotu z textového inputu do parametru? Mám tento kód v šabloně:

<table width="600" border="1">
    <?php 
    if(!isset($_SESSION["cart"]) || $_SESSION["cart"]==null) { ?>
    <p> Nemáte nic v košíku </p>
    <?php } else { ?>
    <caption>
        <strong>Obsah košíku</strong>
    </caption>
    <tr>
        <th width="113" scope="col"></th>
        <th width="207" scope="col">Název produktu</th>
        <th width="121" scope="col">Název výrobce</th>
        <th width="75" scope="col">Množství</th>
        <th width="69" scope="col">Cena</th>
        <th width="75" scope="col"></th>
    </tr>
    {foreach $_SESSION["cart"] as $product}
    <tr>
        <td><img src={$product->image_path|dataStream} width="113" height="92" /></td>
        <td>{$product->prod_name}</td>
        <td>{$product->prod_producer}</td>
        <td><input type="text" name="quantity" size="1" value="{$product->basket_quantity}"</td>
        <td>{$product->totalPrice}</td>
        <td><a n:href="removeFromCart! $product->prod_id">Odstranit</a>
            <a n:href="updateCart! $product->prod_id">Upravit</a></td>
    </tr>
    {/foreach}
    <?php } ?>
</table>

A jde mi konkrétně o to množství. Jako defaultní hodnotu tam mám množství, které mám v session u daného ID. Jak ale při kliknutí na "Upravit" předat upravené množství zpět do množství v session? Předem děkuji za odpověď
peta
Profil
echo '<pre>';
print_r($_POST);
print_r($_GET);
print_r($_SESSION);
//neco jako 
$_SESSION["cart"][] = $_POST['novyprodukt']; // addProduct($_POST['novyprodukt']);
Asi to mas resene funkci addProduct, ktera ti podle id produktu prida do session veskera data o produktu. Poslany kousek kodu je v celku bezcenny pro vyreseni dotazu. Zadnou takovou funkci neobsahuje ani neobsahuje strukturu session -> print_r($_SESSION);
Draffix
Profil *
peta:
Řešené to mám v handleru addProduct, ale tam se vše děje především podle ID produktu a není třeba do něj zasahovat. Mě jde o to, že když budu mít například:
<td><input type="text" name="quantity" size="1" value="10"</td>

Tak jak předat tu value 10 do parametru? Nebo jak využít $_GET/$_POST, fungují i mezi http požadavky? Abych pak zavolal něco jako $_POST['quantity'] v prezenteru a získal tu hodnotu?
peta
Profil
Nerozumim reci tveho kmene. Vse, co jmenujes je terminologie tveho programu, ktery ale neni soucasti tematu, takze ty pojmenovani nedavaji smysl.
Uvedeny kod neobsahuje zadny odkaz ani formular, takze nelze rizi, zda se udaje posilaji pres POST nebo GET. Dale tam neni funkce addProduct, takze neni jiste, jakym zpusobem do $_SESSION pridavas.

<td><input type="text" name="quantity" size="1" value="10"</td>
Toto neni validni html kod. ">"
Toto neni kod, ktery je soucasti formulare, protoze tag form tam neni. Formular ma bud method=post nebo method=get. Z toho plyne prenos udaju bud do poli $_POST nebo $_GET a nebo jeste do spolecneho $_REQUEST.
echo $_POST['quantity'];
var_dump($_POST['quantity']);
To je hodnota odeslana formularem s parametrem method=post z policka s name=quantity pravdepodobne z policka
<input type="text" name="quantity" size="1" value="10">

Jen jsem chtel rici, ze na takovy dotaz je dost obtizne odpovedet, kdyz se tazatel pta na neco jineho nez k cemu da php a html kod. Navic, ve tvem pripade se nejspis pouziva nejaky joomla nebo jiny engine (framework). Ale to se podle uryvku kodu neda poznat, ktery z tech asi 15 to konkretne je nebo je to tvuj vlastni, mozna. Takze ti nemuzu rici, jak to v tom enginu napsat. ten engine ma treba funkci, ktera precte udaje z formulare.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0