Avatar billede theboy Nybegynder
25. august 2005 - 01:25 Der er 9 kommentarer og
1 løsning

ændre i et session array

hvordan henter jeg elementerne ud af ef session-array for derefter i en formular så at ændre i elementer i ellementerne i array'et?
Avatar billede nielle Nybegynder
25. august 2005 - 07:09 #1
F.eks. sådan:

<form method="post">
<?
foreach ($_SESSION as $key => $value)
{
?>
<?=$key?> <input type="text" name="<?=$key?>" value="<?=value?>"><br>
<?
}
?>
<input type="submit" name="saveSession">
</form>

<?
if (isset($_SESSION("saveSession")))
{
    foreach ($_SESSION as $key => $value)
    {
        $_SESSION[$key] = $_POST[$key];
    }
}
?>
Avatar billede coderdk Praktikant
25. august 2005 - 10:07 #2
Mener du ikke

  if (isset($_POST("saveSession")))

? :)
Avatar billede nielle Nybegynder
25. august 2005 - 10:48 #3
Helt klart! :^)
Avatar billede theboy Nybegynder
25. august 2005 - 15:56 #4
Jeg prøver lige at skrive hvad jeg har indtil nu, jeg kan nemlig ikke helt omsætte hvad du har skrevet:
-------------------------------------------------
<table width="650"  border="0" cellspacing="0" cellpadding="0">
<?
  while (list ($key, $val) = each ($_SESSION["varer"])) {
    $navn=$_SESSION["varer"]["$key"]["navn"];
    $antal=$_SESSION["varer"]["$key"]["antal"];
    $pris=$_SESSION["varer"]["$key"]["pris"];

    mysql_select_db($database_CMS, $CMS);
    $resource1 = mysql_query("SELECT * FROM undermenu Where subid = $navn");
    $row = mysql_fetch_array($resource1);
    $stkpris = $row['pris'] ;
    $stk =  $row['stk'] ;
    $vid =  $row['vid'] ;
    $ialt += $pris * $antal;
echo "<form method=\"post\">";
echo "<tr><td>";
    printf("</td><td><A HREF=\"basket.php?slet=%s&\">Slet</A> ", urlencode($key) );
    echo "Antal: <input name=\"$vid\" type=\"text\" value=\"$antal\" size=\"5\"> $antal X $vid af </td><td> <div align=\"right\">".number_format($stkpris,2). "</div> </td><td>&nbsp;DKR </td><td><div align=\"right\"> " . number_format($pris,2)."</td><td>&nbsp;DKR";
    echo " <input type=\"submit\" name=\"Submit\" value=\"opdater\"> ";
    echo "</div> </td> </tr> </form>";
  }
?>   
</table>
Avatar billede nielle Nybegynder
25. august 2005 - 16:21 #5
Jeg synes at det er en lidt underlig måde du har lavet din shoppingbasket på, men dette her burde passe til din konstruktion:

<?
if (isset($_POST("UpdateBasket")))
{
    $key = $_POST["key"];
    $vid = $_POST["vid"];
    $antal = $_POST[$vid];

    $_SESSION["varer"]["$key"]["antal"] = $antal;
}
?>


<table width="650"  border="0" cellspacing="0" cellpadding="0">
<?
while (list($key, $val) = each($_SESSION["varer"]))
{
    $navn = $_SESSION["varer"]["$key"]["navn"];
    $antal = $_SESSION["varer"]["$key"]["antal"];
    $pris = $_SESSION["varer"]["$key"]["pris"];

    mysql_select_db($database_CMS, $CMS);
    $resource1 = mysql_query("SELECT * FROM undermenu WHERE subid = $navn");
    $row = mysql_fetch_array($resource1);
    $stkpris = $row['pris'];
    $stk = $row['stk'];
    $vid = $row['vid'];
    $ialt += $pris * $antal;

    echo "<form method=\"post\">";
    echo "<tr><td>";

    echo "<input type=\"hidden\" name=\"key\" value=\"$key\">";
    echo "<input type=\"hidden\" name=\"vid\" value=\"$vid\">";

    printf("</td><td><A HREF=\"basket.php?slet=%s&\">Slet</A> ", urlencode($key));
    echo "Antal: <input type=\"text\" name=\"$vid\" value=\"$antal\" size=\"5\"> $antal X $vid af </td><td> <div lign=\"right\">" . number_format($stkpris, 2) . "</div> </td><td>&nbsp;DKR </td><td><div align=\"right\"> " . number_format($pris, 2) . "</td><td>&nbsp;DKR";
    echo " <input type=\"submit\" name=\"UpdateBasket\" value=\"opdater\"> ";
    echo "</div> </td> </tr> </form>";
}
?>   
</table>
Avatar billede theboy Nybegynder
25. august 2005 - 17:42 #6
jeg får fejlen:
Fatal error: Can't use function return value in write context in line:
if (isset($_POST("UpdateBasket")))
Avatar billede nielle Nybegynder
25. august 2005 - 18:03 #7
if (isset($_POST["UpdateBasket"]))
Avatar billede nielle Nybegynder
05. september 2005 - 19:31 #8
Har du fået kigget på det?
Avatar billede theboy Nybegynder
05. september 2005 - 23:30 #9
det virker.
Takker
Avatar billede nielle Nybegynder
06. september 2005 - 06:53 #10
Ok, så smider jeg et ...

Svar :^)
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