Avatar billede hojgaard Nybegynder
16. januar 2003 - 19:34 Der er 5 kommentarer og
1 løsning

Overføre array

Hej,

Jeg har problemer med at overføre et array fra "1 side til en anden" (php_self). Kan det ikke lade sig gøre, eller hvad gør jeg forkert? Jeg har 3 andre variabler, som jeg bliver overført helt perfekt, men det er som om at arrayet aldrig kommer med.

Her er koden:

<html>
<head>
<title></title>
</head>
<body>
<?
  if ($addtobasket == "1")
    {
      $t = 0;
      while (isset($varer[$t][0])) { $t++; }
        echo "t: ".$t;

        $GLOBALS["varer"][$t][0] = $bestnr; 
    $GLOBALS["varer"][$t][1] = $antal;
    $GLOBALS["varer"][$t][2] = $str;
    }
  else
    {
        echo "NY!";
    }
?>

<h3>Bestil vare</h3>
<form action="<? echo $PHP_SELF; ?>" method="post">
<input type="hidden" name="addtobasket" value="1"></input>
<input type="hidden" name="varer" value="<? $varer; ?>"></input>
<table>
<tr><td width="100"><b>Best. nr.</b></td><td width="100"><b>Antal</b></td><td width="100"><b>Størrelse</b></td><td width="100">&nbsp;</td></tr>
<tr>
  <td><input type="text" name="bestnr" size="10"></input></td>
  <td><input type="text" name="antal" size="10"></input></td>
  <td><input type="text" name="str" size="10"></input></td>
  <td><input type="submit" value="Tilføj"></input></td>
</tr>
</table>
</form>

<br>
<br>

<h3>Bestilte varer</h3>
<table border="0" cellpadding="5" cellspacing="0">
<tr><td width="100"><b>Best. nr.</b></td><td width="100"><b>Antal</b></td><td width="100"><b>Størrelse</b></td><td width="100">&nbsp;</td></tr>
<?
for ($i = 0; isset($varer[$i][0]); $i++)
{
  echo "<tr><td>".$GLOBALS["varer"][$i][0]."</td><td>".$GLOBALS["varer"][$i][1]."</td><td>".$GLOBALS["varer"][$i][2]."</td><td><a href=\"\">Slet</a></td></tr>";
}
?>
</table>
</body>
</html>
Avatar billede avminarm Juniormester
16. januar 2003 - 20:51 #1
du kan gemme dem som POST eller GET med dette:

if($_SERVER['REQUEST_METHOD']=="POST"){
foreach($_POST as $key => $value) {
  if($key != "submit"){
  $vars .="&amp;".$key ."=".$value;
}}
}elseif($_SERVER['REQUEST_METHOD']=="GET"){
foreach($_GET as $key => $value) {
  if($key != "kamp" && $key != "admin"){
  $vars .="&amp;".$key ."=".$value;
}}
}

det gemmer dem i variablen $vars og kan fanges på den måde
Avatar billede hojgaard Nybegynder
16. januar 2003 - 22:41 #2
Hej avminarm,

Tak for dit svar!
Desværre forstår jeg ikke rigtigt dit svar. Kan du ikke komme med en lidt mere detaljeret beskrivelse?
Avatar billede avminarm Juniormester
20. januar 2003 - 11:02 #3
hej hojgaard - jeg var måske lidt for hurtig, mit svar gik på at over føre variabler som sættes via POST til én variabel.

Men kan du ikke "putte" dit array ind i en variabel og overføre denne via en hidden POST.

$arrayvar=array();
Avatar billede avminarm Juniormester
20. januar 2003 - 11:54 #4
tak :-) - fik du det til at virke?
Avatar billede hojgaard Nybegynder
20. januar 2003 - 11:58 #5
Desværre ikke. Jeg havde allerede opgivet det i weekenden, og valg at gemme værdierne i en midlertidig fil i stedet.

Nu kan jeg bedre forstå jeg ikke kunne få det til at virke, når man ikke kan overføre et array via et hidden input-felt :-)
Avatar billede avminarm Juniormester
20. januar 2003 - 13:31 #6
jeg kom lige til at tænke på at du kan gemme værdierne i sessions - det kan være en anden løsning
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester