Aus Formular heraus per Button Datei öffnen
Andreas
- php
Hallo,
nachdem mir gestern so großartig geholfen wurde, kommt heute schon das nächste Mini-Projekt.
Was ich vorhab ist, dass wenn der User sein Forum-Profil bearbeitet, dass er die Möglichkeit hat, Ein Avartar aus einer "Vorschau-Liste" auszuwählen.
Das User-Profil ist eine PHP-Datei, welches ein Formular erstellt.
Meine Frage dazu est, ob es mehr sinn macht, die Avarare in einer extra-Datei anzuzeigen, oder kann man das im User-Profil-Datei machen?
Wie bringe ich innerhalb des Formular einen Button dazu, dass wenn er geklickt wird, dass entweder intern oder extern die Avartar-Auswahl erzeugt wird?
Hoffe ich habe micht verständlich ausgedrückt.
Gruß Andreas
hi,
Das User-Profil ist eine PHP-Datei, welches ein Formular erstellt.
das ist doch hier unerheblich - die aktion läuft auf dem cleint ab, also ist der serverseitige hintergrund egal, der html-code der beim cleint ankommt ist entscheidend.
Meine Frage dazu est, ob es mehr sinn macht, die Avarare in einer extra-Datei anzuzeigen, oder kann man das im User-Profil-Datei machen?
ich denke das solltest du selber entscheiden ...
Wie bringe ich innerhalb des Formular einen Button dazu, dass wenn er geklickt wird, dass entweder intern oder extern die Avartar-Auswahl erzeugt wird?
intern: seite neu laden, mit der auswahl (z.b. per include eingebunden o.ä.).
extern: beim klick auf den button einen neue seite öffnen, die die auswahl anzeigt.
gruss,
wahsaga
Hallo,
intern: seite neu laden, mit der auswahl (z.b. per include eingebunden o.ä.).
Sorry, verstehe ich nicht.
extern: beim klick auf den button einen neue seite öffnen, die die auswahl anzeigt.
das habe ich so gemacht:
print <form action="neueRessource.htm"><input type="submit" value="clickmich"></form>";
Aber da diese Zeile innerhalb eines Formulars steht, "denkt" das Formular auf der Clientseite dass das Formular ansich abgeschickt wurde.
Gruß Andreas
Hallo,
ich schildere vieleicht nochmals mein Problem etwas detailierter:
Folgender Code in PHP:
print "<FORM ACTION="$FILEmytb" METHOD="POST" name="mytb" ENCTYPE="MULTIPART/FORM-DATA">\n"; print "<INPUT TYPE="HIDDEN" NAME="action" VALUE="update">\n";
...
print "<br><INPUT TYPE="SUBMIT" CLASS="ibut" name="action" VALUE="Avartar auswaehlen">\n";
print "<INPUT TYPE="SUBMIT" CLASS="ibut" VALUE="Aendern"> ";
print "<INPUT TYPE="RESET" CLASS="ibut" VALUE="Korrektur"></TD></TR>\n";
if ( $HTTP_POST_VARS['action'] == "Avartar auswaehlen" ){
print "Hallo Welt";
}
if ( $action == "update" ){
mach was
}
Wenn ich auf den Button Aendern clicke funktioniert "mach was". Wenn ich auf den Button Avartar auswaehlen clicke, hab ich einen weissen Bildschirm.
Wo ist mein Fehler?
Gruß Andreas
Hallo Andreas,
print "<INPUT TYPE="HIDDEN" NAME="action" VALUE="update">\n";
print "<INPUT TYPE="SUBMIT" name="action" VALUE="Avartar auswaehlen">\n";
print "<INPUT TYPE="SUBMIT" VALUE="Aendern"> ";
ich habe deinen Code mal etwas gekürzt, vielleicht siehst du das Problem (wenn nicht s.u.) - außerdem solltest du dir angewöhnen html-Attribute/-Elemente klein zu schreiben (evtl. auch werte von name-Attributen (das erleichtert die Sache beim auswerten). du tust dir auch einfachter, wenn du um das ganze html-Zeug keine doppelten sondern einfache Anführungszeichen machst - dann must du die um die Werte der Attribute nicht maskieren.
if ( $action == "update" ){
bitte $_POST['action']==...
Wenn ich auf den Button Aendern clicke funktioniert "mach was". Wenn ich auf den Button Avartar auswaehlen clicke, hab ich einen weissen Bildschirm.
das ist logisch - du hast eine (hidden-)input mit dem Namen "action" und ein (submit-)input mit dem Namen "action". Da jeweils das angeklickte Name/Value-Paar mitgesendet wird, steht wenn du auf "Aendern" klickst in $_POST['action'] "update" drin - wenn du aber auf "Avartar auswaehlen" klickst wird der Wert des hidden-Feldes überschrieben, und in $_POST['action'] steht "Avartar auswaehlen" drin. Lass dir auf der Seite die nach dem Absenden erscheint mal print_r($_POST) ausgeben und schau, was bei den verschiedenen Buttons passiert (das solltest du bei so einem Problem sowieso immer machen - manchmal kommt auf der Seite nämlich was ganz anderes an als man erwartet)
Grüße aus Nürnberg
Tobias