Poki: Die Rückkehr des grausamen Checkbox-Shop-Sui

Hallo Ihr Profis,

mir ist mein Kaffee ausgegangen und die Probleme sind immernoch zahlreich.
Es geht noch immer um das Skript, daß mittels Checkboxen Variablen durch eine Große Anzahl von Seiten durchschleifen soll. Es gibt 8 Checkboxen pro Seite und von jeder Seite aus soll man auf die nächste Checkbox-Seite, auf die vorherige und auf die "Warenkorb"-Seite kommen, ohne dass Variablen dabei verloren gehen.

Weil niemand von euch eine Möglichkeit gepostet hat, wie man ohne Submit-Button auf die Checkboxen zugreifen kann, gehe ich mal davon aus, daß das so nicht geht. Ergo brauche ich drei Submit-Knöpfe.

Aber: Wie mache ich das? Ein Submit-Button führt doch nur das Skript aus, dass im Formular-header unter "action" eingetragen ist. Wie kriege ich aus diesem Nadelör kommend eine Weiche gestellt, die mich auf jeweils eine von drei Möglichen Zielseiten schleust? Ich bin mit meinem Latein am Ende.

Helft mir!

  1. Huhu Poki

    bleib doch bitte in Deinem ersten Thread.
    Das nervt nicht, ist besser für das Archiv und freut die Leute die Dir
    bereits geantwortet haben.
    Weil sie sich dann den aktuellen Stand nicht aus zich Postings zusammensuchen
    müssen.

    Und jetzt besser erstmal schlafen gehen

    Gute Nacht

    lulu

    --
    bythewaythewebsuxgoofflineandenjoytheday
  2. Nachtrag:

    Mit dem folgenden Skript krieg ich schon die eine Hälfte hin: Mit den beiden Submit-Buttons aktualisiere ich dieselbe Seite mit den neuen Werten für meine Variablen. Mit den Textlinks darunter kann ich die Seite wechseln, so daß meine Variablen auf die Folgeseite mitübernommen werden ... aber wie schaff ich, dass beides bei nur einem Klick passiert?

    <?php
    session_start();
    ?>
    <html>
    <head>
    <title>Test1</title>
    </head>
      <body>
     <form action="test.php" method="post">
     <?php

    ?>

    <input type="checkbox" name="b001" value="yes" />b001<br>
      <input type="checkbox" name="b002" value="yes" />b002<br>
      <input type="checkbox" name="b003" value="no" />b003<br>
      <input type="checkbox" name="b004" value="" />b004<br>
      <input type="checkbox" name="b005" value="checked" />b005<br>
      <input type="checkbox" name="b006" value="<?php print $_SESSION['b006'] ?>" />b006<br>
      <input type="checkbox" name="b007" value="<?php print $_SESSION['b007'] ?>" />b007<br>
      <input type="checkbox" name="b008" value="<?php print $_SESSION['b008'] ?>" />b008<br>

    <?php
       echo session_id();
       if (isset($_REQUEST['b001'])) {$_SESSION['b001'] = "yes";} else {$_SESSION['b001'] = "no";}
       if (isset($_REQUEST['b002'])) {$_SESSION['b002'] = "yes";} else {$_SESSION['b002'] = "no";}
       if (isset($_REQUEST['b003'])) {$_SESSION['b003'] = "yes";} else {$_SESSION['b003'] = "no";}
       if (isset($_REQUEST['b004'])) {$_SESSION['b004'] = "yes";} else {$_SESSION['b004'] = "no";}
       if (isset($_REQUEST['b005'])) {$_SESSION['b005'] = "yes";} else {$_SESSION['b005'] = "no";}
       if (isset($_REQUEST['b006'])) {$_SESSION['b006'] = "yes";} else {$_SESSION['b006'] = "no";}
       if (isset($_REQUEST['b007'])) {$_SESSION['b007'] = "yes";} else {$_SESSION['b007'] = "no";}
       if (isset($_REQUEST['b008'])) {$_SESSION['b008'] = "yes";} else {$_SESSION['b008'] = "no";}

    echo "<p>" . $_SESSION['b001'];
       echo "<p>" . $_SESSION['b002'];
       echo "<p>" . $_SESSION['b003'];
       echo "<p>" . $_SESSION['b004'];
       echo "<p>" . $_SESSION['b005'];
       echo "<p>" . $_SESSION['b006'];
       echo "<p>" . $_SESSION['b007'];
       echo "<p>" . $_SESSION['b008'];
    ?>
    <input type="image" src="testbild/back.gif" name="back" value="back">
    <input type="image" src="testbild/forward.gif" name="forward" value="forward">
    </form>
    <br>
    <br>
    Klick hier <a href="<?php print "test2.php?"  . SID ?>">Test2</a>
    Klick hier <a href="<?php print "test3.php?"  . SID ?>">Test3</a>

    </body>
    </html>

  3. Guten Morgen,

    Helft mir!

    Die Frage ist Dir schon beantwortet worden:
    https://forum.selfhtml.org/?t=98482&m=600406

    Tom hatte Dir empfohlen, deine Buttons entsprechend zu benennen:
    Nochmal ausführlich von mir:

    Ausschnitt aus dem Script.
    ----------------------------------------------------
    <!-- Docctype & Co. ... -->

    <body>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>"
          method="post">

    <!-- diverse Input-Elemente -->

    <input type="submit" name="btn[prev]" value="zur&uuml;ck"><br />
      <input type="submit" name="btn[save]" value="speichern"><br />
      <input type="submit" name="btn[prev]" value="weiter">

    </form>

    <?php phpinfo(); ## nur zum Debuggen ?>

    </body>
    </html>

    ------------------------------------------------------

    Dieses kleine Testscript sollt Dir eigentlich Aufschluss darüber geben, wie es gehen kann.

    Schau Dir die POST-Variablen an.

    Die Verarbeitung eines Forms sollte immer in demjenigen Script geschehen, die das Formular auch genereirt hat. Das erspart einem Fehlerquellen. Nach der Sicherung und Prüfung der Post-Vars kannst Du dann entscheiden, ob sie nur gespeichert, oder ob anschließend vor oder zurück geblättert werden soll

    Greets
    PP

    1. Jipp.
      Das ist alles schonmal ganz gut.

      Mein Skript ruft sich jetzt selbst auf, sofern ich die submits mittels submit mache. Jetzt hab ich noch zwei Probleme:
      1. Ich würde gern mit "Image" anstatt mit "Submit" die Seite wechseln. Das funzt aber nicht. Was muss ich tun?
      2. Die Weiterleitung mittels "header" funzt nicht. Er gibt mir als Fehlermeldung: "Cannot modify header information"
      Was ist falsch?

      Hier der Code:
      ----------------------------------------------------

      <?php
      session_start();
      $_SESSION['back'] = $_POST['back'];
      $_SESSION['forward'] = $_POST['forward'];
      ?>

      <html>
      <head>
      <title>Test1</title>
      </head>
        <body>
       <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
      <?php

      if (isset($_REQUEST['c001'])) {$_SESSION['b001'] = "checked";} else { if(isset($_REQUEST['switch1'])){$_SESSION['b001'] = "";}}
         if (isset($_REQUEST['c002'])) {$_SESSION['b002'] = "checked";} else { if(isset($_REQUEST['switch1'])){$_SESSION['b002'] = "";}}
         if (isset($_REQUEST['c003'])) {$_SESSION['b003'] = "checked";} else { if(isset($_REQUEST['switch1'])){$_SESSION['b003'] = "";}}
         if (isset($_REQUEST['c004'])) {$_SESSION['b004'] = "checked";} else { if(isset($_REQUEST['switch1'])){$_SESSION['b004'] = "";}}
         if (isset($_REQUEST['c005'])) {$_SESSION['b005'] = "checked";} else { if(isset($_REQUEST['switch1'])){$_SESSION['b005'] = "";}}
         if (isset($_REQUEST['c006'])) {$_SESSION['b006'] = "checked";} else { if(isset($_REQUEST['switch1'])){$_SESSION['b006'] = "";}}
         if (isset($_REQUEST['c007'])) {$_SESSION['b007'] = "checked";} else { if(isset($_REQUEST['switch1'])){$_SESSION['b007'] = "";}}
         if (isset($_REQUEST['c008'])) {$_SESSION['b008'] = "checked";} else { if(isset($_REQUEST['switch1'])){$_SESSION['b008'] = "";}}

      echo "<p>" . $_SESSION['b001'];
         echo "<p>" . $_SESSION['b002'];
         echo "<p>" . $_SESSION['b003'];
         echo "<p>" . $_SESSION['b004'];
         echo "<p>" . $_SESSION['b005'];
         echo "<p>" . $_SESSION['b006'];
         echo "<p>" . $_SESSION['b007'];
         echo "<p>" . $_SESSION['b008'];

      echo "<p>" . $_SESSION['back'];
         echo "<p>" . $_SESSION['forward'];

      if (isset($_SESSION['back']))
         {header("Location: test3.php");}
         if (isset($_SESSION['forward']))
         {header("Location: test2.php");}
      ?>

      <input type="checkbox" name="c001" value="yes"<?php print $_SESSION['b001'] ?> />b001<br>
        <input type="checkbox" name="c002" value="yes"<?php print $_SESSION['b002'] ?> />b002<br>
        <input type="checkbox" name="c003" value="yes"<?php print $_SESSION['b003'] ?> />b003<br>
        <input type="checkbox" name="c004" value="yes"<?php print $_SESSION['b004'] ?> />b004<br>
        <input type="checkbox" name="c005" value="yes"<?php print $_SESSION['b005'] ?> />b005<br>
        <input type="checkbox" name="c006" value="yes"<?php print $_SESSION['b006'] ?> />b006<br>
        <input type="checkbox" name="c007" value="yes"<?php print $_SESSION['b007'] ?> />b007<br>
        <input type="checkbox" name="c008" value="yes"<?php print $_SESSION['b008'] ?> />b008<br>

      <input type="hidden" name="switch1" value="01" />

      <input type="submit" src="testbild/back.gif" name="back" value="bbb" />
      <input type="submit" src="testbild/forward.gif" name="forward" value="fff" />
      </form>
      <br>
      <br>

      </body>
      </html>

      1. hi,

        1. Ich würde gern mit "Image" anstatt mit "Submit" die Seite wechseln. Das funzt aber nicht. Was muss ich tun?

        endlich mal den arsch hoch kriegen, und versuchen die antworten auf solche häufig gestellten fragen erst mal selber zu finden?

        Wie verarbeite ich <input type="image">?

        gruß,
        wahsaga

        --
        "Look, that's why there's rules, understand? So that you _think_ before you break 'em."