Dropdown mit Textdatei

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

  • Dropdown mit Textdatei

    Hallo Leute,

    PHP-Code:
    if(isset($_SESSION['login']) && $_SESSION['login'] == 1) {

    $data = array();                        
    $userdatei fopen("user.txt","r");                
    while(!
    feof($userdatei))                 
       {
       
    $zeile fgets($userdatei,1024);        
       
    $data[] = $zeile;                    
       }
    fclose($userdatei);                    
    echo 
    '<select name="pro">';             
    foreach(
    $data as $a=>$b){                
       echo 
    '<option value="'.$b.'">'.$b.'</option>';
    }
    echo 
    '</select>'
    Aus einer Textdatei wird hier eine Dropdown ausgelesen.
    Inhalt der Textdatei sind einfach nur Namen.

    Ich möchte jetzt z.B. sagen:

    PHP-Code:
    echo "Sie haben den Namen $pro ausgewählt" 
    Also der ausgewählte Name der Textdatei soll wo ausgegeben werden. Ich weiß aber nicht wie ich den anspreche. Habe da alle Variablen durchprobiert. Aber das funktioniert nicht ganz. Was muss ich da tun?

    Probiert hab ichs dann jetzt so mit einem Affenformular:

    PHP-Code:
    <form action="bla.php" method="post">
    <
    select name="mydropdown">
    <
    option value="1">Wert 1</option>
    <
    option>Wert 2</option>
    </
    select>
    </
    form

    PHP-Code:
    <?php
    echo 'Sie haben ' $_POST['mydropdown'] . ' gewählt';
    ?>
    Und so möchte ich es eben auch mit dem obigen Beispiel, also das alles mit einer .txt Datei machen, verstehe aber garnicht wie ich da machen soll??


    Danke!
    Alexander

  • #2
    Ich sehe kein form-Tag im ersten Codeschnipsel.
    Was kommt denn an? var_dump($_POST)!

    Kennst du file()?

    Kommentar


    • #3
      Kann das so was werden? bei var_dump wird nur "pro" ausgegeben.


      PHP-Code:
      <?
      if(isset($_SESSION['login']) && $_SESSION['login'] == 1) {

      $data = array();                        
      $userdatei = fopen("user.txt","r");                
      while(!feof($userdatei))                 
         {
         $zeile = fgets($userdatei,1024);        
         $data[] = $zeile;                    
         }
      fclose($userdatei);    
      echo '<form action="" method="post" name="drop">';
      echo '<select name="pro">';             
      foreach($data as $a=>$b){                
         echo '<option value="'.$b.'">'.$b.'</option>';
      }
      echo '</select>';
      echo '</form>';

      $pro = $_POST['drop'];
      ?>

      Kommentar


      • #4
        Nein, so wird es nichts. Der Name der Form taucht in $_POST niemals auf. Weder als Key noch als Value.
        Schau dir mal das an, Zeile für Zeile.
        PHP-Code:
        <?php

        if (isset($_POST['pro'])) {
            
        var_dump($_POST['pro']);
            exit;
        }

        $data file('user.txt');

        echo 
        '<form action="" method="post">';
        echo 
        '<select name="pro">';             
        foreach (
        $data as $b) {
            echo 
        '<option value="'.$b.'">'.$b.'</option>';
        }
        echo 
        '</select>';
        echo 
        '</form>';

        ?>

        Kommentar


        • #5
          Danke, aber es geht noch nicht. Mit var_dump wird nichts ausgegeben... warum?

          PHP-Code:
          if (isset($_POST['pro'])) {
              
          var_dump($_POST['pro']);
              exit;
          }

          $data file('user.txt');

          echo 
          '<form action="" method="post">';
          echo 
          '<select name="pro">';             
          foreach (
          $data as $b) {
              echo 
          '<option value="'.$b.'">'.$b.'</option>';
          }
          echo 
          '</select>';
          echo 
          '</form>';

          echo 
          $_POST['pro']; 

          Kommentar


          • #6
            Dir ist klar, dass die Daten erst nach dem Abschicken des Formulars in $_POST stehen?! Falls du dich jetzt fragst, wie du Abschicken kannst: Mit einem Submit-Button.

            Kommentar


            • #7
              Ja klar das ich mit nem Button absende, aber ich will nicht extra für die Dropdown einen Button. Ich habe zwei Buttons, einer heißt Arbeitsanfang und einer Arbeitsende, wie kann ich jetzt sagen das er bei beiden angeschickt wird?

              PHP-Code:
                $user $_SESSION["user"];

                
                  if(isset(
              $_POST['but1']) == "Arbeitsanfang")

              {

              $title "new";                            
              $filename $title.".htm";                    
              @
              $zeit date("d.n.Y, G:i:s");                 
              $text "Anfang, $zeit$user$pro<br>";                        
              $fp fopen($filename,"a+");                
              fputs($fp,$text);                            
              fclose($fp);  

                          
               } 

              Kommentar


              • #8
                Wo hast du einen Button, ich sehe keinen? Ist er im selben Formular wie das Dropdown?

                Kommentar


                • #9
                  PHP-Code:
                  <form name='zeit' method='post' action=''>
                  <input type='submit' name='but1' value='Arbeitsanfang'>
                  </form>

                  <?
                    $user = $_SESSION["user"];

                    
                      if(isset($_POST['but1']) == "Arbeitsanfang")

                  {

                  $title = "new";                            
                  $filename = $title.".htm";                    
                  @$zeit = date("d.n.Y, G:i:s");                 
                  $text = "Anfang, $zeit, $user, $pro<br>";                        
                  $fp = fopen($filename,"a+");                
                  fputs($fp,$text);                            
                  fclose($fp);  

                              
                   }                
                              
                  ?>

                  PHP-Code:
                  <form name='zeit1' method='post' action=''>
                  <input type='submit' name='but2' value='Arbeitsende'>
                  </form>

                  <?
                    
                      
                      if(isset($_POST['but2']) == "Arbeitsende")

                      {

                  $title = "new";                            
                  $filename = $title.".htm";                    
                  @$zeit = date("d.n.Y, G:i:s");                 
                  $text = "Ende, $zeit, $user,<br>";                        
                  $fp = fopen($filename,"a+");                
                  fputs($fp,$text);                            
                  fclose($fp);  

                              
                   }                
                              

                  ?>
                  Das sind meine Buttons, und jeder der Buttons soll wenn sie gedrückt werden etwas in eine .txt schreiben. d.h. wenn man in der Dropdown was wählt, soll die Variable hineingschrieben werden, und eintragen... weißt du was ich meine?

                  Kommentar


                  • #10
                    Ein Submit-Button schickt nur die eigene Form ab!


                    Falsch:
                    <form><input type="submit" /></form>
                    <form><select name="pro">...</select></form

                    Richtig:
                    <form>
                    <input type="submit" />
                    <select name="pro">...</select>
                    </form



                    Das sind Grundlagen!

                    Kommentar

                    Lädt...
                    X