php/html $_POST oder doch action= "$SERVER[PHP_SELF]"
zero
- meinung
hallo,
ich brauch eure meinung :). ist $_POST() besser oder doch ein php Datei, wo ich ein textbox erstelle( <form id="form1" name="speichern" method="post" action="$SERVER[PHP_SELF]" >) und dabei beim action: action="$SERVER[PHP_SELF]" verwende ? Somit geschieht alles nur in einer Datei, also nicht wie herkömmlich von einer html-Datei an eine php-Datei posten.
Naja da wird auch der $_POST Befehl verwendet, aber dafür keine andere Datei geöffnet.
Es schaut so aus:
<body>
<form id="form1" name="speichern" method="post" action="$SERVER[PHP_SELF]" >
...
<input name="textbox1" type="text" value="Bitte füllen..." />
...
</form>
<?php
$text = $_POST["textbox1"];
if(!empty($text)){
...
echo "Daten erfolgreich gespeichert.<br>";
...
}else{
echo "Die Textboxe sind leer!<br>";
}
?>
</body>
... = andere code-stücke
das funktioniert auch, aber ich weiß nicht was besser wäre.
ich bin schon auf eure meinung gespannt :)
danke und lg,
zero
Hi,
ich brauch eure meinung :).
Kommt:
ist $_POST() besser oder doch ein php Datei, wo ich ein textbox erstelle( <form id="form1" name="speichern" method="post" action="$SERVER[PHP_SELF]" >) und dabei beim action: action="$SERVER[PHP_SELF]" verwende ?
Wenig Sinn erkennbar in dieser Fragestellung.
Somit geschieht alles nur in einer Datei, also nicht wie herkömmlich von einer html-Datei an eine php-Datei posten.
OK, langsam wird's klar. Warum denn nicht gleich so ...
Naja da wird auch der $_POST Befehl verwendet, aber dafür keine andere Datei geöffnet.
$_POST ist kein Befehl, sondern ein superglobales Array.
das funktioniert auch, aber ich weiß nicht was besser wäre.
Wenn du den Nutzer ggf. auf fehlerhafte/fehlende Eingaben hinweisen willst, und dabei die bisherigen Eingaben beibehalten willst, ist ein Script, welches dynamisch das Formular erzeugt und die Daten "an sich selbst" posten laesst - auch bekannt als Affenformular - sicher zweckmaessiger.
MfG ChrisB
Wenn du den Nutzer ggf. auf fehlerhafte/fehlende Eingaben hinweisen willst, und dabei die bisherigen Eingaben beibehalten willst, ist ein Script, welches dynamisch das Formular erzeugt und die Daten "an sich selbst" posten laesst - auch bekannt als Affenformular - sicher zweckmaessiger.
MfG ChrisB
Yeah, you are right
thank you very much,
zero
ich hab selber ein fehler eingebaut, tschuldigung und zwar
statt <body> habe ich echo verwendet, also mit echo ein texbox erstellt
Es schaut so aus:
<?php
echo "<form method='post' action='$SERVER[PHP_SELF]' />";
echo "Type Here: <input type='text' name='textbox1' value='' size='70'><br />";
echo "<input type='submit' value='speichern' />";
echo "</form>";
$text = $_POST["textbox1"];
if(!empty($text)){
...
echo "Daten erfolgreich gespeichert.<br>";
...
}else{
echo "Die Textboxe sind leer!<br>";
}
?>
lg,
zero
Hi,
echo "<form method='post' action='$SERVER[PHP_SELF]' />";
das ist übrigens gleich dreifach falsch.
1. das Form-Tag ist nicht inhaltslos und kann nicht direkt geschlossen werden,
2. wegen der single quotes wird im HTML '$SERVER[PHP_SELF]' ausgegeben,
3. und selbst "$SERVER[PHP_SELF]" wäre fehlerhaft, da 'PHP_SELF' keine Konstante ist.
Du solltest unbedingt das error_reporting während der Entwicklung aktivieren.
Und da $SERVER['PHP_SELF'] darüber hinaus auch manipulierbar ist, wäre die Zeile schließlich so anzugeben:
echo '<form method="post" action="'.$_SERVER['SCRIPT_NAME'].'">';
freundliche Grüße
Ingo