Anzeige:
Ergebnis 1 bis 11 von 11

Thema: string soll name einer Variable sein!

  1. #1
    Alexander Hinrichs
    Gast

    Question string soll name einer Variable sein!

    Hallo!

    Ich habe eine Frage. Ich habe ein 'HTML' Formular und als methode ein PHP Script... Ich baue das Formular dynamisch aus einer Datenbank zusammen und habe dementsprechend Variable INPUT Felder.

    Nun ist es doch so, dass die namen der Inputfelder in dem PHP Script an die ich das Formular sende als Variablen auftauchen.

    Meine Frage ist nun, wie ich diese Variablen ansprechen kann. Ich kann die Variablennamen schon wieder zusammenbauen, jedoch erhalte ich einen String mit dem Namen der Variable. Wie sage ich dem Code dass es sich nicht um ein Script sondern um eine Variable mit diesem Namen handelt.

    Gruß Alex

  2. #2
    Pingu
    Gast

    Post

    Hi,

    meinst du das hier: http://www.php.net/manual/de/languag...s.variable.php ?

    Irgendwie versteh ich nur die Hälfte.

    Gruß
    -= Pingu =-

  3. #3
    Registrierter Benutzer
    Registriert seit
    30.06.1999
    Ort
    Jena
    Beiträge
    29

    Post

    Hallo,

    irgendwie habe ich das jetzt nicht so ganz verstanden. Vielleicht kriegen wir es aber hin:

    Eine Formulareingabe in HTML geschieht so:

    <INPUT type="text" name="Feldname">

    Der Feldname soll nun in einer Variablen stehen. Mit PHP würde ich das so machen:

    echo"<INPUT type=\"text\" name=\"$Variable\">

    Wenn du nun ein "Allround"-Skript für alle Tabellen haben möchtest, musst du die Feldname der Tabelle z.B. in ein Array schreiben. Die Felderanzahl bekommst du über die Funktion mysql_num_fields(result) und den Feldnamen über mysql_field_name(result, index).

    Hoffe es hilft,

  4. #4
    Alexander Hinrichs
    Gast

    Red face

    ups, sorry... Ich sollte meine Posts nochmal korrekturlesen... (-;

    Ich erkläre mein Problem besser nochmal.

    Ich habe eine Website (.php) und darin wird ein Formular dynamisch erzeigt. Gefüllt mit Daten aus einer DB. In dem Formular ist ein INPUT Feld, welches einen dynamisch zusammengesetzten Namen besitzt. Jetzt möchte ich diese Felder per POST Methode an ein PHP Script übergeben. Habe jedoch das Problem, dass ich zwar den Variablen Namen wieder zusammensetzen kann aber diesen Namen dann nur als String habe. Deshalb wollte ich wissen, ob es eine Möglichkeit gibt, einen String in einen Variablennamen umzuwandeln.

    Ich werde mir mal den Teil aus dem PHP Manual mit den variablen Variablen ansehen. Das sieht richtig aus... Vielen Dank schonmal!

    Alexander

  5. #5
    Registrierter Benutzer
    Registriert seit
    30.06.1999
    Ort
    Jena
    Beiträge
    29

    Post

    Sorry, aber ich verstehe das immer noch nicht.

    Du lässt den Namen des Input-Feldes dynamisch erzeugen, richtig? Nach dem posten an ein PHP-Skript steht dann der Feldinhalt in einer Variablen mit diesem Namen. Nun musst den Variablennamen wieder zusammenbauen - das scheint ja zu klappen, richtig?

    Ok, dann geht es wie folgt:

    $vari = "name"; // der Name der Variablen
    $$vari = "irgendwas";
    echo $name; //gibt "irgendwas" aus

    Ich denke das ist es, was du suchst.

  6. #6
    schnuddel
    Gast
    ich habe da ein ähnliches problem.
    ich generiere aus einer mysql-db formularfelder von 1 bis x mit dem namen "feld_1", "feld_2" bis "feld_x".
    diese werden dann per POST an eine neue seite übergeben, wo dann die daten gespeichert werden sollen in der DB.
    Nun ist aber das problem, dass ich zwar die feldnamen generieren kann, aber die übermittelten werte nicht eingelesen bekomme (zb wäre der name "feld_1" bekomme ich keinen wert für den aus dem formular übermittelten wert für feld_1). wie kann ich also den feldnamen erneut generieren (zb ebenfalls über ne "for"-schleife) und den übermittelten wert annehmen lassen? habe schon einiges dazu gegoogelt, abre leider nichts passendes gefunden.

  7. #7
    Registrierter Benutzer Avatar von elrond
    Registriert seit
    03.10.2001
    Ort
    potsdam
    Beiträge
    881
    die Antwort heisst eval:

    PHP-Code:
    $var="\$abc=17"
    nach der ausführung von

    PHP-Code:
    eval($var); 
    steht die Variabel $abc mit dem Wert 17 zur Verfügung...


    PS @schnuddel: mein Kater trägt den selben namen...
    "Um die Welt zu ruinieren, genügt es, wenn jeder seine Pflicht tut." (Winston Churchill)

  8. #8
    schnuddel
    Gast
    wie bekomme ich diese werte in dem auswertungsformular aufgerufen. wenn ich das so mache, wie du das beschreibst, wird der wert 17 ausgegeben. es soll aber kein wert manuell eingegeben werden, sondern eben der wert für feld_1 bis feld_x (namen aus dem formular).

    also so ähnlich

    for ($i=1; $i<$max; $i++)
    {
    $ergebnis = $feld_$i;
    // mit den aus dem formular übergebenen werten feld_1, feld_2 usw.
    // das i soll praktisch als variablenname mitlaufen
    }

    p.s.: toller kater.... hatte auch mal einen, der so ähnlich aussah

  9. #9
    Registrierter Benutzer Avatar von klewan
    Registriert seit
    06.05.2005
    Ort
    Wien
    Beiträge
    99
    PHP-Code:
     if(is_array($_GET)) {
          
    $work_array=$_GET;
    } else if(
    is_array($HTTP_GET_VARS)) {
            
    $work_array=$HTTP_GET_VARS;
    } else if(
    is_array($_POST)) {
           
    $work_array=$_POST;
    } else if(
    is_array($HTTP_POST_VARS)) {
           
    $work_array=$HTTP_POST_VARS;
    } else {
          
    printf("Input format not supported");
          exit(
    1);
    }

    for(
    $x=0$x<count($work_array); $x++) {
        echo 
    $work_array[$x];
    }
    oder 
    while(list($key$value) = each($work_array)) {
       echo 
    "$key => $value <br>\n";
       
    //       feld_1 => wert
    }

    oder 
    for($x=0$x<$max$x++) {
       echo 
    $work_array["feld_" x] . "<br>";


  10. #10
    schnuddel
    Gast
    Super!

    Besten Dank! So hats bei mir geklappt...

    PHP-Code:
    if(is_array($_GET)) {
          
    $work_array=$_GET;
    } else if(
    is_array($HTTP_GET_VARS)) {
            
    $work_array=$HTTP_GET_VARS;
    } else if(
    is_array($_POST)) {
           
    $work_array=$_POST;
    } else if(
    is_array($HTTP_POST_VARS)) {
           
    $work_array=$HTTP_POST_VARS;
    } else {
          
    printf("Input format not supported");
          exit(
    1);
    }

    for(
    $x=0$x<$max$x++) {
       echo 
    $work_array["feld_$x"] . "<br>";


  11. #11
    Registrierter Benutzer Avatar von klewan
    Registriert seit
    06.05.2005
    Ort
    Wien
    Beiträge
    99
    na dann

    die if, else if , dingens bumsen kannste die sparen wenn de weisst das du z.b: immer $_GET verwendest

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •