for schleife und $i

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

  • #16
    (a) komme ich aus deiner Darlegung mit "get" und so nicht draus - es ist auch spät, und

    (b) für die verborgenen inputfelder (per POST oder GET) oder die SESSION ist Koala zuständig.

    Mach einfach auf die Schnelle ein verborgenes Feld
    TYPE=hidden NAME=\"i\" VALUE=\"$i\"
    gerade in der Nähe des <input type=submit>, exakte Syntax überlasse ich Dir gerne.

    Kommentar


    • #17
      interesssant für was ich alles zuständig bin.....

      Im übrigen hat er bereits die Antwort erhalten, wie das Problem zu lösen ist.

      Kommentar


      • #18
        naja

        so ganz des pudels kern ist es immer noch nicht...

        ich bin zwar schon etwas weiter aber so richtig ist es immer noch nicht das was ich gerne hätte...

        das ganze sieht jetzt wie folgt aus :

        PHP-Code:
        echo "<form enctype=\"multipart/form-data\" method=\"post\" action=\"$PHP_SELF\">";
            for (
        $i=1$i<=$numfiles$i++){
            
        $j=$i;
            echo 
        "<br><input type=\"File\" name=\"myfile$i\" class=\"input\">
                        <select name=\"kategorie
        $j\" class=\"select\">
                            <option value=partypics>partypics
                            <option value=musik>musik
                            <option value=flyer>flyer
                            </option>
                            </select>
                      <input type=hidden name=\"i\" value=\"
        $i\">";}

        echo 
        '<br><br><input type="Submit" name="sendfiles" 
                 value="hochladen" class="button">' 
        ok soweit so gut...

        jetzt beginnt eine foreach schleife :

        PHP-Code:
        if (isset($sendfiles)){
            
        $numsendfiles count($HTTP_POST_FILES);
            foreach(
        $HTTP_POST_FILES as $strFieldName => $arrPostFiles){
            if (
        $arrPostFiles['size'] > $b_min && $arrPostFiles['size'] < $b_max){
                    
        $strFileName $arrPostFiles['name'];
                    
        $strFileTemp $arrPostFiles['tmp_name'];
                    @
        copy ($strFileTemp"$pfad/$strFileName"); 
        und hier die ausgabe :

        PHP-Code:
        echo "<br><span class=\"grossschrift\"><font color=green>
              <b>Datei <u>
        $strFileName</u> 
              (und hier soll die jeweilige kategorie stehen!!) 
              ...erfolgreich  hochgeladen.</b></font></span><br>"
        ;

        for (
        $j=1;$j<=$i;$j++) {
             echo 
        $_POST["kategorie$j"]."<br>";}

        die ausgabe sieht so aus das er mir hinter jede
        hochgeladene datei alle kategorien aufzählt...

        das ziel soll aber sein einer datei genau die
        kategorie zuzuordnen die ich im select feld
        neben dem dateiupload feld eingetragen habe...

        zu testen auf http://pczauber.homeunix.org/pub/Zig...load/index.php

        Kommentar


        • #19
          hast Du error_reporting(E_ALL); an?

          jahlives hat doch geschrieben, daß es SO falsch ist:

          echo $_POST["kategorie$j"]."<br>";}

          Kommentar


          • #20
            Original geschrieben von Koala
            hast Du error_reporting(E_ALL); an?

            jahlives hat doch geschrieben, daß es SO falsch ist:

            echo $_POST["kategorie$j"]."<br>";}
            1. ja error_reports sind an ... und er gibt keinen error aus.

            und

            2. die ausgabe funktioniert doch so...es ist aber nicht das was ich haben will...

            (außerdem ist es die syntax von jahlives)

            hast du dir aber vielleicht mal die seite
            angeschaut? ich denke das könnte schon
            viel weiterhelfen um mein problem wirklich
            zu verstehen...

            Kommentar


            • #21
              Hi,

              PHP-Code:
              $_POST['kategorie'.$i
              Gruß Thomas

              Kommentar


              • #22
                Original geschrieben von Alrik
                Hi,

                PHP-Code:
                $_POST['kategorie'.$i
                Gruß Thomas
                ist ja schön und gut aber wo soll der unterschied liegen
                ob nun so oder SO :

                PHP-Code:
                 $_POST["kategorie$i"
                ??

                ist doch von der syntax her ein und dasselbe!!

                Kommentar


                • #23
                  also schön,

                  habs dann doch selber geschafft...

                  die letzten kommentare waren dann doch leider nicht sehr hilfreich...

                  trotzdem danke für eure bemühungen...

                  es sieht jetzt so aus :

                  PHP-Code:
                  if (isset($up)){
                      echo 
                  "<span class=\"grossschrift\"><b>$numfiles</b> ";
                      echo 
                  $numfiles == '1' 'Datei kann' 'Dateien können';
                      echo 
                  " hochgeladen werden.</span><p>";
                      echo 
                  "<form enctype=\"multipart/form-data\" method=\"post\" action=\"$PHP_SELF\">";
                  for (
                  $i=1$i<=$numfiles$i++){
                      
                  $j=$i;
                      echo 
                  "<br><input type=\"File\" name=\"myfile$i\" class=\"input\">
                                  <select name=\"kategorie
                  $j\" class=\"select\">
                                                  <option value=partypics>partypics
                                                <option value=musik>musik
                                                <option value=flyer>flyer
                                      </option>
                                      </select>"
                  ;
                  //$i bei absenden an formular übergeben 
                  //damit es für den weiteren verlauf zur verfügung steht (thx an globqluqqlo) :                
                    
                  echo "<input type=hidden name=\"i\" value=\"$i\">";}
                      if(
                  $upw=="1"){echo'<br><span class="grossschrift">Passwort</span> 
                              <input type="password" name="pwd" class="input">'
                  ;}
                          echo 
                  '<br><br><input type="Submit" name="sendfiles" 
                           value="hochladen" class="button">'
                  ;}  
                  if (isset(
                  $sendfiles)){
                      
                  //alle kategorie-werte in ein array speichern :
                            
                  for ($j=1;$j<=$i;$j++) {
                        
                  $kat[]=$_POST["kategorie$j"];}
                        
                  //zeiger über dem ersten array-wert :
                         
                  $k=0;
                      
                  $numsendfiles count($HTTP_POST_FILES);
                      foreach(
                  $HTTP_POST_FILES as $strFieldName => $arrPostFiles){
                      if (
                  $arrPostFiles['size'] > $b_min && $arrPostFiles['size'] < $b_max){
                              
                  $strFileName $arrPostFiles['name'];
                              
                  $strFileTemp $arrPostFiles['tmp_name'];
                              @
                  copy ($strFileTemp"$pfad/$strFileName");
                  echo 
                  "<br><span class=\"grossschrift\"><font color=green>
                  <b>Datei <u>
                  $strFileName</u> (und hier soll die jeweilige kategorie stehen!!) 
                  ...erfolgreich  hochgeladen.</b></font></span><br>"
                  ;
                      
                  //wert an der stelle k ausgeben :
                         
                  echo $kat[$k];           
                       
                  //zeiger auf den nächsten wert im array setzen :    
                         
                  $k++;} 

                  Kommentar


                  • #24
                    Ich glaube, die Schleife foreach($HTTP_POST_FILES as $strFieldName => $arrPostFiles)
                    ist logisch nicht ganz richtig. Ich würde das so anpacken
                    PHP-Code:
                    for ($j=1$j<=$i$j++) { 
                      
                    $kat $_POST["kategorie$j"];
                      
                    $arrPostFiles $_FILES["myfile$j"];
                      if (
                    $arrPostFiles['error']==UPLOAD_ERR_OK 
                         
                    && $arrPostFiles['size'] >= $b_min 
                         
                    && $arrPostFiles['size'] <= $b_max){
                                
                    $strFileName $arrPostFiles['name'];
                                
                    $strFileTemp $arrPostFiles['tmp_name'];
                                @
                    move_uploaded_file ($strFileTemp"$pfad/$strFileName");
                     
                    // usw.
                      
                    //end for $j 
                    Zuletzt geändert von globqluqqlo; 09.03.2006, 00:34.

                    Kommentar

                    Lädt...
                    X