• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Weitergeben von Variablen

ChiliSchaf

Neues Mitglied
Hallo,

ich hoffe, ich bin hier im html-Forum richtig, da es sich um eine Kombinationsfrage aus php und html handelt - falls ich also falsch bin, tut's mir Leid :(

Nun aber zu meiner Frage:
Ich möchte gerne mit php und html auf einem meiner templates eine Dropdown-Box mit Namen von Usern einrichten, die man, wenn man einen User ausgewählt hat, dann editieren kann.

Dazu schicke ich mir via php einen array mit den Usernamen und den UserIDs und lasse mir mit loop die Dropdownbox erstellen. Jetzt möchte ich aber gerne, dass nach dem klicken von edit nicht nur der neue Username übergeben wird sondern auch die alte ID um für die Datenbankabfrage dann zu wissen, welcher Name geändert werden soll...aber irgendwie scheint das so wie ich es gemacht habe, nicht zu funktionieren :/

HTML:
<form action="handler_editUser.php" method="post">
<input name="users" type="hidden" value="{$users}" >
<input name="userIDs" type="hidden" value="{$userIDs}" >
    <hr>
    <h2>Edit User:</h2>
    Old User
        {section name=i loop=$user}
            <select>
              <option value ="$userIDs[i]">$users[i]</option>
              </select>
        {/section}
        New User: <input name="user" type="text" value="{$userIDs[i]}">
        <input name="editUser" type="submit" value="edit">
    <hr>    
</form>
Vielen Dank für's drüberschauen!

Achja - ich möchte später kein Javascript, Smarty usw. benutzen bzw. soll das alles erstmal unabhängig von der Entscheidung funktionieren. Falls jemand also noch eine Idee hat wie man eine Schleife nur mit reinem html macht dann immer her mit der Info ;) bei google hab ich nichts finden können...
 
Dann füg noch ein Eingabefeld mit type="hidden" ein, in dem Du den alten Wert speicherst.

Dein select für "Old User" hat keinen Namen. Du wirst vermutlich damit beim Auslesen Schwierigkeiten bekommen.
 
Das mit dem Select hab ich glatt übersehen, danke für die Info ^^

Ich weiß leider nicht wie ich den alten Wert speichern soll, wenn ich nur arrays habe. Der alte Wert (also der, der in der Box ausgewählt wird) ist ja nur temporär in der Schleife, oder nicht?

Kann ich da einfach
HTML:
<input name="userIDs" type="hidden" value="{$UserIDs[i]}" >
machen?
 
Ich kenne Deine komische Template-Sprache nicht, aber Arrays sind ja mehrere Werte und einzelne Elemente von Arrays kann man über den Index ansprechen. Wenn Du nach Abschicken des Formulars wieder einen alten Wert brauchst, setzt Du ihn in das value-Attribut eines hidden Eingabefeldes. Woher Du Deinen Wert kriegst, musst Du selber wissen.
Deine Templatesprache wird serverseitig abgearbeitet, d.h. da wird eine statische HTML-Seite erzeugt, die dann das Feld mit dem richtigen Wert enthalten sollte. Ob das geklappt hat, kannst Du überprüfen, indem Du in den Quelltext der Seite, wie sie am Browser ankommt, prüfst, oder temporär aus type="hidden" ein type="text" machst.
 
Zurück
Oben