Home | Registrieren | Einloggen | Suchen | Aktuelles


Forum » PHP & MySQL » Formular Pflicht-Felder Antworten
Formular Pflicht-Felder

Rieke
Foren-Team


Beiträge: 1503


Hi,

nun habe ich auch malein Frägelchen.
Die 1000 Möglichkeiten ein Formular zu gestalten sind eine Sache, aber so lange wi ich mich nun auch erfolgreich davor gedrückt habe.. ich brauche mal einen möglichst einfachen und schmerzlosen Weg "Pflichtfelder" vorzugeben.
Der Inhalt eines Formulares wird an ein Mail.cgi geschickt. Für ein anderes Projekt ist es später nötig die Daten direkt an eine Datenbank zu schicken.

Wer kennt die einfachste Lösung ?

Greets
Rieke


---
Blumenbeet

  Profil   E-Mail   Website   Editieren   Zitieren

michael
Foren-Team


Beiträge: 1933


och riekschen... ich mach dir das doch <IMG SRC="/phpBB/images/smiles/icon_smile.gif"> ganz easy per PHP <IMG SRC="/phpBB/images/smiles/icon_wink.gif">


  Profil   Editieren   Zitieren

Elliot
Fachidiot


Beiträge: 135


Hallo Michael!

Kannst Du mir das mal kurz erläutern? Ich kann das nur per Javascript, aber ich glaube mit PHP ist das einfacher!

Gruß, Elliot


---
Elliot - Das Schmunzelmonster

  Profil   Website   Editieren   Zitieren

Rieke
Foren-Team


Beiträge: 1503


So,

nachdem ich mich ein wenig erkundigt habe, ist eindeutig entschieden das ich die Sache in PHP umsetze, daher habe ich das Thread mal entsprechend verschoben <IMG SRC="/phpBB/images/smiles/icon_smile.gif">

Der erste Teil funktioniert schon.
---------------------------------------

<?php



// Hier müssen alle Formularfelder angegebenwerden, die überprüft werden sollen

if(!$vorname) $fehler[] = "vorname";
if(!$name) $fehler[] = "name";

###ect alle Pflichtfelder###

if(!count($fehler)) {

-----------------------------

Soweit so gut. Jetzt die Anweisung die ausgeführt werden soll wenn alle Felder ausgefüllt sind. Es soll eine Mail an mich geschickt werden, in der alle Angaben möglichst übersichtlich enthalten sind.

------------------------------
mail("support@i-net4you.de","Titel der Mail","
",
"From: $vorname $name <$mail>,

$vorname
$name
###ect der Rest aller Felder###

");
echo "<html><body>Vielen Dank für die Anfrage</body></html>";

}
else {

//Das wird ausgefüllt, wenn Felder nicht ausgefüllt waren

echo" Sie haben ein Feld vergessen auszufuellen, <br>
bitte fuellen Sie alle Pflichfelder aus damit wir <br>
Ihre Anfrage ausfuehren koennen.<br>


}

?>
--------------------------------------

Soweit funktioniert alles... ABER...
Ich möchte das ganze ja schön übersichtlich haben.
Das bedeutet ich möchte als Mailinhalt dann nicht bekommen:

Maria
Maier
Teststrasse
ect..

sondern ich hätte gerne:

Vorname: Maria
Nachname: Maier
Strasse: Teststrasse

ect..

Wenn ich für die Ausgabe aber :

name: $name
vorname: vorname

ect .. schreibe..
Dann sendet der mir nur noch die unteren 7-8 ausgefüllten Felder per Mail, die oberen Felder, in denen Name , Adresse, Mail und dergleichen steht, ignoriert er komplett.

Was mache ich falsch ?

Greets
Rieke

_________________
-=next generation of internet services=-
----------------------------------------
http://www.i-net4you.de

<font size=-1>[ Diese Nachricht wurde ge&auml;ndert von: Rieke am 2001-10-06 03:20 ]</font>

---
Blumenbeet

  Profil   E-Mail   Website   Editieren   Zitieren

michael
Foren-Team


Beiträge: 1933


@ elliot - nutze riekes lösung - die ist optimal!

@ rieke ein absatz in einer reinen text-mail wird mit n gekennzeichnet!


  Profil   Editieren   Zitieren

Rieke
Foren-Team


Beiträge: 1503


@Michael ...
das "/n"

name: $name /n
vorname: /n

....
...
Bewirkt aber nur das jetzt zwischen jeder
Angabe noch eine Leerzeile ist...
Ich bekomme immernoch keine Feldbezeichnung hin... Ich will doch nur das da nicht nur steht was der Ausfüllende eingibt sondern ich will auch wissen in welches Feld er das getippt hat, deshalb habe ich den Feldern ja auch Feldnamen oder value=feldname gegeben...
.. es hapert an der richtigen Ausgabe...
teilweise gehts ja .. aber nicht bei allen..
Greets
Rieke


---
Blumenbeet

  Profil   E-Mail   Website   Editieren   Zitieren

michael
Foren-Team


Beiträge: 1933


die e-mail muss im php-code als text-mail deklariert sein (content-type...)




  Profil   Editieren   Zitieren

subjective
Forenheld


Beiträge: 848


Die Deklaration als Text-Mail macht mail() automatisch.

@Rieke: Michael sagte n nicht /n. "Backslash n" ist innerhalb von doppelten Anführunszeichen ein Unix-Zeilenumbruch. Vor alle MS Outlook verkraftet nach meiner Erfahrung in Mails keine Windows-Zeilenumbrüche. Die Leerzeilen, kommen daher das du ja schon im Quellcode Umbrüche gemacht hast, die PHP auch übernimmt.

Der Fehler muss wo anders versteckt sein. Hast du vieleicht die Variable anders geschieben (Groß/Klein).

Auch kann man mit PHP nicht nur Prüfen ob ein Formularfeld mitgeschickt wurde, sondern auch, ob der Inhalt einem bestimmten Muster entspricht. Hier gibts ein Beispiel: http://www.phpbuch.de/aw_source/kap06.zip

Regards
Thomas

---
Weaverslave

  Profil   Website   Editieren   Zitieren

Rieke
Foren-Team


Beiträge: 1503


@ thanks <IMG SRC="/phpBB/images/smiles/icon_smile.gif">

Ich habe die mail als html Mail
declariert und die Ausgabe funktioniert
mittlerweile einfach traumhaft <IMG SRC="/phpBB/images/smiles/dance1.gif">

Viele Grüße
Rieke

@subjective das / war nur hier im Board ein Tippfehler von mir, bin immer zu sehr in Eile <IMG SRC="/phpBB/images/smiles/icon_smile.gif">


---
Blumenbeet

  Profil   E-Mail   Website   Editieren   Zitieren

michael
Foren-Team


Beiträge: 1933


tippfehler in php-codes... die tun mir meinem monitor, meiner tastatur und meinem umfeld gar nicht gut... ahhhhhh!!!!!!!!


  Profil   Editieren   Zitieren

ATooM
Quasselstrippe


Beiträge: 346


Man kann das aber auch einfacher machen.

if($vorname == "" || $nachname == "") {
print "Fehler! Bitte fuellen sie alle Felder aus";
}

---
Just Peace!

  Profil   E-Mail   Website   Editieren   Zitieren

michael
Foren-Team


Beiträge: 1933


oder so!


  Profil   Editieren   Zitieren
 

Antworten
Nach oben