WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.


Forum » PHP & MySQL » Pflichtfelder in Kontakt-Formular überprüfen! » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Pflichtfelder in Kontakt-Formular überprüfen!
von Jentsch_a
Hey scriptdesigner,

das ist mir schon klar, ich weiß nicht ob du mich richtig verstanden hast?

Also ich habe eine Kontakt.tpl Datei in der das Layout für das Kontakt-Formular steht die wird mit fopen geöffnet ( in einer PHP Datei ), so jetzt zum Punkt, mein Chef möchte ,das die Fehlermeldung unter jeder dazu gehörigen Input-Box steht.

Also so.:
Name: <input type="text" name="name">
"Fehlermeldung für Name"
Abteilung: <input type="text" name="abt">
"Fehlermeldung für Abteilung"

usw.

Wenn ich die Kontakt.tpl includen könnte wäre es kein Problem, aber es geht leider nicht ( aus Format technischen Grüden!).
von scriptdesigner
Ja, Du kannst eine Feldung ausgeben lassen oder du gibst das Formular direkt wieder aus. Wenn Du Fragen hast, kann ich Dir auch was schreiben .. schreibe mich dazu im ICQ.

Mike
von Jentsch_a
Hi Ihr beiden,

also erstmal zu Agent, ja ich Progge seit ich 4 bin angefangen hab ich mit meinem C64 mit Basic mit 10. habe ich mit Pascal weiter gemacht, dann mit 17. C und Visual Basic.

PHP ist ja auch gar nicht so schwer, da es C sehr ähnlich ist. Nur mein Chef ist es!
Die meisen PHP-Seiten, die ich im Web gesehen habe geben den Fehler am Anfang der Seite aus oder als Pop-up - auch schön - nur mein Chef sieht, das anders.



Nun zu Scriptdesigner stimmt ist nicht so schwer aber, dann wird die Fehlermeldung in einer neuen Seite ausgegeben oder nicht?

MfG

André
von scriptdesigner
Moin Leute ... will nun auch mal meinen Senf zum Thema abgeben ... Frage mich nur, wo hier das Problem ist??

Ich habe ein Formaular, wo jedes Feld einen bestimmten Namen hat .. soweit klar ...

Dann drücke ich auf Senden und die zweite Seite wird aufgerufen ...

In diese kommt ganz oben der Feldercheck ...

if (empty($kontaktname) || empty($kontaktmail))
{
echo"fehlermeldung";
exit;
}

wenn ich die beiden Felder nicht ausgefüllt habe, dann kommt der Fehler .. wenn ausgefüllt dann geht die Seite weiter und der inhalt kommt per Mail oder wird in die Datenbank eingetragen.

Seitenaufbau dann so ...

if($abschnitt==''){

Hier kommt dann das lustige Formular rein und den <form action=$SELF_PHP?abschnitt=ok> setzen

}

if($abschnitt=='ok'){

if (empty($kontaktname) || empty($kontaktmail))
{
echo"fehlermeldung";
exit;
}


Und hier dann die Aktion rein

}


So, das wars eigendlich ... cu aus Dresden Mike


von Agent

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!

Du proggst seit dem du vier Jahre alt bist????? Dann prog dir mal was was aus zwei eingegeben Daten den Unterschied in Jahren errechnet

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

PHP is nur wirklich nich schwer. Wenn man eine gewisse Vorkenntnis aufweisen kann, machts die sache noch einfacher.
Das mit dem Browser hättest du dir aber trotzdem sparen können.
Wenn ich Browserkompatibilitätsfragen bei Serverbasierten interpretern sehe, wird mir schlecht.. sorry.. nix für ungut... und angefangen hab ich auch mal

Mach´s gut.

Machs besser

cu
Agent


---
Wie soll ich wissen was ich denke, bevor ich höre was ich sage?
von Jentsch_a
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é
von Agent
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?
von Jentsch_a
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é
von Agent
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?
von Jentsch_a
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!
von Agent
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.

von Jentsch_a
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>
von Agent
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?
von Jentsch_a
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?

von Agent
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?
von Jentsch_a
sorry link wird nicht angezeigt!

onlineprint,

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

cu
André
von Jentsch_a
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é
von KeyLF
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:::..

von Agent
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?
von Jentsch_a
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!

Nach oben