Ankündigung

Einklappen
Keine Ankündigung bisher.

dynamischer variablenname?

Einklappen

Neue Werbung 2019

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

  • dynamischer variablenname?

    hallo leute...

    wollte mal fragen ob jemand weis, ob man die namen von variablen (also nicht deren inhalt) auch dynamisch bennen kann. hatte da an z.b. folgendes gedacht:

    Code:
    $ZB=5;
    
    for ($i=0;$i<$ZB;$i++){
    
       $KM.$i=$TMP[$i];
    
    };
    da $ZB unterschiedlich groß ausfallen kann, möchte ich dementsprechen viele $KM+zahl variablen, also hier $KM1, $KM2, $KM3, $KM4, $KM5.
    ich weiß das ich auch ein array füllen könnte, doch kann ich das ja leider nicht per POST verschicken.
    hat jemand eine idee?
    grüße

  • #2
    ich weiß das ich auch ein array füllen könnte, doch kann ich das ja leider nicht per POST verschicken.
    kann man nicht? ich kanns!

    ansonsten:
    PHP-Code:
    ${'KM'.$i} = $TMP[$i]; 

    Kommentar


    • #3
      Re: dynamischer variablenname?

      Zitat von MrCavity
      doch kann ich das ja leider nicht per POST verschicken.
      dochdoch.

      Code:
      <input type="checkbox" name="hello[0]">
      
      <input type="checkbox" name="hello[2]">
      
      <input type="checkbox" name="hello[blub]">
      
      <input type="checkbox" name="hello[bla]">
      ...

      grüße
      axo

      Kommentar


      • #4
        Ansonsten: http://ch2.php.net/language.variables.variable
        Gruss
        L

        Kommentar


        • #5
          danke für die tipps

          Kommentar


          • #6
            hab auch ne frage dazu: hab emhr oder weniger viele variablen, die alle so aussehen: $NName .... für die 4 punkte steht dann eine Zahl, also z.b. $NName1 oder $NName2 .. etc. diese variablen werden in einem formular dynamisch erzeugt.

            wie kann ich das bei der Abfrage dynamisch gestalten?

            sicher könnt ich das so machen:
            if ($id = 1)
            {
            $neuerName = $NName1;
            }

            if ($id = 2)
            {
            $neuerName = $NName2;
            }


            aber wie würde das ganze in ner for-schleife aussehen????

            for ($i=0; $i<=10; $i++)
            {
            $neuerName = ???
            }

            Kommentar


            • #7
              a) Warum benutzt Du keine Felder wie von axo beschrieben? Ist viel eleganter.

              b) Funktioniert genauso wie von laprican beschrieben.
              Sogar Deine Laufvariable heißt genauso wie im Beispiel.
              Was daran ist unklar?

              Kommentar


              • #8
                1. geht nicht mit dem array, da hab ich probleme mitm JS .. (siehe anderes thema "variable aus formular auslesen")

                2. das versteh ich nicht so ganz: da wird doch auch auf ein array zugegriffen??

                Kommentar


                • #9
                  ok, danke,funzt doch mit ${'KM'.$i} = $TMP[$i];

                  Kommentar


                  • #10
                    habe nochmal eine frage zum versenden von arrays.
                    ich habe mal eine Test.php mit folgendem dynamischem formular erstellt:

                    PHP-Code:
                    echo "<form action=\"Test.php\" method=\"post\">";
                    echo 
                    "<input type='hidden' name='aktion' value='zeige'>";
                    $werte=array();
                    for (
                    $i=1;$i<=10;$i++){
                    echo 
                    "<input type=\"checkbox\" name=\"$werte[$i]\" value=\"$wert".$i."\">Wert $i
                    "
                    ;
                    }
                    echo 
                    "<input type=\"submit\" value=\"Auswahl zeigen\">";
                    echo 
                    "</form>";

                    if (
                    $aktion=="zeige"){
                    echo 
                    "Folgende Werte wurden ausgewählt:
                    "
                    ;
                    print_r($werte);

                    leider ist $werte immer leer. kann mir jemand sagen, was ich falsch mache?

                    Kommentar


                    • #11
                      Das wird wohl daran liegen, dass register_globals ausgeschaltet ist. Du musst deswegen auf das Array $_POST statt auf $werte zugreifen: http://www.php.net/manual/en/languag...s.superglobals

                      Kommentar


                      • #12
                        wenn ich nun bei 2 werten einen hacken mache, bekomme ich folgende ausgabe:

                        Folgende Werte wurden ausgewählt:
                        Array ( [aktion] => zeige )

                        aber die ausgewählten werte sind nicht mit dabei?

                        Kommentar


                        • #13
                          Boah der Fehler is so alt wie meine Oma. Ab in die Forensuche mit dir

                          Kommentar


                          • #14
                            so, da bin ich wieder... frisch aus der forensuche, doch leider ohne ergebnis...
                            hat der herr vielleicht einen tipp mit welchen suchbegriffen ich die maschine noch quälen könnte?

                            Kommentar


                            • #15
                              Ja: "checkbox"

                              Kommentar

                              Lädt...
                              X