php erkennt Variable nicht

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

  • php erkennt Variable nicht

    Hallo!
    Vielleicht kann mir jemand helfen:

    Ich lese erst alle Namen von textareas aus (mit meta->name).
    Anschließend möchte ich auf die Inhalte (values) dieser textareas zugreifen, um sie ineine Datenbank einzutragen.

    Hier liegt das Problem: php erkennt nicht, dass es sich bei z.B. '$template', '$box1_headline' nicht um strings, sondern um Variablen handelt.


    Hier der komplette fragliche Teil des Codes:


    if ($id == "neu" && $btn=="Speichern")
    {
    $anfrage="SELECT * FROM `tbl_content`";
    $ergebnis=mysql_query($anfrage);
    $anzahl_felder = mysql_num_fields($ergebnis);
    $neue_werte="'', ";
    $i=1;
    while ($i<$anzahl_felder){
    $meta = mysql_fetch_field($ergebnis, $i);
    $neue_werte.="'$meta->name', ";
    $i++;
    }
    $i=0;

    $neue_werte=substr($neue_werte,0,strlen($neue_werte)-2);

    echo $neue_werte;

    $anfrage="INSERT INTO tbl_content VALUES($neue_werte)";
    mysql_query($anfrage);
    echo "<br>Der neue Datensatz wurde gespeichert!";
    exit();
    }



    Was kann ich machen, um das zu ändern?

    Grüße
    Zuletzt geändert von Ogden; 01.06.2006, 11:07.

  • #2
    Re: php erkennt Variable nicht

    Original geschrieben von Ogden
    Hier liegt das Problem: php erkennt nicht, dass es sich bei z.B. '$template', '$box1_headline' nicht um strings, sondern um Variablen handelt.
    Könnte es sein, dass du mit Strings noch nicht richtig umgehen kannst?

    Wenn ja, dann lies bitte http://www.php.net/manual/de/language.types.string.php - insb. den Abschnitt über Variablen-Analyse (parsing).
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Bin den Text durchgegangen, habe aber leider keine Lösung gefunden. Hast Du eine Idee?

      Kommentar


      • #4
        oh mann
        ließ es dir nochmal durch bitte

        $neue_werte.="'$meta->name', "; ist falsch

        Vorschläge:

        1) $neue_werte .= $meta->name.", ";
        2) $neue_werte .= "$meta->name, ";
        3) $neue_werte .= '$meta->name, ';
        4) $neue_werte .= '$meta->name'", ";

        so und nun sag uns was richtig ist (nachdem du es dir nochmal durchgelesen hast)

        gruß
        ranzi
        Die Milch bleibt ranzig!

        Kommentar


        • #5
          Funktioniert hat bei mir keine der vier Lösungen. Ich will ja nicht den Namen der textarea, sondern den Inhalt der textarea.

          Wie wär's mit einer Antwort ohne Muliple choice, sondern mit einer Erklärung? :-)
          Zuletzt geändert von Ogden; 01.06.2006, 11:41.

          Kommentar


          • #6
            Wie heißt deine Textarea, wie werden die Formulardaten übertragen und wie nimmst du sie in deinem Script in Empfang?

            Aus if($btn=='Speichern') leite ich ab, dass du mit register_globals = on fährts. Schlechte Idee! Lies dazu im Manual nach!

            Kommentar


            • #7
              Die textareas heißen "template", "box1_headline" etc.

              Der Zugriff ist auch kein Problem!

              Das Problem ist der Zugriff auf die Variable.

              Hintergrund ist:
              Die Anzahl der Felder in dem Formular ist variabel.
              Deshalb erstelle ich mit php eine Auflistung aller Felder.
              Ich kann deshalb nicht statisch auf die Felder zugreifen.
              Anschließend lese ich die textareas aus.

              Es geht also wirklich nur um die Frage, wie die Syntax lautet,
              wenn - um es korrekt auszudrücken - der Name einer Variablen ebenfalls durch eine Variable festgelegt wird.

              Idee?

              Kommentar


              • #8
                $value = $_POST[$meta->name]? Ansonsten heißt das Stichwort "variable Variablen", sollte hierfür aber nicht nötig sein.

                Und nicht vergessen: http://php.net/register_globals

                Kommentar


                • #9
                  Original geschrieben von onemorenerd
                  $value = $_POST[$meta->name]? Ansonsten heißt das Stichwort "variable Variablen", sollte hierfür aber nicht nötig sein.

                  Und nicht vergessen: http://php.net/register_globals

                  Super! Vielen Dank! Ich fühle mich von Dir verstanden ;-)

                  Der andere Aspekt ist mir bekannt, aber im Moment nicht so relevant für mich.

                  Grüße & schönen Tag

                  Kommentar

                  Lädt...
                  X