Ankündigung

Einklappen
Keine Ankündigung bisher.

HTML Formular->PHP SCript: $_POST

Einklappen

Neue Werbung 2019

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

  • HTML Formular->PHP SCript: $_POST

    Hi,

    ich habe ein ziemlich großes Problem:
    Ich übergebe ein Array über ein HTML formular.

    Im Prinzip so:

    Code:
    for ($i=1;$i<$anzahl;$i++)
    {
     
    ?>
     
     
     
      Smilie <? echo $i; ?> : <input type="text" name="pfad[$i]" size="20"> (z.B.: http://www.krueger.de/<? echo $i; ?>.gif)
    Kategorie: <select size="1" name="farbe[$i]">
        <option selected>Bitte wählen</option>
        <option>1</option>
        <option>2</option>
        <option>3</option>
        <option>4</option>
        <option>5</option>
        <option>6</option>
        <option>7</option>
        <option>8</option>
               </select>
    
     
    
    <?
    }   //for zu ende

    Und in den anderen Script, das den Array auslesen soll, was muss ich da schreiben, wenn ich den auslesen will?

    also bis jetzt habe ich da wieder eine for schleife:

    Code:
    for ($i=1;$i<$_POST[anzahl];$i++)
    {
    //hier liegt das Problem:
     
    $pfad[$i] = $_POST???????????
     
     
    $sql="INSERT INTO ...........";
    $result = mysql_query............";
    }

    Was muss da in das $_POST rein?
    Ich habe shcon folgendes ausprobiert:

    $_POST['pfad[.$i.]']

    und noch son paar mehr möglichkeiten. Fluppt aber alles net.
    Falls das nicht geht, wie könnte ich das dann sonst machen?

  • #2
    $_POST['pfad'][$i]

    Kommentar


    • #3
      funzt leider nicht.

      er sagt: Notice: Undefined offset: 1

      Kommentar


      • #4
        Mit einem Text-Field können keine Arrays übergeben werden

        Kommentar


        • #5
          Mit einem Text-Field können keine Arrays übergeben werden
          Das will ja auch niemand

          Code:
          <?php
          for ($i = 1; $i <= $anzahl; $i++) 
              { 
              echo 'Smilie '.$i.'<input type="text" name="pfad['.$i.']" size="20"> (z.B.: http://www.krueger.de/'.$i.'.gif) 
              Kategorie: <select size="1" name="farbe['.$i.']"> 
                  <option selected>Bitte wählen</option> 
                  <option>1</option> 
                  <option>2</option> 
                  <option>3</option> 
                  <option>4</option> 
                  <option>5</option> 
                  <option>6</option> 
                  <option>7</option> 
                  <option>8</option> 
                         </select>
          ';
              }   //for zu ende 
          
          
          for ($i = 1; $i <= $_POST['anzahl']; $i++) 
              { 
              //hier liegt das Problem: 
              $pfad[$i] = $_POST['pfad'][$i];
                
               
              $sql = 'INSERT INTO ...........'; 
              $result = mysql_query($sql); 
              } 
          
          ?>

          Kommentar


          • #6
            Jo, ^^so funzt es. THX

            Aber es gibt noch ein Problem:

            Er zeigt nur, wenn ich 3 ma durchlaufen lasse, nur den ersten und den letzten an. Am besten ihr guckt euch das Script ma an.

            http://localhost/homepage/Krueger/sm...tion=eintragen


            Hier noch das ganze Script: (Ich weiß, es ist kein guter Programmierstiel)
            Code:
            <?
              
            require ("_functions.php");
            require ("_data.inc.php");
            require ("class_db_zugriff.php");
            
            $db_zugriff = new db_zugriff;
            $db_zugriff->appname="Smilies";
            $db_zugriff->database=$mysqldb;
            $db_zugriff->server=$mysqlhost;
            $db_zugriff->user=$mysqluser;
            $db_zugriff->password=$mysqlpassword;
            $db_zugriff->connect();
            
            if ($_GET['action']=="")
              {
                ?>
                   Neuen Smilie eintragen
            
                   Smilie löschen
             
             
                <?
              }  //if zu Ende
            
            if ($_GET['action']=="eintragen")
            {
            
              ?>
              <form method="POST" action=?action=eintragen2>
                
             
                
            
            
                Anzahl der einzutragenden Smilies:<input type="text" value="1" name="anzahl">
             <input type="submit" value="Weiter" name="weiter"></p>
              </form>
            
              <?
            
            }   //if zu ende
            
            if ($_GET['action']=="eintragen2")
             {
            
            ?>
            
            <form method="POST" action="?action=eintragen3">
            
              <input type=hidden name="anzahl" value="<? echo $_POST['anzahl']; ?>">
              
            
            
            1:Grün
            
            2:Blau
            
            3:Rot
            
            4:Gelb
            
            5:guns
            
            6:modern
            
            7:fun
            
            8:other
            
            
            
            <?
            $anzahl=$_POST['anzahl'];
            $anzahl=++$anzahl;                 
            for ($i=1;$i<$anzahl;$i++)
            {
            
            
            
            
            
               echo 'Smilie '.$i.'<input type="text" name="pfad['.$i.']" size="20"> (z.B.: http://www.krueger.de/'.$i.'.gif)
                Kategorie: <select size="1" name="farbe['.$i.']">
                    <option selected>Bitte wählen</option>
                    <option>1</option>
                    <option>2</option>
                    <option>3</option>
                    <option>4</option>
                    <option>5</option>
                    <option>6</option>
                    <option>7</option>
                    <option>8</option>
                           </select>
            ';
            
            
            
            
            }   //for zu ende
            ?>
             </p> 
             
            
            <input type="submit" value="Abschicken" name="abschicken"><input type="reset" value="Zurücksetzen" name="B2"></p>
              <input type="hidden" name="i" value="<? echo $i; ?>">
              <input type="hidden" name="anzahl" value="<? echo $anzahl; ?>">
            </form>
            <?
            }   // if zu ende
            
            if ($_GET['action']=="eintragen3")
             {
            
            $uhrzeit=date ("H:i:s");
            $datum=date ("y-m-d");
            
            
            
            
            for ($i=1;$i<$_POST['anzahl'];$i++)
            {
            
            
            //##############################################################
            echo "PFAD$i: ";
            echo $_POST['pfad'][$i];
            echo "
            ";
            
            
            
            
            
            
            //$result = $db_zugriff->query("INSERT INTO `smilies` (pfad, farbe, datum, uhrzeit) VALUES ('$pfad[$i]', '$farbe[$i]', '$datum', '$uhrzeit')");
            
            
            
            ++$i;
            }  //for zu ende
            
             }      // if zu ende
            
            
            
            
            
            
            
            ?>

            Kommentar


            • #7
              Ne Frage am Rande: Wie sollen wir was auf deinem Localhost anschauen?!?

              Kommentar


              • #8
                ohh.....sorry.....
                so muss es heißen:

                http://alpi.no-ip.info/homepage/Krue...tion=eintragen

                Kommentar


                • #9
                  Woran könnte es denn liegen, dass er nur den ersten und letzten ausgibt?


                  Hier ist nochma die Adresse, script is ja oben in meinem Post.
                  http://alpi.no-ip.info/homepage/Krue...tion=eintragen
                  ^^funzt aber nur wenn mein PC an is, also tagbsüber meisten so von 14-22 Uhr.

                  Kommentar


                  • #10
                    Problem erledigt.

                    Ich hatte am ende der for schleife noch ein ++$i stehen.

                    Kommentar

                    Lädt...
                    X