ugrás a tartalomhoz

input form name megadása SQL adatbázisból és $POST kérdés

mykee · 2012. Júl. 1. (V), 00.13
Sziasztok,

A segítségeteket szeretném kérni és előre is bocsi, ha túl könnyűt kérdezek, de a következő problémára nem találok semmilyen értelmes megoldást:
Az adatbázisom parameters táblájának a param_name mezőjébe elmentettem stringeket, amiket fel szeretnék használni a form input name értékhez. Ezeket a kitöltött input form-okat aztán a felhasznal.php-ban változókba szeretném tenni.
Gondoltam rá, hogy tömbbe kellene raknom az adatbázisból kiolvasott param_name értékeket és utána ezt használnám a name érték megadásánál. Erre nem találtam megoldást, viszont arra sem, hogy a $POST[] utána hogyan veszi át pl. tömb értéket.

elso.php:

$seged=mysql_query("select * from parameters");

<?php echo " <form action='felhasznal.php' method='post'>
<table border='1' cellpadding='5' cellspacing='0'>";
while ( $kiolvas=mysql_fetch_assoc($seged))
{
$valt=$kiolvas['param_name'];
echo "<tr><td>".$valt." </td><td><input type='text' name='".$valt."' /></td></tr>";
}
?>

felhasznal.php:

<?php
$kiir=$_POST['$valt'];
echo $kiir;
echo "<BR>";
?>
 
1

Mi a kérdés?

Hidvégi Gábor · 2012. Júl. 1. (V), 07.06
Költői kérdés: miért kell mostanában a fórumtémák egy részénél azzal eltölteni egy csomó időt, hogy kitaláljuk, mit is akar a beküldő?

mykee: próbáltad már kiíratni a $_POST tömböt?
2

$kiir=$_POST['$valt']; ez

Poetro · 2012. Júl. 1. (V), 07.41
$kiir=$_POST['$valt'];
ez komoly?
3

Bocsi a nehézkes

mykee · 2012. Júl. 1. (V), 08.34
Bocsi a nehézkes foglamazásért. Megpróbálom egyszerűbben leírni.
Adott egy adatbázis mező amiben vannak elemek (param_name mezőben pl. van 10 elemem, string típusúak)
Egy while ciklussal gondoltam létrehozni input beviteli mezőt ami végül is annyi db lesz ahány elemű a param_name mező.
A felhasználó kitölti az összes input mezőt és megnyomja a "submit" gombot. A dinmaikusan létrehozott input értékeket szeretném átvenni a felhasznal.php-ba. Ezután szeretném az átvett input mező értékeket itt a felhasznal.php-ban felhasználni.

Most itt tartok:
elso.php:

$dt1=mysql_query("select * from parameters"); // kiválasztom a parameters tábla összes mezőjét
echo " <form action='felhasznal.php' method='post'>
<table border='1' cellpadding='5' cellspacing='0'>";
while ( $kiolvas=mysql_fetch_assoc($dt1))
{
$valt=$kiolvas['param_name'];
echo "<tr><td>".$valt." </td><td><input type='text' name='parameterek' /></td></tr>"; //létrehozok annyi input mezőt, amennyi eleme van a param_name mezőnek. A dinamikusan létrehozott input mezőknek egységesen "parameterek" nevet adom és erre a névre fogok hivatkozni a felhasznal.php $_POST-nál.
}
echo "</table>
<input type='submit' name='kuld' value='Submit' /></form>
<br></br>";

felhasznal.php:

foreach ($_POST as $kulcs => $ertek) {
echo $kulcs, ': ', $ertek;
}

Ez eddig annyit tud, hogy az utolsó input értékét átveszi és kiírja az $_POST nevét (parameterek) és az utolsó input mező értékét. Nekem viszont az összes input mező értéke kellene.
4

Szerintem erre lesz szükséged:

Endyl · 2012. Júl. 1. (V), 09.04
5

Nagyon köszi a segítséget!

mykee · 2012. Júl. 1. (V), 10.21
Nagyon köszi a segítséget! :)

Sikerült megoldani úgy, hogy a input name értékét tömbbé alakítottam:
<input type='text' name='parameterek[".$valt."]' />
és utána ezt mint tömböt olvastam ki az $_POST[parameterek]-el.
6

Még ez sem kell

Pepita · 2012. Júl. 3. (K), 05.31
Légyszi használj kódszínezőt!
Ha úgy csinálod, mint a linkelt manualban:
<input name="MyArray[]" />
<input name="MyArray[]" />
<input name="MyArray[]" />
<input name="MyArray[]" />
, akkor is eléred $_POST['MyArray'][0], ... , $_POST['MyArray'][$n] elemekként. Így nem kell a HTML kiírásakor számlálót növelgetned, lehet sima foreach.