App installieren
How to install the app on iOS
Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
PHP: Formularfelder überprüfen
- Ersteller Bob Byte
- Erstellt am
Bob Byte
Admiral Special
- Mitglied seit
- 21.02.2002
- Beiträge
- 1.698
- Renomée
- 9
- Standort
- in meiner Wohnung
- Mein Laptop
- IBM R50
- Prozessor
- Athlon XP 2400+
- Mainboard
- Asus A7N8X
- Speicher
- 2x 512 MB
- Grafikprozessor
- ATI 9000 passiv gekühlt
- Display
- Acer 19" TFT 1280*1024
- HDD
- 1x Maxtor 120GB, 1x WD 200GB
- Optisches Laufwerk
- LG- DVD Brenner, LG DVD-ROM
- Soundkarte
- onboard
- Betriebssystem
- Windows XP
- Webbrowser
- Firefox
- Verschiedenes
- Bald kommt hoffentlich was ganz neues, dann mit Multiboot
Ich habe mir ein kleines HTML-Formular erstellt das über ein PHP-Skript versendet wird. Der Versand funktioniert auch prima. Nun möchte ich aber noch eine Überprüfung der einzelnen Felder einbauen, habe dazu auch ne Abfrage eingebaut, die jedoch scheinbar gar nicht erst ausgeführt wird, denn selbst wenn ein Feld leer bleib wird sofort die Meldung das die Mail erfolgreich versendet wurde eingeblendet.
Schaut bitte mal rein, vielleicht findet ihr den Fehler, ich vermute das ich in der Schleife irgendwas verbockt habe.
Schaut bitte mal rein, vielleicht findet ihr den Fehler, ich vermute das ich in der Schleife irgendwas verbockt habe.
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
<?php
$name=$HTTP_POST_VARS['name'];
$strasse=$HTTP_POST_VARS['strasse'];
$plz=$HTTP_POST_VARS['plz'];
$ort=$HTTP_POST_VARS['ort'];
$mail=$HTTP_POST_VARS['mail'];
$kommentar=$HTTP_POST_VARS['kommentar'];
if ($name==""){
print ("<b>Bitte vollständigen Namen eingeben</b><br>");
}
if ($strasse=="") {
print ("<b>Bitte die Strasse eingeben</b><br>");
}
if ($plz==""){
print ("<b>Bitte die Postleitzahl eingeben</b><br>");
}
if ($ort=="") {
print ("<b>Bitte den Ort eingeben</b><br>");
}
if ($mail==""){
print ("<b>Bitte Betreff eintragen</b><br>");
}
if ($kommentar==""){
print ("<b>Bitte geben Sie einen Text ein</b><br>");
}
if
($mail!="") {
$mailtext="Name: ";
$mailtext.=$name;
$mailtext.="\n";
$mailtext.="Strasse: ";
$mailtext.=$strasse;
$mailtext.="\n";
$mailtext.="PLZ: ";
$mailtext.=$plz;
$mailtext.="\n";
$mailtext.="Ort: ";
$mailtext.=$ort;
$mailtext.="\n";
$mailtext.="E-Mail-Adresse: ";
$mailtext.=$mail;
$mailtext.="\n";
$mailtext.="Anfrage: ";
$mailtext.="\n";
$mailtext.=$kommentar;
$absender="From:";
$absender.=$mail;
mail("XX@YY", "Anfrage über das Kontaktformular", $mailtext, $absender);
print ("Ihre E-Mail wurde erfolgreich verschickt." );
print ("<br>");
print ("Sie werden in wenigen Augenblicken zur Startseite geführt.");
}
else {
print ("Sie haben keine E-Mail-Adresse angegeben...<br><br>");
print ("<a href='kontakt.html'>Zurück...</a>");
}
?>
</body>
</html>
OBrian
Moderation MBDB, ,
- Mitglied seit
- 16.10.2000
- Beiträge
- 17.033
- Renomée
- 267
- Standort
- NRW
- Prozessor
- Phenom II X4 940 BE, C2-Stepping (undervolted)
- Mainboard
- Gigabyte GA-MA69G-S3H (BIOS F7)
- Kühlung
- Noctua NH-U12F
- Speicher
- 4 GB DDR2-800 ADATA/OCZ
- Grafikprozessor
- Radeon HD 5850
- Display
- NEC MultiSync 24WMGX³
- SSD
- Samsung 840 Evo 256 GB
- HDD
- WD Caviar Green 2 TB (WD20EARX)
- Optisches Laufwerk
- Samsung SH-S183L
- Soundkarte
- Creative X-Fi EM mit YouP-PAX-Treibern, Headset: Sennheiser PC350
- Gehäuse
- Coolermaster Stacker, 120mm-Lüfter ersetzt durch Scythe S-Flex, zusätzliche Staubfilter
- Netzteil
- BeQuiet 500W PCGH-Edition
- Betriebssystem
- Windows 7 x64
- Webbrowser
- Firefox
- Verschiedenes
- Tastatur: Zowie Celeritas Caseking-Mod (weiße Tasten)
Naja, so würde es reichen, daß das Feld e-mail-Adresse nicht leer ist (Du überprüfst ja nicht mal, ob ein @ und ein Punkt vorkommen), dann werden alle IF-Anweisungen ausgeführt, inkl. des Absendens.
Du müßtest das Verschachteln, oder zumindest die Bedingungen verknüpfen, z.B.
Du müßtest das Verschachteln, oder zumindest die Bedingungen verknüpfen, z.B.
PHP:
if ($name=="" || $strasse=="" || $plz=="" || $ort=="" || $mail=="" || $kommentar=="") {
print ("Sie haben irgendwas vergessen");
// könnte man jetzt nochmal auffächern mit einer Reihe IFs nebeneinander
// Zurück-Link
} else { // d.h. nur wenn in allen Feldern was steht
// schicke Formular ab
}
G-S-X
Vice Admiral Special
- Mitglied seit
- 23.08.2002
- Beiträge
- 517
- Renomée
- 7
Ich würde dir empfehlen den Weg über Javascript zu gehen.
Wenn du es per PHP prüfen möchtest, solltest du mit Session oder per DB die eingegebenen Werte zwischenspeichern, sonst sind sie weg wenn dein Besucher eine Fehlangabe oder keine Angabe macht und auf das Formularfeld zurückkehrt ...
Wenn du es per PHP prüfen möchtest, solltest du mit Session oder per DB die eingegebenen Werte zwischenspeichern, sonst sind sie weg wenn dein Besucher eine Fehlangabe oder keine Angabe macht und auf das Formularfeld zurückkehrt ...
Bob Byte
Admiral Special
- Mitglied seit
- 21.02.2002
- Beiträge
- 1.698
- Renomée
- 9
- Standort
- in meiner Wohnung
- Mein Laptop
- IBM R50
- Prozessor
- Athlon XP 2400+
- Mainboard
- Asus A7N8X
- Speicher
- 2x 512 MB
- Grafikprozessor
- ATI 9000 passiv gekühlt
- Display
- Acer 19" TFT 1280*1024
- HDD
- 1x Maxtor 120GB, 1x WD 200GB
- Optisches Laufwerk
- LG- DVD Brenner, LG DVD-ROM
- Soundkarte
- onboard
- Betriebssystem
- Windows XP
- Webbrowser
- Firefox
- Verschiedenes
- Bald kommt hoffentlich was ganz neues, dann mit Multiboot
@OBrian: Ich bin frisch bei PHP, daher nur erstmal diese einfache Fassung. Dabei ist aber auch von mir geplant das Stück für Stück auszubauen, je nachdem wie schnell ich mit dem lernen ran komme . Die Überprüfung auf Eingabe ist da auch mit inbegriffen.
@G-S-X: Muss ich mir mal anschauen ob ich da was entsprechendes finde, denn Javascript kann ich (leider ? ) gar nicht. Da ich mich derzeit etwas an PHP rantaste, war das auch meine erste Wahl.
Gruß BB
@G-S-X: Muss ich mir mal anschauen ob ich da was entsprechendes finde, denn Javascript kann ich (leider ? ) gar nicht. Da ich mich derzeit etwas an PHP rantaste, war das auch meine erste Wahl.
Gruß BB
OBrian
Moderation MBDB, ,
- Mitglied seit
- 16.10.2000
- Beiträge
- 17.033
- Renomée
- 267
- Standort
- NRW
- Prozessor
- Phenom II X4 940 BE, C2-Stepping (undervolted)
- Mainboard
- Gigabyte GA-MA69G-S3H (BIOS F7)
- Kühlung
- Noctua NH-U12F
- Speicher
- 4 GB DDR2-800 ADATA/OCZ
- Grafikprozessor
- Radeon HD 5850
- Display
- NEC MultiSync 24WMGX³
- SSD
- Samsung 840 Evo 256 GB
- HDD
- WD Caviar Green 2 TB (WD20EARX)
- Optisches Laufwerk
- Samsung SH-S183L
- Soundkarte
- Creative X-Fi EM mit YouP-PAX-Treibern, Headset: Sennheiser PC350
- Gehäuse
- Coolermaster Stacker, 120mm-Lüfter ersetzt durch Scythe S-Flex, zusätzliche Staubfilter
- Netzteil
- BeQuiet 500W PCGH-Edition
- Betriebssystem
- Windows 7 x64
- Webbrowser
- Firefox
- Verschiedenes
- Tastatur: Zowie Celeritas Caseking-Mod (weiße Tasten)
Kein Problem, das hatte ich auch nur so nebenbei erwähnt. Das eigentliche Problem hier war ja auch der logische Ablauf, der ist eigentlich auch unabhängig von der Programmier- oder Skriptsprache.@OBrian: Ich bin frisch bei PHP, daher nur erstmal diese einfache Fassung. Dabei ist aber auch von mir geplant das Stück für Stück auszubauen, je nachdem wie schnell ich mit dem lernen ran komme . Die Überprüfung auf Eingabe ist da auch mit inbegriffen.
Am besten überlegst Du Dir sowas erstmal theoretisch und malst es mit Kästchen und Pfeilen auf Papier, damit das Gerüst klar ist. In der professionellen softwareentwicklung macht man das auch, mit speziellen Diagrammen usw., soviel Aufwand muß man ja nicht treiben, aber das ist für den Überblick schon besser, als gleich loszucoden.
Bob Byte
Admiral Special
- Mitglied seit
- 21.02.2002
- Beiträge
- 1.698
- Renomée
- 9
- Standort
- in meiner Wohnung
- Mein Laptop
- IBM R50
- Prozessor
- Athlon XP 2400+
- Mainboard
- Asus A7N8X
- Speicher
- 2x 512 MB
- Grafikprozessor
- ATI 9000 passiv gekühlt
- Display
- Acer 19" TFT 1280*1024
- HDD
- 1x Maxtor 120GB, 1x WD 200GB
- Optisches Laufwerk
- LG- DVD Brenner, LG DVD-ROM
- Soundkarte
- onboard
- Betriebssystem
- Windows XP
- Webbrowser
- Firefox
- Verschiedenes
- Bald kommt hoffentlich was ganz neues, dann mit Multiboot
überlegt habe ich mir das schon vorher wie das laufen soll, es hapert nur an der Ausführung .
Gruß BB
Gruß BB
@Bob Byte: Du hast nur einen kleinen Fehler in Deinem Script: die einzelnen if-Anweisungen kommen lose nacheinander, insofern wird jeder if ausgeführt, egal wie der vorherige ausgegangen ist. Wenn Du nach dem ersten if quasi "abbrechen" möchtest, musst Du die nächsten mit elseif anhängen. Das sieht dann etwa so aus:
Das zusammengeschriebene "elseif" ist PHP-spezifisch und kann man wahlweise auch auseinander ("else if") schreiben, so wie es auch in anderen C-Syntax-ähnlichen Programmiersprachen funktioniert. Ich vermute, dass es zusammengeschrieben einen Tick schneller ist, weil es dann für den Parser nur ein Schlüsselwort anstatt zwei darstellt.
PHP:
if ( bedingung1 ) {
echo("Bedingung 1 ist wahr");
}
elseif ( bedingung 2 ) {
echo("Bedingung 2 ist wahr");
}
else {
echo("Hier kommt man nur an, wenn weder Bedingung 1 noch Bedingung 2 wahr geworden ist");
}
echo ("Hier geht es in jeden Fall weiter");
Das zusammengeschriebene "elseif" ist PHP-spezifisch und kann man wahlweise auch auseinander ("else if") schreiben, so wie es auch in anderen C-Syntax-ähnlichen Programmiersprachen funktioniert. Ich vermute, dass es zusammengeschrieben einen Tick schneller ist, weil es dann für den Parser nur ein Schlüsselwort anstatt zwei darstellt.
Ähnliche Themen
- Antworten
- 74
- Aufrufe
- 29K
- Antworten
- 6K
- Aufrufe
- 761K
- Antworten
- 0
- Aufrufe
- 52K