mehrere Radioboxen auswerten

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #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.
    Last edited by Slava; 03-10-2006, 22:14.
    Slava
    bituniverse.com

    Comment


    • #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... !

      Comment


      • #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

        Comment


        • #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>
          Last edited by Flo2003; 04-10-2006, 15:35.

          Comment

          Working...
          X