| | | | |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Erfahrener Benutzer Registriert seit: 02.04.2008
Beiträge: 4.034
![]() | Du musst dir bewusst sein, dass PHP-Code auf dem Server ausgeführt wird. Die Eingaben erfolgen aber auf dem Client. Deshalb nützt dir weder echo, noch header() etwas. Wenn du die Überprüfung vor dem Abschicken des Scripts überprüfen willst, muss das auf dem Client erfolgen, und das geht nur mit Javascript. Dazu definierst du irgendwo. am besten in der Headersektion eine JS-Funktion, die auf Ziffern und leer überprüft, z.B. chk_startnr(). Diese rufst du dann entsprechend auf: Code: <input type="text" name="startnr" onchange='chk_startnr()' size="5"> //bzw. <input type="submit" name="Weiter" onclick='chk_startnr()' value="Submit">
__________________ Gruss L |
| |
| | |
| Erfahrener Benutzer Registriert seit: 02.04.2008
Beiträge: 4.034
![]() | Da hast du grundsätzlich schon recht, bei grösseren Formularen kann das, v.a. bei langsamen Leitungen, aber durchaus von Vorteil sein. Dafür brauchst du dann die für die erneute Darstellung nicht alle Werte ins Formular zu schreiben. Und der Aufwand ist ja gering.
__________________ Gruss L |
| |
| | |
| Neuer Benutzer Registriert seit: 09.04.2008
Beiträge: 15
![]() | doch wie kann ich die Daten (vom Formular) im PHP prüfen?? Ich weiß nicht wirklich wie das gmacht werden soll - das der User bei falscher Eingabe nicht auf die nächste Seite verwiesen wird. Bitte um Hilfe.... danke.. |
| |
| | |
| Erfahrener Benutzer Registriert seit: 02.04.2008
Beiträge: 4.034
![]() | Einfach kurz skizziert: PHP-Code:
__________________ Gruss L |
| |
| | |
| Neuer Benutzer Registriert seit: 09.04.2008
Beiträge: 15
![]() | danke für deine hilfe lazydog.. hab aber in der zwischenzeit meinen code mal umgeschrieben und es so probiert: Code: <?php session_start();
$fo=$_REQUEST["fo"];
if($fo==""){print_form();}
if($fo=="kontrolle"){check_input_data();}
//---------------------------
function print_form()
{
echo "<table width=\"472\" height=\"287\" border=\"0\" align=\"center\" cellpadding=\"1\" cellspacing=\"0\" bgcolor=\"#2d58a0\">";
echo "<tr>";
echo "<th width=\"455\" height=\"19\" scope=\"2\"> </th>";
echo "<th width=\"4\" scope=\"2\"> </th>";
echo "<th width=\"8\" scope=\"col\"> </th>";
echo "</tr>";
echo "<tr>";
echo "<th height=\"15\" bgcolor=\"#CBD7DC\" scope=\"2\"><p class=\"Stil14\"><strong>SMS Newsletter </strong></p></th>";
echo "<th scope=\"2\"> </th>";
echo "<th scope=\"col\"> </th>";
echo "</tr>";
echo "<tr>";
echo "<th height=\"15\" bgcolor=\"#CBD7DC\" scope=\"2\"> </th>";
echo "<th scope=\"2\"> </th>";
echo "<th scope=\"col\"> </th>";
echo "</tr>";
echo "<tr>";
echo "<th rowspan=\"8\" bgcolor=\"#CBD7DC\" scope=\"2\">";
echo "<p align=\"left\" class=\"Stil14\">Geben Sie hier die Startnummer des gewünschten Ironman-Teilnehmers ein. Sollten Sie die Startnummer nicht kennen, suchen Sie diese in der Starterliste.</p>";
echo "<p align=\"left\" class=\"Stil14\"> </p>";
$s="<form method='POST' action='testform.php'>";
$s.="<input type='hidden' name='fo' value='kontrolle'>";
$s.="<p>Startnummer: <input type='text' name='fenummer' size='5'></p><br><br>";
$s.="<input type='submit' value='Abschicken'> <input type='reset' name='reset' value='Reset'>";
$s.="</form>";
echo $s;
echo "<p class=\"Stil7 Stil19\"> </p>";
echo "<p align=\"left\" class=\"Stil14\"></p>";
echo "<div align=\"right\">";
echo "<p class=\"Stil14\"> </p>";
echo "<p class=\"Stil14\">";
echo "</div></th>";
echo "<th height=\"15\" scope=\"2\"> </th>";
echo "<th scope=\"col\"> </th>";
echo "</tr>";
echo "<tr>";
echo "<th height=\"15\" scope=\"2\"> </th>";
echo "<th scope=\"col\"> </th>";
echo "</tr>";
echo "<tr>";
echo "<th height=\"15\" scope=\"2\"> </th>";
echo "<th scope=\"col\"> </th>";
echo "</tr>";
echo "<tr>";
echo "<th height=\"15\" scope=\"2\"> </th>";
echo "<th scope=\"col\"> </th>";
echo "</tr>";
echo "<tr>";
echo "<th height=\"15\" scope=\"2\"> </th>";
echo "<th scope=\"col\"> </th>";
echo "</tr>";
echo "<tr>";
echo "<th height=\"15\" scope=\"2\"> </th>";
echo "<th scope=\"col\"> </th>";
echo "</tr>";
echo "<tr>";
echo "<th height=\"15\" scope=\"2\"> </th>";
echo "<th scope=\"col\"> </th>";
echo "</tr>";
echo "<tr>";
echo "<th height=\"37\" scope=\"2\"> </th>";
echo "<th scope=\"col\"> </th>";
echo "</tr>";
echo "<tr>";
echo "<th height=\"15\" bgcolor=\"#2d58a0\" scope=\"2\"> </th>";
echo "<th scope=\"2\"> </th>";
echo "<th scope=\"col\"> </th>";
echo "</tr>";
echo "</table>";
}
//---------------------------
function check_input_data()
{
$email=$_REQUEST['femail'];
$name=$_REQUEST['fename'];
$startnr=$_REQUEST['fenummer'];
$e=false;
if(ereg("[^0-9+\-]",$startnr))
{
print_form();
exit("<h1><div align=\"right\">Die eingegebene Start Nummer ist ungültig!</div></h1>");
}
else
{
//Header("Location: testform2.php" . $_POST[$startnr]);
$_SESSION['startnr'] = $startnr;
//echo $startnr_post;
Header("Location: step4.php");
//echo $buf;
//sendToHost('www.google.com','get','/search','q=php_imlib');
//Header("Location: testform2.php?$startnr");
//http://www.seite.de/pfad/seite.php?var1=wert1
}
}
?>
<html>
<head>
<title>Unbenanntes Dokument</title><style type="text/css">
</head>
<body>
<?php
include('db_conn.php');
//echo $startnr;
$sqlab = "select * from athlete where athlete.fenummer = $auswahl";
//$sqlab = "SELECT startnr, firstname, lastname FROM athlete where startnr = $startnr";
$res = mysql_db_query("test", $sqlab);
//$num = mysql_num_rows($res);
?>
</body>
</html>
wenn ich nun einen buchstaben eingebe, gibt er mir die fehlermeldung aus (startnummer ist ungültig). klickt man dann jedoch nochmal auf absenden - wird man trotzdem auf die nächste seite weiterverbunden. obwohl noch immer der falsche buchstabe drin ist.. wenn nichts eingetragen wird, wird der user auch wieder auf die nächste seite verbunden ich hoffe mir kann noch jemand weiter helfn - möchte nicht wieder den ganzen code umschreiben.. bitte um hilfe.. vielen dank in voraus!!!!!!! |
| |
| | |
| Erfahrener Benutzer Registriert seit: 28.03.2008
Beiträge: 1.846
![]() | Das ist mal sowas von unübersichtlich.. Du solltest Deinen Code mal etwas strukturieren und vom Ablauf so vorgehen, wie lazydog es beschreibt. Erst auf Fehler checken, wenn Kein Fehler weiterleiten und exit. Wenn Fehler Fehlermeldung anzeigen und Formular mit den Werten. Btw. Deine Funktion check_input_data() ist nicht wirklich gut geschrieben. - Funktionen immer mit parametern aufrufen und keine globals innerhalb der Funktion benutzen. - Jede Funktion sollte einen Rückgabewert besitzen. - Eine Funktion sollte kein echo benutzen, sondern über den oben beschriebenen Rückgabewert arbeiten. - eine Funktion für eine Funktion --> eine Funktion prüft die Telefonnummer, eine die email, etc. ... |
| |
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [Erledigt] sql daten für einen kunden auslesen/ändern im Formular | PHP Tipps 2005-2 | 3 | 12.10.2005 08:36 | |
| [Erledigt] Daten auslesen und ändern | Datenbanken | 2 | 17.09.2005 19:28 | |
| Daten eintragen und auslesen | Rettungsdackel | Datenbanken | 0 | 14.09.2005 16:29 |
| Daten Eingabe automatisch ergänzen | superbike | PHP Tipps 2005-2 | 1 | 18.08.2005 13:54 |
| [Erledigt] Formular - Eingabe Daten nicht löschen... | PHP Tipps 2005-2 | 4 | 04.07.2005 09:09 | |
| zurück zu Seite per hyperlink und Daten erhalten | nieselfriem | PHP Tipps 2005-2 | 8 | 15.06.2005 00:05 |
| POST Daten via JavaScript versenden | Stinger | HTML, Usability und Barrierefreiheit | 9 | 20.03.2005 20:18 |
| POST Daten via JavaScript versenden | Stinger | PHP Tipps 2005 | 1 | 20.03.2005 02:40 |
| mit PHP per POST Daten an eine Fremde seite schicken? | Kenshin | PHP Tipps 2005 | 7 | 04.02.2005 16:20 |
| Mit post an weitere Seite oder 2 Seiten übergeben? | PHP Tipps 2005 | 1 | 02.02.2005 12:16 | |
| Daten übergeben | kampfnickel | PHP Tipps 2005 | 4 | 05.01.2005 14:12 |
| Übermitteln der daten ? | PHP Tipps 2004-2 | 9 | 05.12.2004 13:18 | |
| array_push nur in begrenzter Anzahl ausführen ? | PHP Tipps 2004 | 2 | 07.09.2004 09:05 | |
| [Erledigt] Formular mit Daten werden auf anderer Seite zusammengefasst | PHP Tipps 2004 | 4 | 15.08.2004 15:44 | |
| Modales Fenster zur Eingabe von Daten | HTML, Usability und Barrierefreiheit | 0 | 22.06.2004 12:52 | |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| http://www.php.de/php-tipps-2008/856-bei-richtiger-eingabe-daten-naechste-seite-versenden.html, bei richtiger eingabe daten an nächste seite versenden, php kontrolle eingabe, php formular eingabe kontrolle, (37) ungültige eingabedaten.<br>, php formular eingaben prüfen und dann an nächste seite weiterleiten, php überprüfen und weiter senden, bei richtiger eingabe nächste seite html, formulareingaben validieren dann auf nächste formularseite daten übergeben, php eingabedaten überprüfen, php pfad an nächste seite senden, überprüfung dateneingaben weiterleitung auf andere seite php, javascript an folgende seite senden, javascript \wenn fehler\ bei überprüfung nicht reset, formulareingaben prüfen und dann an nächste seite weiterleiten, formular eingaben prüfen und dann an nächste seite weiterleiten, php wenn dann nächste seite, php daten posten zu nächster seite, php nach versenden auf neue seite, php echo auf neue seite |