| 

.NET C# Java Javascript Exception

1
Hallo,

ich habe folgendes Problem:

auf einer php-Seite gibt es ein Eingabefeld, in das der User eine Zahl einfügen kann. Seine Eingabe wird nach dem Abschicken (mittels <form action="seite2.php" method="post">) auf Seite 2 weitergeleitet.
Auf der zweiten Seite versuche ich nun, zu überprüfen, ob der User eine negative Zahl eingegeben hat und wenn dies der Fall ist, soll er ein alert-Fenster mit einer Meldung bekommen und im Hintergrund auf Seite 1 zurückgeleitet werden.
Leider klappt es nicht, es wird entweder das 'alert' oder das 'history.back()' ausgeführt.
Kann man die beiden Sachen überhaupt verbinden? Oder gibt es eine Möglichkeit auf Seite 1 schon die Eingabe auf einen negativen Wert zu überprüfen?
22.02.2011
Gast
11 2
2 Antworten
2
Du kannst auf der zweiten Seite die Prüfung im PHP machen und beim Fehler mit einem Header zurück zu ersten springen.
<?php

if($_POST['var'] < 0) {
header('Location: http://www.deine-domain.de/seite1.php');
exit;
}
...


Funktioniert auch ohne JavaScript.
22.02.2011
blackdog9 113 1 5
1
Es kommt sehr darauf an, wie ein JavaScript-Alert vom Browser behandelt wird. Normalerweise ist es modal. Es könnte allerdings sogar unterdrückt werden und deswegen würde ich mich darauf nicht wirklich verlassen, wenn es um Validierung geht.

Mögliche Alternative:
Aus Deiner Frage geht nicht hervor, ob die Überprüfung der Eingabe unbedingt auf dem Client - und somit per JavaScript - implementiert werden müssen. Wenn das nicht der Fall ist, kannst Du das selbe Script in der Form-Action angeben (also seite1.php?validate), und Deine Validierung in PHP implementieren. Wenn die Eingabe nicht korrekt sind, gibst Du die Seite gespickt mit Fehlermeldungen an der richtigen Stelle wieder aus. Wenn die Eingaben korrekt sind, gibst Du mit PHP einen Location-Header aus, der den Browser dazu zwingt, zur angegebenen Seite zu springen.
22.02.2011
Torsten Weber 691 1 8

Stelle deine Javascript-Frage jetzt!