Zitat:
Zitat von pix
Hallo Leute!
Hab da n kleines Problem. Hab ein kleines Portal, welches ich erweitern soll. Ich würde gerne folgende Funktion einbauen: Wenn man ein Formular hat und dort der User sagen wir 5 Werte eintragen soll. Der User aber nur 3 von 5 einträgt kommt eine Fehlermeldung das 2 Werte fehlen. Die anderen 3 sollen aber weiterhin in dem Forumlar gespeichert werden.
Das bekomme ich soweit noch hin wenn alles in einer Datei stattfindet. So wie hier in dem Beispiel:
PHP-Code:
<? if(isset($_POST['submit'])) { echo "Gespeicherter Wert: <input type=\"text\" name=\"gebaeude\" id=\"gebaeude\" value=\"".$_POST['gebaeude']."\" size=\"26\" maxlength=\"100\">"; } else {
echo "<form method=\"post\" action=\"$PHPSELF\" name=\"form1\"> <input type=\"text\" name=\"gebaeude\" id=\"gebaeude\" value=\"".$_POST['gebaeude']."\" size=\"26\" maxlength=\"100\">
<input name=\"submit\" type=\"submit\" value=\"Versenden\"> </form>"; } ?>
Sorry für den unformatierten Code. Ist auch a weng kurz, halt nur ein Ausschnitt.
Bei mir im Portal ist es allerdings auf je 2 Dateien geteilt. D.h. Ich habe eine neu.php und greife mit dieser auf popup.php zu.
Die Popup.php gibt bei mir Infowerte über die Vorhandenen Gebäude usw. aus. Nachdem man die Info angeschaut hat kann man mittels history.back() auf die neu.php zurück. UND GENAU DANN sollen die Werte ausgegeben werden. Wenn ich von popup.php auf neu.php komme.
Könnte mir vielleicht jmd. sagen wie das realisierbar ist?!
Mit hilfsvariabeln evtl. aber ka wie. :unsure:
Und include ("popup.php"); würde ich ungern machen.
Grüße
pix
|
Hi,
also mit JS history.back() werden aber keine Daten übergeben, da die lediglich einen klick auf die Zurück Taste des Browser simuliert wird.
Hier solltest Du einfach nur im FORM Tag als Ziel deine "neu.php" eingeben.
HTML-Code:
<form method="post" action="neu.php">...
achso und nochwas an der Stelle, nutze einfache Anführungszeichen bei print oder echo, das erspart dir die Backslashes, also so:
PHP-Code:
echo '<form method="post" action="neu.php">';
Um das ganze noch komfortabel zu gestalten, erstelle einfach einen "zurück Link", bei dem das Formular übertragen wird:
PHP-Code:
print '<form name="frm" method="post" action="neu.php">....</form>';
//der zurück Link
print '<a href="Jacascript:document.frm.submit()" title="Zurück">zurück</a>';
anschließend kannst du die zurückgegebenen Werte via $_POST[] auswerten.
Sollten nun ein paar Daten fehlen, dann schreibe alle zurückgegeben Variablen in ein "blindes Formular" mit lauter hidden Felder die jeweils den Namen und den Inahlt der Variablen beinhalten. Fehlet jetzt ein bestimmter Wert, dann nimm die wieder Javascript zu hilfe:
HTML-Code:
<from name="versteckt" action="popup.php" method="post">
<input type="hidden" name="var1" value="<?=$_POST['var1']?>">
...u.s.w.
</form>
jetzt kommt die Prüfung der Variablen und ein bisschen Mischmasch aus PHP und Javascript
:
PHP-Code:
if($_POST['var1'] == "" || $_POST['var2'] == ""){
print '
<script language="javascript">
document.versteckt.submit();
</script>
';
}
und schon wird wieder die popup.php aufgerufen und du kannst die bereits übertragenen Variablen einfach wieder mit $_POST[] abfragen.
War das Deine Frage?
Gruß
Micha