Home | Registrieren | Einloggen | Suchen | Aktuelles


Forum » PHP & MySQL » Pflichtfelder in Kontakt-Formular überprüfen! Antworten
Pflichtfelder in Kontakt-Formular überprüfen!

Jentsch_a
Otto-Normal-Poster


Beiträge: 79


Hallo alle zusammen,

ich habe ein PHP-Datei , das ein Kontakt-Formular [als *.tpl] einschließt [include(*.tpl)]. Die Felder (Vorname, Name, Plz, Ort, usw.) müßen ausgefüllt werden!

Nun zu meinem Problem, wo ist die Überprüfung am sinnvolsten und wie kann ich die Fehler-Meldung unter der Inputbox ausgeben?

Die PHP-Datei ist aufgeteilt in Sessions (1. Produkt-Mode, 2.Kontaktformular-Mode, 3. Save-Mode)

Um zahl reiche Tipps wäre ich sehr Dankbar.

MfG
Yankee

PS: Function muß unter NS4.7 laufen!

---
MfG

André

  Profil   E-Mail   Website   Editieren   Zitieren

Agent
Quasselstrippe


Beiträge: 312


Hi

Nun zu meinem Problem, wo ist die Überprüfung am sinnvolsten und wie kann ich die Fehler-Meldung unter der Inputbox ausgeben?

öhm... du rufst du datei wieder selbst auf? Dann brauchst du doch nur prüfen:
1) ist irgendein feld leer -> wenn ja -> formular nochmal anzeige
2) bei jedem feld ob leer -> wenn ja -> hinschreiben das das ausgefüllt werden muss
3) wenn alles roger -> dann verarbeiten

Die PHP-Datei ist aufgeteilt in Sessions (1. Produkt-Mode, 2.Kontaktformular-Mode, 3. Save-Mode)

Klingt für mich nach Selbstaufruf (also form action)

PS: Function muß unter NS4.7 laufen!

Auf Kommentare das ein SERVER-basiertes script unter einem gewissen Browser laufen muss, gehe ich prinzipiell nich ein. sorry. Ich hoffe du weisst warum...

cu
Agent

P.S.: Man kann sowas natürlich auch per Javascript prüfen (da würd ich mal im anderen Forum fragen )


---
Wie soll ich wissen was ich denke, bevor ich höre was ich sage?

  Profil   Website   Editieren   Zitieren

KeyLF
Forenheld


Beiträge: 872


Leuddde!

Machts doch nicht so komliziert:

geh mal auf http://www.keylf.de und lad die mal den x4 runter und schau dir mal den Code an...das ist glaub einfacher!

Und ein einfaches Echo in einer Zelle wird wohl jeder Browser packen?!

MFG

KeyLF

_________________
....................www.trancentral.net...................
..:::KeyLF:::..| ICQ: 100538749 |..:::KeyLF:::..


  Profil   Editieren   Zitieren

Jentsch_a
Otto-Normal-Poster


Beiträge: 79


Hallo Ihr beiden,

schaut euch doch mal die Seiten an.



Drucksachen
Produkte
usw.

sämtliche Layouts stehen in *.tpl Datei, sonst wäre es ja kein Problem!

cu
André


---
MfG

André

  Profil   E-Mail   Website   Editieren   Zitieren

Jentsch_a
Otto-Normal-Poster


Beiträge: 79


sorry link wird nicht angezeigt!

onlineprint,

falls der Link wieder nicht funzt http://www.onlieprintportal.de!

cu
André

---
MfG

André

  Profil   E-Mail   Website   Editieren   Zitieren

Agent
Quasselstrippe


Beiträge: 312


ja, die seite wo das formular drin aufgerufen wird ruft sich wieder selber auf.
<form action="kontakt.php">

ich weiss nicht wo dein problem ist, das so zu machen wie ich das oben angedeutet habe. Das das tpl Dateien sind halte ich für ziemlich irrelevant. Musst die halt die stelle suchen die aufgerufen wird wenn das form abgeschickt wird, und an der stelle einhaken und erstma gucken ob alle felder inhalt haben. etc.

Ich kenne das scripts von KeyLF nich, aber auch das lässt sich mit an sicherheit grenzender wahrscheinlichkeit, irgendwie verwenden.

Wenns nich hilft: genauere Code-Schnipsel, please. Ich seh ja nich wie die seiten zusammengebaut sind.

Und @KeyLF: fängst du jetzt auch bei PHP mit Browserkompatibilitäten an?? Bitte nich...

Agent


---
Wie soll ich wissen was ich denke, bevor ich höre was ich sage?

  Profil   Website   Editieren   Zitieren

Jentsch_a
Otto-Normal-Poster


Beiträge: 79


Das habe ich verstanden, also Formular übermittel und überprüfen, wenn alles OK dann abspeichern, wenn nicht Fehler ausgeben!

Das Funktioniert ja auch, nur entweder ich habe eine neue Seite mit der Fehlermeldung oder die Fehlermeldung steht über dem Formular, soweit bin ich jetzt schon.

Nur mein Chef möchte z.B. die Fehlermeldungen für z.B den Vornamen unter der Input type=text name=Vorname usw.
und dazu muß ich doch denn Inhalt der TPL-Datei änder, oder?



---
MfG

André

  Profil   E-Mail   Website   Editieren   Zitieren

Agent
Quasselstrippe


Beiträge: 312


das kann ich dir nur sagen wenn ich die Datei sehe.

Du musst an die Datei wo das Formular drin ist.

Agent


---
Wie soll ich wissen was ich denke, bevor ich höre was ich sage?

  Profil   Website   Editieren   Zitieren

Jentsch_a
Otto-Normal-Poster


Beiträge: 79


Hier der Code vom Kontaktformular:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>ONLINEPRINT PORTAL</title>
<meta name="publisher" CONTENT="ContiScript, http://www.contiscript.de">
<meta name="copyright" CONTENT="Copyright - Continental AG">
<meta name="description" content="">
<meta name="audience" CONTENT="Alle">
<meta name="keywords" content="">
<meta name="expires" CONTENT="NEVER">
<meta name="robots" content="index, follow">
<meta name="revisit-after" CONTENT="30 days">
<meta name="Content-Language" CONTENT="de">
<style type="text/css">
</style>
<link rel="stylesheet" href="style_drucksachen.css" type="text/css">
</head>
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" link="#000000" vlink="#000000" alink="#000000">
<form name="FormKontakt" method="post" action="{PHP_SELF}">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top"><span class="headline">
<input type="hidden" name="action" value="senden">
<br>
Qualit&auml;t, die beeindruckt!</span></td>
<td><img src="images/0.gif" width="1" height="62"></td>
</tr>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="750">
<tr bgcolor="#000000">
<td bgcolor="#000000" width="30"><font size="2"><b><img src="images/nav_pfeil.gif" width="23" height="23"></b></font></td>
<td width="720" class="headlinetabelle">Kontaktinformation</td>
</tr>
</table>
<table width="750" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><img src="images/0.gif" width="1" height="2"></td>
</tr>
</table>
<table width="750" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="right">
<table border="0" cellspacing="0" cellpadding="0" bgcolor="#F2F2F2">
<tr>
<td align="center" width="130" {NavAktivProdukte} bgcolor="BCBCBC"><a href="start_produkte.html" class="linkstyle">Produkte</a></td>
<td align="center" bgcolor="#868686"><img src="images/0.gif" width="1" height="18"></td>
<td align="center" width="130" {NavAktivDigital}><a href="start_digitaldruck.html" class="linkstyle">Digitaldruck</a></td>
<td align="center" bgcolor="#868686"><img src="images/0.gif" width="1" height="18"></td>
<td align="center" width="130" {NavAktivOffset}><a href="start_offset.html" class="linkstyle">Offsetdruck</a></td>
<td align="center" bgcolor="#868686"><img src="images/0.gif" width="1" height="18"></td>
<td align="center" width="130" {NavAktivKopie}><a href="start_kopie.php" class="linkstyle">Kopien</a></td>
</tr>
</table>
</td>
</tr>
</table>
<table width="750" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><img src="images/0.gif" width="1" height="2"></td>
</tr>
</table>
<table width="750" border="0" cellspacing="0" cellpadding="0" bgcolor="#F2F2F2">
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center" width="50" bgcolor="#FFFFFF">&nbsp;</td>
<td align="center" width="130" background="images/nav_register{NavAktivFolder}.gif"><a href="prod_folder.php" class="linkstyle">Folder</a></td>
<td align="center" bgcolor="#FFFFFF"><img src="images/0.gif" width="1" height="15"></td>
<td align="center" width="130" background="images/nav_register{NavAktivHandzettel}.gif"><a href="prod_handzettel.php" class="linkstyle">Handzettel</a></td>
<td align="center" bgcolor="#868686"><img src="images/0.gif" width="1" height="15"></td>
<td align="center" width="130" background="images/nav_register{NavAktivPlakate}.gif"><a href="prod_plakate.php" class="linkstyle">Plakate</a></td>
<td align="center" bgcolor="#868686"><img src="images/0.gif" width="1" height="15"></td>
<td align="center" width="130" background="images/nav_register{NavAktivVisitenkarten}.gif"><a href="prod_visitenkarten.php" class="linkstyle">Visitenkarten</a></td>
<td align="center" bgcolor="#868686"><img src="images/0.gif" width="1" height="15"></td>
<td align="center" width="130" background="images/nav_register{NavAktivPreislisten}.gif"><a href="prod_preislisten.php" class="linkstyle">Preislisten</a></td>
<td align="center" bgcolor="#868686"><img src="images/0.gif" width="1" height="15"></td>
</tr>
</table>
</td>
</tr>
</table>
<table width="750" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><img src="images/0.gif" width="1" height="2"></td>
</tr>
</table>
<table width="750" border="0" cellspacing="0" cellpadding="0" bgcolor="#F2F2F2">
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center" width="40" bgcolor="#FFFFFF">&nbsp;</td>
<td align="center" width="130" bgcolor="#FFFFFF" background="images/nav_register{NavAktivFlyer}.gif"><a href="prod_flyer.php" class="linkstyle">Flyer</a></td>
<td align="center" bgcolor="#868686"><img src="images/0.gif" width="1" height="15"></td>
<td align="center" width="130" background="images/nav_register{NavAktivBrosch}.gif"><a href="prod_brosch.php" class="linkstyle">Brosch&uuml;ren</a></td>
<td align="center" bgcolor="#868686"><img src="images/0.gif" width="1" height="15"></td>
<td align="center" width="130" background="images/nav_register{NavAktivAufkleber}.gif"><a href="prod_aufkleber.php" class="linkstyle">Aufkleber</a></td>
<td align="center" bgcolor="#868686"><img src="images/0.gif" width="1" height="15"></td>
<td align="center" width="130" background="images/nav_register{NavAktivBrief}.gif"><a href="prod_briefbogen.php" class="linkstyle">Briefbogen</a></td>
<td align="center" bgcolor="#868686"><img src="images/0.gif" width="1" height="15"></td>
<td align="center" width="130" background="images/nav_register{NavAktivOh}.gif"><a href="prod_ohfolien.php" class="linkstyle">Overheadfolien</a></td>
<td align="center" bgcolor="#868686"><img src="images/0.gif" width="1" height="15"></td>
</tr>
</table>
</td>
</tr>
</table>
<table width="750" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><img src="images/0.gif" width="1" height="2"></td>
</tr>
</table>
<table width="750" border="0" cellspacing="0" cellpadding="0" bgcolor="#F2F2F2">
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center" width="30" bgcolor="#FFFFFF">&nbsp;</td>
<td align="center" width="130" background="images/nav_register{NavAktivDatenblaetter}.gif"><a href="prod_datenblaetter.php" class="linkstyle">Produkt-/Datenbl&auml;tter</a></td>
<td align="center" bgcolor="#868686"><img src="images/0.gif" width="1" height="15"></td>
<td align="center" width="130" background="images/nav_register{NavAktivPostkarten}.gif"><a href="prod_postkarten.php" class="linkstyle">Postkarten</a></td>
<td align="center" bgcolor="#868686"><img src="images/0.gif" width="1" height="15"></td>
</tr>
</table>
</td>
</tr>
</table>
<table width="750" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><img src="images/0.gif" width="1" height="2"></td>
</tr>
</table>
<table width="750" border="0" cellspacing="0" cellpadding="1" bgcolor="#BCBCBC">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="6" bgcolor="#F2F2F2">
<tr>
<td width="91" class="text">Firma</td>
<td colspan="4" >
<input type="text" name="Firma" size="35" maxlength="50" value="{Firma}">
</td>
</tr>
<tr>
<td width="91" class="text">Ansprechpartner</td>
<td colspan="4" >
<table border="0" cellspacing="0" cellpadding="3">
<tr>
<td>
<input type="radio" name="Ansprechpartner" value="Frau"{Ansprechpartner_Frau} class="radiograu" checked>
</td>
<td class="text">Frau</td>
<td>
<input type="radio" name="Ansprechpartner" value="Herr"{Ansprechpartner_Herr} class="radiograu">
</td>
<td class="text">Herr</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="91" class="text">Vorname</td>
<td class="text" colspan="4">
<input type="text" name="Vorname" size="35" maxlength="50" value="{Vorname}">
</td>
</tr>
<tr>
<td width="91" class="text">Name</td>
<td class="text" colspan="4">
<input type="text" name="Name" size="35" maxlength="50" value="{Name}">
</td>
</tr>
<tr>
<td width="91" class="text">Abteilung</td>
<td class="text" colspan="4">
<input type="text" name="Abteilung" size="35" maxlength="30" value="{Abteilung}">
</td>
</tr>
<tr>
<td width="91" class="text">Stra&szlig;e</td>
<td colspan="4">
<input type="text" name="Strasse" size="35" maxlength="30" value="{Strasse}">
</td>
</tr>
<tr>
<td width="91" class="text">Postleitzahl</td>
<td colspan="4">
<input type="text" name="Plz" size="35" maxlength="5" value="{PLZ}">
</td>
</tr>
<tr>
<td width="91" class="text">Ort</td>
<td width="185">
<input type="text" name="Ort" size="35" maxlength="30" value="{Ort}">
</td>
<td width="115" class="text">
<input type="radio" name="AngebotOrt" value="Per Post"{AngebotOrt_Per Post} class="radiograu">
<span class="text">Per Post</span></td>
<td rowspan="4" width="17">
<div align="right"><img src="../images/icon_ausruf.gif" width="17" height="17" align="absmiddle">
</div>
</td>
<td rowspan="4" class="textfett" width="302" valign="middle">Bitte
w&auml;hlen Sie, wie Sie Ihr pers&ouml;nliches Angebot erhalten
m&ouml;chten</td>
</tr>
<tr>
<td width="91" class="text">Telefon</td>
<td width="185">
<input type="text" name="Telefon" size="35" maxlength="30" value="{Telefon}">
</td>
<td width="115" class="text">
<input type="radio" name="AngebotOrt" value="Per Telefon"{AngebotOrt_Per Telefon} class="radiograu">
Per Telefon</td>
</tr>
<tr>
<td width="91" class="text">Fax</td>
<td width="185">
<input type="text" name="Fax" size="35" maxlength="30" value="{Fax}">
</td>
<td width="115" class="text">
<input type="radio" name="AngebotOrt" value="Per Fax"{AngebotOrt_Per Fax} class="radiograu">
Per Fax</td>
</tr>
<tr>
<td width="91" class="text" valign="middle" align="left">E-Mail<span class="textklein">
</span></td>
<td width="185">
<input type="text" name="Email" size="35" maxlength="50" value="{Email}">
</td>
<td width="115" class="text" valign="middle">
<input type="radio" name="AngebotOrt" value="Per EMail"{AngebotOrt_Per EMail} class="radiograu" checked>
Per E-Mail</td>
</tr>
</table>
</td>
</tr>
</table>
<table width="750" border="0" cellspacing="0" cellpadding="1" bgcolor="#FF9900">
</table>
<br>
<table width="750" border="0" cellspacing="0" cellpadding="0">
<tr align="center">
<td width="375">&nbsp; </td>
<td width="375" align="right">
<input type="image" value ="Anfragen" name="save" src="images/icon_anfragen.gif" border="0" width="100" height="24" alt="Anfragen">
{hidden_fields} </td>
</tr>
</table>
</form>
<p>&nbsp;</p>
</body>
</html>

---
MfG

André

  Profil   E-Mail   Website   Editieren   Zitieren

Agent
Quasselstrippe


Beiträge: 312


1.) nich komplette ellenlange texte posten
2.) was passiert denn im moment, wenn das aufgerufen wird?
3.) Das ist schon kontakt.php, oder? (ich denke ja)
_________________
--
I dont like signatures.



---
Wie soll ich wissen was ich denke, bevor ich höre was ich sage?

  Profil   Website   Editieren   Zitieren

Jentsch_a
Otto-Normal-Poster


Beiträge: 79


Nein, das ist die Kontakt.TPL und wenn der Anfragen-button gedrückt wird dieser Teil der PHP-Datei ausgeführt:

if ($mode == "save")
{
// Prüfung der Angaben nach dem Senden
include("x4.inc");
if(!$Vorname) $fehler[] = "Ihr Vorname fehlt.";
if(!$Name) $fehler[] = "Ihr Name fehlt.";
if(!$Strasse) $fehler[] = "Ihre Straße fehlt";
if(!$Plz) $fehler[] = "Ihre PLZ fehlt";
if(!$Ort) $fehler[] = "Ihre Ortsangabe fehlt";
if(!$Telefon) $fehler[] = "Ihre Telefonnummer fehlt";
if(!$Email) $fehler[] = "Ihre Emailadresse fehlt";

if(!count($fehler)) { // Sendet Email, wenn Prüfung "ok"
include($save_script); // hier werden die Eingaben schon in die DB eingetragen.
} else { // Fehlerausgabe, wenn Felder leer waren

echo "<table width='750' border='0' cellspacing='0' cellpadding='0'><tr><td><div align='center'>";
echo "Um Ihre Anfrage bearbeiten zukönnen <br> benötigen wir noch folgende Daten:";
echo "<ul><b><li>".implode("<li>",$fehler);
echo "<br><a href='javascript: history.back();'>zurück</a>";
echo "<b></ul></div></td></tr></table>";
}

Aber so erhalte ich halt eine neue Seite!

---
MfG

André

  Profil   E-Mail   Website   Editieren   Zitieren

Agent
Quasselstrippe


Beiträge: 312


also ich kann dir nur halb folgen...

kontakt.php wird aber als form action aufgerufen. Da muss das kontrolliert werden. Dann solltest du auch noch immer auf der gleichen seite sein.

oder läuft hier irgendwas an mir vorbei?

erklär mal genauer was da wen wo aufruft und includet wird.


---
Wie soll ich wissen was ich denke, bevor ich höre was ich sage?

  Profil   Website   Editieren   Zitieren

Jentsch_a
Otto-Normal-Poster


Beiträge: 79


Sorry aber ich habe greade erfahren, das der Grundaufbau von einem externen PHP-Spezi entworfen worden ist und keiner meiner Kollegen so ein Spezi ist um den Quellcode richtig zu interprtieren!

Ich muß leider auch gerade meinen Freischwimmer machen, da keiner mir eine Ordentliche Schulung bezahlen will!

Ich hatte gedach, das es nicht so schwer sein kann, aber dann werde ich mich mal mit unserem PHP-Spezi auseinandersetzen.

Vielen Dank, es war trozdem sehr hilfreich, denn das kann ich bestimmt bei meinen eigenen Seiten anwenden!

cu
André

---
MfG

André

  Profil   E-Mail   Website   Editieren   Zitieren

Agent
Quasselstrippe


Beiträge: 312


wenn der spezi der das gemacht wirklich gut war, hat er ne doku dazu geschrieben, bzw. in den dateien viel kommentiert....

Das sieht mir erhlich gesagt auch nach einerm vorhandenen Templatesystem aus, was nur auf eure optik zugeschnitten wurde...

Soooo schwer wird das auch nich sein.... aber das das für einen Anfänger zu viel ist verstehe ich gut.

Naja, beim nächsten mal

cu
Agent


---
Wie soll ich wissen was ich denke, bevor ich höre was ich sage?

  Profil   Website   Editieren   Zitieren

Jentsch_a
Otto-Normal-Poster


Beiträge: 79


Du hast recht, ich progge zwar schon seit ich seit 1984, aber halt mit Basic,Pascal, und Co. .
Bin jetzt 22 Jahre und kann mit Bestimmtheit sagen, dass er wirklich dreckig Programmiert!

Na gut, dann werde ich Versuchen es so schnell wie möglich zu lernen!

Mach´s gut.

cu
André

---
MfG

André

  Profil   E-Mail   Website   Editieren   Zitieren
Seite 1 | 2  

Antworten
Nach oben