omg, ich steh komplett auf der leitung, für profis easy

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

  • omg, ich steh komplett auf der leitung, für profis easy

    hi!

    es geht um folgendes:
    ich möchte aus einem array alle werte in jeweils ein input-feld vom typ text einfügen. soweit bin ich auch. ABER:
    wie kann ich beim submitten die von mir EDITIERTEN texte wieder ausgeben?
    dazu versuche ich im $speicher1 die werte zu speichern. aber ich bin komplett konfus (weiss gar nimma, wie man parameter am geschicktesten übergibt), und das wochenende steht vor der tür

    PHP-Code:
    echo "<form action=\"formular.php\" method=\"post\">";
    echo 
    "<p>Vorname:<br>";
    //echo "<input name=\"vorname\" type=\"text\" size=\"30\" maxlength=\"30\">";
    echo "</p>";

    if (
    $_POST['abgeschickt']=='ja') {

        for (
    $i=0$i<sizeOf($alle_zunamen); $i++) {
            echo 
    "<p>Zuname:<br>";
            echo 
    "<input name=\"zuname\" type=\"text\" 
    size=\"30\" maxlength=\"40\" value=\"
    $alle_zunamen[$i]\">";
            
    $speicher1 $alle_zunamen[$i];    
        echo 
    "</p>";
            
        }
    } else {
        for (
    $i=0$i<sizeOf($alle_zunamen); $i++) {
            echo 
    "<p>Zuname:<br>";
            echo 
    "<input name=\"zuname\" type=\"text\" 
    size=\"30\" maxlength=\"40\" value=\"
    $alle_zunamen[$i]\">";
            
            foreach (
    $_POST['zuname'] as $zuname_array) {
                echo 
    "ajajajajaj".$zuname_array;    
            }
        echo 
    "</p>";
        
        }
    }
    echo 
    "<input name=\"abgeschickt\" type=\"hidden\" value=\"ja\">";
    echo 
    "<input name=\"submit\" type=\"submit\" value=\"submit\">";
    echo 
    "</form>"
    lg,
    KITT
    Zuletzt geändert von KITT; 19.08.2005, 12:19.

  • #2
    Als erstes brichst du bitte deinen Code gemäß den Regeln um!

    Kommentar


    • #3
      Re: omg, ich steh komplett auf der leitung, für profis easy

      irgendwie so oder was? du bist nicht nur konfus du redest auch konfus
      PHP-Code:
      echo "<form action=\"formular.php\" method=\"post\">";
      echo 
      "<p>Vorname:<br>";
      //echo "<input name=\"vorname\" type=\"text\" size=\"30\" maxlength=\"30\">";
      echo "</p>";

      if (
      $_POST['abgeschickt']=='ja') {

          for (
      $i=0$size sizeOf($_POST['zuname']); $i<$size$i++) {
              echo 
      "<p>Zuname:<br>";
              echo 
      "<input name=\"zuname[]\" type=\"text\"
               size=\"30\" maxlength=\"40\" value=\"" 
      $_POST['zuname'][$i] . "\">";
          echo 
      "</p>";
              
          }
      } else {
          for (
      $i=0$size sizeOf($alle_zunamen); $i<$size$i++) {
              echo 
      "<p>Zuname:<br>";
              echo 
      "<input name=\"zuname[]\" type=\"text\"
               size=\"30\" maxlength=\"40\" value=\"" 
      $alle_zunamen[$i] . "\">";
          echo 
      "</p>";
          
          }
      }
      echo 
      "<input name=\"abgeschickt\" type=\"hidden\" value=\"ja\">";
      echo 
      "<input name=\"submit\" type=\"submit\" value=\"submit\">";
      echo 
      "</form>"

      Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

      bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
      Wie man Fragen richtig stellt

      Kommentar


      • #4
        zweitens erklärst du noch mal genau was dein script machen soll - aus deiner beschreibung wird man nicht schlau
        Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

        Kommentar


        • #5
          und das wochenende steht vor der tür
          dann mach besser erstmal Wochenende und dann kommst Du am
          Montag mit einer neuen Beschreibung und einem umgebrochenen
          Code wieder....

          allein schon der Code den keiner lesen kann, da er nicht umgebrochen ist wird sich keiner reinziehen
          Bei Risiken und Nebenwirkungen fragen Sie Dr.Alban

          Kommentar


          • #6
            ghostgambler, du bist DER DUDE mann!
            das funkt prima!

            hoffentlich kann ich das nun auf ein komplizierteres skript, das ich hab, umsetzen!

            lg,
            KITT

            p.s.
            <input name=\"zuname[]\"...
            das leuchtet mir aber net ganz ein. wie kannst du ein inputfeld mit einem array benennen? und dem array wird ja auch nie was zugewiesen!?
            Zuletzt geändert von KITT; 19.08.2005, 12:39.

            Kommentar


            • #7
              wie kannst du ein inputfeld mit einem array benennen? und dem array wird ja auch nie was zugewiesen!?
              Mit dem artikulieren und so, das hast du noch nicht ganz raus, oder???

              Kommentar


              • #8
                Original geschrieben von KITT
                ghostgambler, du bist DER DUDE mann!
                das funkt prima!

                hoffentlich kann ich das nun auf ein komplizierteres skript, das ich hab, umsetzen!

                lg,
                KITT

                p.s.
                <input name=\"zuname[]\"...
                das leuchtet mir aber net ganz ein. wie kannst du ein inputfeld mit einem array benennen? und dem array wird ja auch nie was zugewiesen!?
                das ist HTML...das packt dir das PHP wenn die Post-Daten reinkommen freundlicher Weise in ein PHP-Array
                <input name="test "value="test">
                ergibt in PHP eine Variable
                $test mit dem Inhalt "test"
                <input name="test[]" value="test">
                ergibt dir ein Array in $test mit dem ersten Element "test", das zweite
                <input name="test[]" value="test2">
                würde ein weiteres Element an das PHP-Array anhängen mit "test2" drin...verwendet man normalerweise nur für Checkboxen, aber in deinem Fall scheinbar auch für text-Felder

                Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                Wie man Fragen richtig stellt

                Kommentar


                • #9
                  ok, das hab ich nun gecheckt. hab probiert das in mein php-skript einzubinden.

                  ausgabe: zuerst super, und nachdem ich das formular submitte, erscheinen die textfelder leer!
                  komischerweise ist das array $zuname[] leer!

                  wieso? bei ghostgamblers skript funktioniert das prima.

                  PHP-Code:
                  <?php
                  $doc 
                  = new DOMDocument('1.0''iso-8859-1');
                  //$doc->load("Datei.xml");
                  $doc->load("http:...ctype=rdf");
                  $li_elemente $doc->getElementsByTagName('li');

                  echo 
                  "<form name=\"form1\" method=\"post\" action=\"datei1.php\">";
                  print 
                  "<table>";

                  foreach (
                  $li_elemente as $li_element) {
                      foreach (
                  $li_element->childNodes as $li_bz_bug) {
                          
                  $bz_elemente $li_bz_bug->childNodes;                
                          if (
                  $abgeschickt=="ja") {
                              print 
                  "<tr>";
                              
                  //anzahl der elemente in der beschreibung; bei elf spalten sinds elf elemente
                              
                  for ($i 0$i $bz_elemente->length$i++) {
                                  
                  //wenn die spalte "bz:short_short_desc" heisst
                                  
                  if ($bz_elemente->item($i)->nodeName == "bz:short_short_desc") {
                                      print 
                  "<td>";
                                      echo 
                  "<input name=\"zuname[]\" type=\"text\" size=\"30\" 
                  maxlength=\"40\" value=\"" 
                  $_POST['zuname'][$i] . "\">";
                                      print 
                  "</td>";
                                  }
                                  else {
                                      print 
                  "<td>";
                                         print 
                  $bz_elemente->item($i)->nodeValue;
                                      print 
                  "</td>";
                                  }    
                              }    
                              print 
                  "</tr>";
                          } else {
                              print 
                  "<tr>";
                              
                  //anzahl der elemente in der beschreibung; bei elf spalten sinds elf elemente
                              
                  for ($i 0$i $bz_elemente->length$i++) {
                                  
                  //wenn die spalte "bz:short_short_desc" heisst
                                  
                  if ($bz_elemente->item($i)->nodeName == "bz:short_short_desc") {
                                      print 
                  "<td>";
                                      
                  $edit_text[$i] = $bz_elemente->item($i)->nodeValue;
                                      echo 
                  "<input name=\"zuname[]\" type=\"text\" size=\"30\" 
                  maxlength=\"40\" value=\"" 
                  $edit_text[$i] . "\">";
                                      print 
                  "</td>";
                                  }
                                  else {
                                      print 
                  "<td>";
                                         print 
                  $bz_elemente->item($i)->nodeValue;
                                      print 
                  "</td>";
                                  }    
                              }
                              print 
                  "</tr>";
                          }
                      }
                  }
                  print 
                  "</table>";
                  echo 
                  "<input type=\"hidden\" name=\"abgeschickt\" value=\"ja\">";
                  echo 
                  "<input type=\"submit\" name=\"submit\" value=\"submit\">";
                  echo 
                  "</form>";
                  ?>
                  Zuletzt geändert von KITT; 22.08.2005, 10:45.

                  Kommentar


                  • #10
                    Der Array heißt auch nicht "zuname[]" sondern "zuname"...

                    mach mal
                    PHP-Code:
                    print_r($_POST['zuname']); 


                    EDIT:
                    in datei1.php

                    Kommentar


                    • #11
                      bei ghostgambler steht ja auch $_POST['zuname'][$i]

                      ausser du meinst ne andere zeile. aber wie gesagt, ich hab das genauso wie ghostgambler, nur in dem komplexeren skript funktionierts net

                      Kommentar


                      • #12
                        Original geschrieben von KITT
                        bei ghostgambler steht ja auch $_POST['zuname'][$i]

                        ausser du meinst ne andere zeile. aber wie gesagt, ich hab das genauso wie ghostgambler, nur in dem komplexeren skript funktionierts net
                        und wo kommt bei dir $i her? Ich hab ne for-Schleife benutzt, du eine foreach...das ist das Problem!
                        Also entweder ganz oben
                        $i = -1;
                        und dann beim Abrufen
                        $_POST['zuname'][++$i] (vorne dran das ++ ist performanter als hinten dran, damit es passt bei -1 statt 0 anfangen)
                        oder auf ne for-Schleife umsteigen...

                        Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                        bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                        Wie man Fragen richtig stellt

                        Kommentar


                        • #13
                          achsooo. d.h. in meiner schleife das $i ist net das, das eigentlich gehört.
                          ich füg nun ganz am anfang vom skript ein $z=-1 ein, und dann $_POST['zuname'][++z] ?

                          danke vielmals für die vielen nerven und tipps!

                          lg,
                          KITT

                          Kommentar


                          • #14
                            geil ghostgambler, es funktioniert!
                            ab jetzt sprech ich SIE im königsplural an!

                            naja, eins erledigt, mal schaun, an was ich nun scheiter!

                            lg,
                            KITT

                            Kommentar

                            Lädt...
                            X