mehrere Radioboxen auswerten

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Original geschrieben von Flo2003
    Das funktioniert nicht, es wird Nichts gezeigt, d.h. keine Radioboxen!
    --
    ah doch, habe das ech overgessen
    --
    funktionieren tut es dennoch insgesamt nicht..!
    Das Problem liegt meiner Meinung nach darin, dass in $_REQUEST[] keine Variable stehen darf, oder darf sie doch?
    1)print_r($_REQUEST) habe ich dir geschrieben, damit du dein request kontrollieren kannst und nicht dafür dass du es in eine schleife steckst.
    http://de2.php.net/manual/de/function.print-r.php

    2)es ist eigentlich sinvoll deinem formular auch mit einem
    method="POST" zu bestücken und nicht $_REQUEST sondern $_POST ansprechen.

    3)wenn du die daten mit file ausgelesen hat, dann muss du trim für alle arrayfelder machen.
    Zuletzt geändert von Slava; 03.10.2006, 22:14.
    Slava
    bituniverse.com

    Kommentar


    • #17
      auswerten.php

      PHP-Code:
      <?php
      $file_items 
      file(rtrim("txt/items.txt"));
      $eItems count($file_items);
      $items $eItems-1;

      for (
      $zeilen 0$zeilen $items$zeilen++)
      {

       if(isset(
      $_POST[$file_items[$zeilen]]))
         echo 
      $file_items[$zeilen]."="
                 
      .$_POST[$file_items[$zeilen]]."<br />";
      }
      ?>

      formular.php
      PHP-Code:
      <form action="auswerten.php" method="post">


      <?php
      $file_items 
      file("txt/items.txt");
      $eItems count($file_items);
      $items $eItems-1;

      for (
      $zeilen 0$zeilen < ($items); $zeilen++)
      {
      echo 
      "<tr><td>".$file_items[$zeilen+1]."</td>
      <td><input type=radio name=\""
      .$file_items[$zeilen+1]."\" value=\"1\"></td>
      <td><input type=radio name="
      .$file_items[$zeilen+1]."\" value=\"2\"></td>
      <td><input type=radio name=\""
      .$file_items[$zeilen+1]." \" value=\"3\"></td></tr>";
      }
      ?>
      </table>
      <br>
      <br>
      <input type="submit" value="Abschicken!">
      </form>


      Habe jetzt hier auf $_POST geändert und rtrim eingefügt... Funktionieren tut es dennoch nicht... !

      Kommentar


      • #18
        ich würde dir empfehlen dringend sich mit HTML zu beschäftigen.

        damit das endlich aufhört, habe ich dir der script fertig gestellt
        PHP-Code:
        <html>
        <?php
        error_reporting
        (E_ALL);
        $array =file("txt/items.txt");
        $items=array();
        foreach(
        $array as $a){
         
        $a=trim($a); 
          if(
        $a!="")$items[]=$a;
        }
        if(empty(
        $_POST['Senden'])){
        ?>

        <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
        <input name="char" type="text" size="30" maxlength="30">
        <table border="1">
        <tr>
        <td>Items</td>
        <td align="center">Ja</td>
        <td align="center">Nein</td>
        <td align="center">?</td>
        </tr>
        <?php
        foreach($items as $v){
        echo 
        '<tr>
        <td>'
        .$v.'</td>
        <td><input type="radio" name="'
        .$v.'" value="1"></td>
        <td><input type="radio" name="'
        .$v.'" value="2"></td>
        <td><input type="radio" name="'
        .$v.'" value="3"></td>
        </tr>'
        ;
        }
        ?>
        </table>
        <input type="submit" name="Senden" />
        </form>
        <?php
        }else{
        if(!empty(
        $_POST['char']))echo "inhalt von Textfeld=".$_POST['char']."<br />";
          foreach(
        $items as $v){
          if(isset(
        $_POST[$v])) echo $v."=".$_POST[$v]."<br />";
         }
        }
        ?>
        </html>
        Slava
        bituniverse.com

        Kommentar


        • #19
          danke vielmals! Das funktioniert auch...! Trotzdem gibt es hier einige Schönheitsfehler und mein ganzes Problem besteht weiterhin:

          Bei der Ausgabe erhalte ich folgendes:

          inhalt von Textfeld=abc
          Name=1
          Kopf=2
          Schulter=1
          Brust=2
          Handgelenke=2
          Hände=2
          Taille=3
          Beine=3
          Füße=3


          Hierbei ist zu beachten, dass die Vergabe der Zahlenwerte erst bei dem 2ten Elemente der liste.txt starten soll (Name=1 falsch) und dass dem ersten Element (Name) der Inhalt des Textfeldes (abc) zugewiesen werden soll.


          Ferner sollen die Werte (abc,1,2,1,2,2,2,3,3,3) in eine Textdatei untereinander geschrieben werden. Die Textdatei soll den namen des Textfeldes tragen!

          ---



          Habe es jetzt mal versucht zu implementieren:
          Das Feld mit dem Namen funktioniert, bei den Radioboxen wird jedoch nur der Wert der letzten Radioboxen3er ausgegeben:

          PHP-Code:
          <html>
          <?php
          error_reporting
          (E_ALL);
          $file_items file("txt/items.txt");
          $eItems count($file_items);
          $items $eItems-1;

          if(empty(
          $_POST['Senden'])){
          ?>

          <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
          <table>
          <tr>
          <td>
          Name
          </td>
          <td>
          <input name="char" type="text" size="30" maxlength="30">
          </td>
          </tr>
          </table>
          <table border="1">
          <tr>
          <td>Items</td>
          <td align="center">Ja</td>
          <td align="center">Nein</td>
          <td align="center">?</td>
          </tr>
          <?php

          for ($zeilen 0$zeilen < ($items); $zeilen++)
          {
          echo 
          '<tr>
          <td>'
          .$file_items[$zeilen+1].'</td>
          <td><input type="radio" name="'
          .$file_items[$zeilen+1].'" value="1"></td>
          <td><input type="radio" name="'
          .$file_items[$zeilen+1].'" value="2"></td>
          <td><input type="radio" name="'
          .$file_items[$zeilen+1].'" value="3"></td>
          </tr>'
          ;
          }
          ?>

          </table>
          <input type="submit" name="Senden" value="Go"/>
          </form>
          <?php
          }
          else
          {
          if(!empty(
          $_POST['char']))
          {
          echo 
          $_POST['char']."<br />";
          }

          for (
          $zeilen 0$zeilen < ($items); $zeilen++)
          {
          if(isset(
          $_POST[$file_items[$zeilen+1]]))
          {
          echo 
          $_POST[$file_items[$zeilen+1]]."<br />";
          }

          }
          }
          ?>
          </html>
          Zuletzt geändert von Flo2003; 04.10.2006, 15:35.

          Kommentar

          Lädt...
          X