webForumDet fria alternativet

Formulärdata

2 svar · 160 visningar · startad av FlashX

FlashXMedlem sedan nov. 19991 033 inlägg
#1

På en beställningsida kan man bocka för vilka produktbroshyrer man vill beställa. Produkterna hämtas från databasen och namnet på bockrutorna blir därför dynamiskt.
Hur tar man hand om detta innan man skickar mailet med uppgifter om vilka rutor som är valda. Gör man som i perl att man först delar upp det som skickas med Post eller finns det möjligen någon annan variant i PHP som man hellre använder?

spangoMedlem sedan juni 20008 205 inlägg
#2

Menar du hur man ser vilken POST-data som kommit in? En ledtråd: $HTTP_POST_VARS ;)
Men varför inte göra så att produktnamnen hamnar i en array i stället?

order_catalogue.php
<h1>Beställ katalog om...</h1>
<form name="place_catalogue_order.php" method="post">
<input type="checkbox" name="catalogues[]" value="1"> Frukter<br>
<input type="checkbox" name="catalogues[]" value="2"> Bär<br>
<input type="checkbox" name="catalogues[]" value="3"> Rotfrukter<br>
</form>

place_catalogue_order.php
<?php

$sql = sprintf('SELECT * FROM katalogtabell WHERE katalogtyp IN (%s)', implode(',', $catalogues));
// $sql == "SELECT ... WHERE katalogtyp IN (1,2,3)" om man markerade alla typer
?>

------------------
You can be a coward for a few minutes, or dead forever. /Rincewind

FlashXMedlem sedan nov. 19991 033 inlägg
#3

I en array hamnar de ju automagiskt i eftersom det är en sql-fråga.
Jag måste veta vilken data som kommer med Post och det är fullt möjligt att det var $HTTP_POST_VARS som jag letade efter :)

[r]
Det var det som löste mina problem

reset ($HTTP_POST_VARS);
while (list ($key, $val) = each ($HTTP_POST_VARS)) {
// ...
}

Många tack :)
[/r]

[Redigerat av FlashX den 07 dec 2001]

144 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
141 ms — hämta tråd, inlägg och bilagor (db)