Problem mit Variablen

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

  • Problem mit Variablen

    Hallo erstmal,

    also ich hab da mal ein Problem und zwar hab ich ein Formular mit vielen Textfeldern, deren Name dynamisch ist.
    Zum Beispiel:

    Name des Feldes: 4_TTG oder 4_TTH oder 5_TTG usw

    das heisst die 4 oder auch die 5 im Namen des Textfeldes werden uf der php Seite mit dem Formular dynamisch erzeugt. Die Felder gebe ich per Post an eine andere Seite weiter.

    Nun bräuchte ich etwas in php um den Namen der Variablen (zB 4_TTH) in eine Variable zu schreiben, genauer bräuchte ich nur die 4.

    Weiss jmd wie das geht???

    Vielen Dank im voraus.

    Gruß Battleking

  • #2
    1. Variablen dürfen nicht mit einer Zahl anfangen.
    2.
    PHP-Code:
    ${"dynamische_var"
    Wieso packst du deine Formularwerte nicht in einen Array? Dann kannste das super einfach mit PHP auslesen.
    Zuletzt geändert von Benny-one; 19.07.2006, 13:50.
    Sunshine CMS
    BannerAdManagement
    Borlabs - because we make IT easier
    Formulargenerator [color=red]Neu![/color]
    Herkunftsstatistik [color=red]Neu![/color]

    Kommentar


    • #3
      ah ok wusste ich nicht...

      aber macht ja auch kein unterschied...

      ich könnte ja auch TTH_4 nehmen, wobei die 4 das dynamische ist.

      Mein Problem ist halt das auf der nächtsten Seite wo die ganzen Textfelder mit POST hingegeben werden ich dann zb

      $_POST['TTH_4'] = 3

      habe.

      Meine Frage war jetzt wie bekomme ich die 4 aus dem Variablennamen???

      Wäre nett wenn ihr/du mir das erklären könntet.

      Vielen Dank

      Kommentar


      • #4
        Was spricht denn gegen meine Variante, alle Felder in HTML in einen Array zu packen? Oder ist die 4 so überlebenswichtig? du kannst z.b.
        PHP-Code:
        $neue_var_mit_der_vier str_replace('TTH_'''$deine_var); 
        machen, dann hättest du immer nur die Zahl in deiner Variable.
        Sunshine CMS
        BannerAdManagement
        Borlabs - because we make IT easier
        Formulargenerator [color=red]Neu![/color]
        Herkunftsstatistik [color=red]Neu![/color]

        Kommentar


        • #5
          PHP-Code:
          foreach($_POST as $name=>$value) {
            if(
          substr($name,0,3)!='TTH') continue;
            
          $index=substr($name,4);
            
          $index=intval($index);
            echo 
          "name=$name index=$index value=$value<br />";

          etwa so, das echo ist zur Sicherheit, und vielleicht braucht es eine "5" anstatt "4".
          bei $index= ist wesentlich, dass keine Länge angegeben wird.

          Kommentar


          • #6
            ich glaube ich habe mich falsch ausgedrückt!!!

            Weiss auch net steh heute irgendwie aufm schlauch.

            Also nochmal ein Versuch:

            ich habe auf meiner Formularseite folgende Textfelder:

            HTML:

            PHP-Code:
            <input name='".$row['ID']."_TTG' type='text' size='1' maxlength='2'></input

            Wobei $row['ID'] von 1 -306 gehen kann. Dieser Wert ist auch Teil eines Primärschlüssels in einer DB Tabelle (zusammen mit der USERID).

            Ich möchte nun diese zB 4 aus dem Variablennamen rausfiltern um mit diesem Wert ein INSERT zu bauen wo unter anderem der Wert von 4_TTH dann reingeschrieben wird.

            Wenn ich nun ein Array habe löst sich das Problem nicht da es zu 4 ein TTH und ein TTG gibt welches gespeichert werden mus in der DB.

            alles in allem ist die Zahl Teil eines Primärschlüssels .

            Ich hoffe mich hat jmd verstanden. Und nochmals vielen Dank für eure Mühe

            Kommentar


            • #7
              PHP-Code:
              $zahlen_array = array();
              foreach (
              $_POST as $key => $value) {
                  
              $zahlen_array['TTH'] = str_replace('TTH_'''$key);
                  
              $zahlen_array['TTG'] = str_replace('TTG_'''$key);
              }
              echo 
              "<pre>";
              print_r($zahlen_array);
              echo 
              "</pre>"
              Wäre das so in Ordnung?
              Sunshine CMS
              BannerAdManagement
              Borlabs - because we make IT easier
              Formulargenerator [color=red]Neu![/color]
              Herkunftsstatistik [color=red]Neu![/color]

              Kommentar


              • #8
                sorry kanns net mehr ausprobieren muss weg schau es mir später an un schreib dann nochmal.

                Vielen Dank un bis später.


                Gruß

                Kommentar


                • #9
                  PHP-Code:
                  foreach ($_POST as $key => $value
                  Vielen Dank !!!

                  Das war es was ich wollte!!!

                  Kommentar

                  Lädt...
                  X