Archiv verlassen und diese Seite im Standarddesign anzeigen : Textfeld Problem
Hi!
Ich hab folgendes Probelm - so eine art userverwaltung und da muss ich jetzt beim editieren eines users ein paar sachen aus textfeldern und von 2 radiobuttons auslesen
meine frage:
geht das jetzt dass ich die alle auf einmal mit bekommen
(was ich möcht is folgendes: zb $_POST["name"], $_POST["info"]...)
mfg neme
mrhappiness 24-12-2002, 15:25 was spricht dagegen, die felder in deinem formular name und info zu nennen?
wenn du das formular abschickst (method="post") dann hast du die so wie du geschrieben hast im array $_POST
irgendwie versteh ich dein problem nicht wirklich 100%ig dünkt mir
*auch nichts versteh*
Aber Happy hat recht!
schau ich habs so geschrieben:
echo"
<form method=\"post\" action=\"$PHP_SELF\" name=\"eingaben\">
<input name=\"user_info\" type=\"text\" size=\"30\" maxlength=\"30\" value=\"$userdaten[info]\">
<input name=\"passwort1\" type=\"text\" size=\"30\" maxlength=\"30\" value=\"\">
<input name=\"passwort2\" type=\"text\" size=\"30\" maxlength=\"30\" value=\"\">
<a href=\"\" onClick=\"window.document.eingaben.submit()\">Benutzerdaten speichern</a>
";
neija und das problem, dass ich eben hab is, dass ich nichts zurück bekomme ( in $_POST["user_info"]....)
jetzt besser?
mrhappiness 24-12-2002, 15:39 Original geschrieben von neme
schau ich habs so geschrieben:
echo"
<form method=\"post\" action=\"$PHP_SELF\" name=\"eingaben\">
<input name=\"user_info\" type=\"text\" size=\"30\" maxlength=\"30\" value=\"$userdaten[info]\">
<input name=\"passwort1\" type=\"text\" size=\"30\" maxlength=\"30\" value=\"\">
<input name=\"passwort2\" type=\"text\" size=\"30\" maxlength=\"30\" value=\"\">
<a href=\"\" onClick=\"window.document.eingaben.submit()\">Benutzerdaten speichern</a>
";
neija und das problem, dass ich eben hab is, dass ich nichts zurück bekomme ( in $_POST["user_info"]....)
jetzt besser?
mach das nicht über nen link, sondern über nen button echo "<input name=\"Abschicken\" value=\"Abschicken\" type=\"submit\" />";und natürlich vor der ausgabe dieses formulars prüfen ob abgeschcikt wurde mitif ($_POST["Abschicken"])
ok von mir aus mach ichs auch mit button, des is egal, nur mein problem hab ich immer noch, ich bekomm nichts zurück über die variablen $_POST["user_info"]...
aha aber wieso geht des über einen button, aber über den link nicht?
Natürlich kann man das Formular auch über einen Link absenden, der über JavaScript ein POST auslöst. Neme, Dein Code ist schon richtig. Du siehst aber kein Ergebnis, da nach dem Absenden des Formulars über onclick sofort der Link im href aufgerufen wird. Du rufst die Seite also zwei mal kurz hintereinander auf. Das erste mal mit POST, das zweite mal mit einem Link, ohne die Formularfelder zu übertragen. Du siehst natürlich nur das Ergebnis des zweiten Events.
Um das Anspringen des hrefs zu verhindern kannst Du href="#" oder besser href="javascript:;" verwenden. Dann wird es funktionieren.
mrhappiness: Wozu ist es notwendig zusätzlich auf den Namen des Buttons zu prüfen? Reicht es nicht zu prüfen, ob überhaupt ein POST vorliegt (if($_POST))?
:grin:
isset($_POST)
es sei denn, an die Formularseite werden auch von woanders her Daten geschickt.
href="javascript:submit();"
sollte für den Link funktionieren.
mrhappiness 25-12-2002, 01:20 @oli-1
if (isset($_PSOT)) geht natürlich auch, aber ich dachte, dadurch wird es etwas einleuchtender.
prinzipiell müsste es auch so gehen wie neme geschrieben hat (is mir eben so gedämmert) nur dass im onclick ereignis noch ein return true; (oder false; weiß nich mehr genau) folgen sollte, damit nicht die seite, die durch href spezifiert wird, aufgerufen wird und dass ich dann nich prüfen kann, welche seite daten schickt, falls es mehr als eine seite sein sollte (siehe Beitrag des netten und überaus intelligenten Herrn TobiaZ [nicht ironbisch gemeint])
href="javascript:submit();" funzt nur solange der code für den link zwischen den zwei <form> tags steht, sonst will es nich so wie es soll
href="javascript:submit();" funzt nur solange der code für den link zwischen den zwei <form> tags steht, sonst will es nich so wie es soll
dann musst du das formular explizit über seinen namen ansprechen, dann funzt es auch ausserhalb des <form>-tags:
javascript:document.formname.submit();
|
-
- |