session prob...

coloxer

Mitglied
hi,

versuch gerade ins prinzip reinzusteigen...oh mann.....vielleicht denkt mann auch zu kompliziert:

habe eine artikelaufstellung (artikel.php) und zwar so:


PHP:
<?
$link=mysql_connect (".....", ".....", ".....") or die ("could not connect");
$inhalt=mysql_query("SELECT * FROM test.artikel", $link);
?>
<table border="1">
<?
while($row=mysql_fetch_array($inhalt)){?>
    <tr>
    <td><?echo $row[name]; ?></td>
    <td><?echo $row[preis]; ?></td>
    <td><form action="warenkorb.php" method="post">
        <input type="hidden" name="id" value="<? echo $row[id]; ?>">
        <input type="Text" name="menge" value="1" size="3" maxlength="3">
        <input type="Submit" name="submit" value="Eintragen">
        </form></td></tr>
<?}
mysql_close();
?>

in diesem art formular wird die menge eingetragen....diese variablen werden an die warenorb.php übertragen....

warenkorb.php:

PHP:
<?
session_start("basket");
session_register("id");
session_register("menge");

$link=mysql_connect (".....", ".....", ".....") or die ("could not connect");
$inhalt=mysql_query("SELECT * FROM test.artikel where id = '$id'", $link);
  ?>
  <table>
  <?
while($row=mysql_fetch_array($inhalt)){?>
    <tr>
    <td><?echo $row[name]; ?></td>
    <td><?echo $row[preis]; ?></td>
    <td><?echo $menge;?></td></tr>

    <?}

mysql_close();
?>

Variablen wrden auf vom formular übergeben und in die session eingetragen....aber immer nur ein artikel.....wo liegt der fehler....
 
Für jeden Eintrag in der Datenbank erstellst Du ein eigenes Formular mit Submitbutton. Da ist es klar, dass nur ein Feldwert übergeben wird.
Jedes Formular behandelt nur einen einzelnen Datensatz, so wie Du den Script geschrieben hast...oder hab ich das falsch verstanden :)


Ach ja, und als kleiner Tip nebenbei: wenn Du Formulardaten übergibst, versuche auf diese möglichst per superglobale Variable zuzugreifen (bsp.: $_POST['id']). Das wird dir in den neueren PHP-Versionen einiges an Arbeit ersparen, wenn register_globals off ist :).
 
Zuletzt bearbeitet:
Zurück