Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Taulukon lähetys

Trojan [22.09.2004 17:03:27]

#

Hei! Minulla on seuraavanlainen ongelma..
Sivuilla on monivalintalista, josta valitut arvot lähtevät taulukkona seuraavalle sivulle. Tämä toimii vielä hyvin...
mutta miten pystyisin lähettämään saadun taulukon vielä seuraavalle sivulle?

Tässä mitä olen kokeillut:

Paasivu.php

$taulu= $_POST['monivalinta'];

for($laskuri=0;$laskuri<count($taulu);$laskuri++)
$uusi[$laskuri]=serialize($taulu[$laskuri]);


echo"<form method=\"post\" action=Laheta.php?taulukko=".$uusi.">";


....................

Laheta.php

$taulukko2=$_REQUEST['taulukko'];


for($i=0; $i<count($taulukko2; $i++)
{
$arvot[$i]=unserialize($taulukko2[$i]);
}

Mitä koodissa on vialla tai onko jotain muuta tapaa lähettää taulukko eteenpäin?

Juice [22.09.2004 19:32:19]

#

Ainakin niin että muunnat GETiksi.

leftover [22.09.2004 19:34:34]

#

2. sivun alkuun session_start ja taulukko talteen $_SESSION['taulukko'] = $_POST['taulukko'] (luovu ajoissa $_REQUEST, tietoturvariski ála register_globals ja vielä muinaismuisto PHP3 ajoilta (muistaakseni))

3.

<?php
foreach ($_POST['taulukko'] as $avain => $arvo) {
   echo "<input type=\"hidden\" name=\"taulukko[{$avain}]\" value=\"{$arvo}\" />\n";
?>

Wizard [22.09.2004 22:19:43]

#

Ja jos nyt ehdottomasti haluat lähettää taulukon sisällön URL osoiterivissä, niin seuraava on myös toimiva ratkaisu:

<?php

$muuttujat = http_build_query($taulu);

echo"<form method=\"post\" action=Laheta.php?".$muuttujat.">";

?>

Toimivuus PHP5 ja allekirjoittaneella käytössä siirrettäessä tietoa palvelimelta toiselle. Tosin session on ehdottomasti ehkä helpoin ja kätevin.

Trojan [27.09.2004 18:09:34]

#

Lähetys toimii nyt.. kiitos vaan. Mutta miten pystyisin tekemään saman moniulotteisella taulukolla?

Blaze [27.09.2004 18:25:45]

#

<arvaus> Ihan samalla tavalla? </arvaus>

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta