Formular-Daten
Will Smith-The next Bond
- php
0 suit
Moin, ich will ein Formular erstellen in dem ein Name, eine E-mail-adresse, ein Textfeld und mehrere Radiobuttons sind. Ich hab noch nie mit PHP gearbeitet, soll heißen ich weiß nicht wie man aus dem hier:
<HTML>
<HEAD>
<TITLE>Kontaktformular in PHP</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<style>
<!--
body {
SCROLLBAR-FACE-COLOR: #666666; SCROLLBAR-HIGHLIGHT-COLOR: #333333; SCROLLBAR-SHADOW-COLOR: #333333; SCROLLBAR-3DLIGHT-COLOR: #344556; SCROLLBAR-ARROW-COLOR: #fefefe; SCROLLBAR-TRACK-COLOR: #000011; SCROLLBAR-DARKSHADOW-COLOR: #333333;
}
input, textarea, select {
border: 2px solid #333333;
background: #FFFFFF;
font: bold 11px Verdana, Arial, Helvetica, sans-serif;
color: #000000;
}
td {
font: bold 14px Verdana, Arial, Helvetica, sans-serif;
color: #000000;
}
//-->
</style>
</HEAD>
<BODY BGCOLOR=#FFFFFF>
<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0>
<TR>
<td align="center">
<font size="6">Kontakt</font>
</td>
<tr>
<td>
<?php
function check_email($email) //Emailadresse prüfen (Keine Umlaute etc.)
{
if( !preg_match("/[1]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,4}|museum$/i", $email) ) return true;
return false;
}
// Allgemeine Variablen
$name_tag[0] = "Sonntag";
$name_tag[1] = "Montag";
$name_tag[2] = "Dienstag";
$name_tag[3] = "Mittwoch";
$name_tag[4] = "Donnerstag";
$name_tag[5] = "Freitag";
$name_tag[6] = "Samstag";
$num_tag = date( "w");
$day = $name_tag[$num_tag];
$year = date("Y");
$day_num = date("d");
$month = date("m");
$time = (date("H:i"));
$empfaenger = "meine@email.de"; //Die eigene emailadresse
$subject01 = "Mein Kontaktformular wurde ausgefüllt"; //Der Betreff der Email
$subject02 = "Danke das Sie das Kontaktformular ausgefüllt haben"; //Betreff der Bestätigungsmail
if ($flag==1) //Wenn das Fromular ausgefüllt wurde.
{
//Die Eingaben prüfen
if(!$namer){$fehler="Bitte Namen eingeben<br>";}
if(!$vorname){$fehler.="Bitte Vornamen eingeben<br>";}
if(check_email($email) & $email!="") {$fehler.="Emailadresse ist ungültig<br>";}
if(!$email) {$fehler.="Bitte die Emailadresse eingeben<br>";}
if(!$text) {$fehler.="Bitte eine Nachricht eingeben<br>";}
if($fehler) //Bei Fehlern, Meldung ausgeben
{
$meldung="<b>" .$fehler. "</b>";
unset($flag);
echo "<font color='red'>Es sind folgede Fehler aufgetreten: <br> " .$meldung. "</font>";
}
else //Wenn es keine Fehler gibt kann ja gemailt werden.
{
//Der Body für die Mail
$body01 = "Nachricht gesendet am $day, $day_num.$month.$year um $time:
----------------------------------------------------------------
Vorname : $vorname
Name : $namer
eMail : $email
----------------------------------------------------------------
Nachricht:
$text";
//Body für die Bestätigungsmail
$body02 = "Am $day, $day_num.$month.$year um $time haben wir folgende Nachricht von Ihnen erhalten:
-----------------------------------------------------------------------------------
Name : $namer
Vorname : $vorname
eMail : $email
-----------------------------------------------------------------------------------
Nachricht:
$text
-----------------------------------------------------------------------------------
Ihre Mail wird so schnell wie möglich bearbeitet.
Bei Fragen schreiben Sie an: mailto:$empfaenger";
//Nun kann gemailt werden
//Erst die Mail an den Webmaster
mail ($empfaenger, $subject01, $body01, "From:$email");
//Dann die Bestätigungsmail
mail ($email, $subject02, $body02, "From:$email");
echo "Die Mail wurde gesendet.";
}
}
if(!$flag) //Formular noch nicht abgesendet
{
?>
<form action='<? echo $PHP_SELF; ?>' method='post' enctype='multipart/form-data' name='form' id="form">
<input type="hidden" name="flag" id="flag" value=1>
<p align="center">Bitte füllen Sie alles aus<br></p>
<div align="center">
<center>
<table border="1" cellpadding="0" cellspacing="0" bordercolor="#000000" style="border-collapse: collapse">
<tr><td>
<table border="0" cellpadding="4">
<tr>
<td>Name:</td>
<td>
<input name="namer" type="text" id="namer" size="30" value='<?php echo $namer; ?>'>
</td>
</tr>
<tr>
<td>Vorname:</td>
<td>
<input name="vorname" type="text" id="vorname" size="30" value='<?php echo $vorname; ?>'>
</td>
</tr>
<tr>
<td>Emailadresse:</td>
<td>
<input name="email" type="text" id="email" size="30" value='<?php echo $email; ?>'>
</td>
</tr>
<tr>
<td valign="top" class="textb">Nachricht:</td>
<td>
<textarea name="text" id="text" cols="50" rows="5"><?php echo $text; ?></textarea>
</td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="Submit" value="Abschicken">
</td>
</tr>
</table>
</td></tr>
</table>
</center>
</div>
</form>
<?php
}
?>
</TD>
</TR>
</TABLE>
</BODY>
</HTML>
das macht was ich haben will.
Kann mir da einer helfen?
Grüße aus Spanien
Smith, Will Smith
_.0-9a-z- ↩︎
Kann mir da einer helfen?
guter rat:
1)
wirf alles weg was du hast und mache ein neues formular (in html) genau so wie du es haben willst und kümmere dich nicht um den abschickmechanismus
wenn das funktioniert, kümmere dich um die abschickroutine - damit das formular in eine datenbank gespeicher wird oder per mail an den richtigen empfänger geht (oder beides)
füge eine serverseitige (mit php) fehlerprüfung ein (nicht ausgefüllte fehler zb)
füge eine clientseite fehlerprüfung ein (optional)
wenn du bei einem der schritte schwierigkeiten hast, wird dir sicher weitergeholfen - aber dein fertiges script, welches du vermutlich kopiert hast (oder jemand geschrieben hat, der nicht an die zukunft gedacht hat) würde ich nicht umbauen, da lernst du nix dabei und zudem ist es zeitaufwändiger
Tach erstmal,
guter rat:
1)
wirf alles weg was du hast und mache ein neues formular (in html) genau
so wie du es haben willst und kümmere dich nicht um den
abschickmechanismus
Okay mach ich kein Problem mit HTML kenn ich mich ein wenig aus
wenn das funktioniert, kümmere dich um die abschickroutine -
damit das formular in eine datenbank gespeicher wird oder per mail an den
richtigen empfänger geht (oder beides)
füge eine serverseitige (mit php) fehlerprüfung ein (nicht ausgefüllte
fehler zb)
füge eine clientseite fehlerprüfung ein (optional)
Ist ja schön und gut (jetzt kommt genau das Wort das ich nicht leiden kann:) ABER: ich hab wie gesagt noch NIE mit PHP gearbeitet das heißt ich kann weder sowas (bezieht sich auf da oben) schreiben noch irgendwie dem HTML-Document klar machen das es sich danach richten soll. Ich bräuchte im Prinzip eine Anleitung nicht wie in SelfHTML sondern für genau das (bezieht sich wieder auf da oben) ohne alles andere. Für alles andere im Bereich PHP kann ich mir dann später noch zeit nehmen.
Mfg
Smith, Wil Smith
Okay mach ich kein Problem mit HTML kenn ich mich ein wenig aus
sorge vor allem für valides html ;)
Ich bräuchte im Prinzip eine Anleitung nicht wie in SelfHTML sondern für genau das (bezieht sich wieder auf da oben) ohne alles andere.
das hier (von Tom) ist zb sehr einfach gehalten - bzw extrem einfach
http://selfhtml.bitworks.de/affenformular/affenformular.php.txt
was du prinzipiell machen musst, ist das formular auf sich selbst abschicken und dann entsprechend der gesendeten variablen prüfen, was weiter passieren soll
erstelle einfach ein online-beispiel und wenns irgendwo hängt, frage konkret nach
funktionsbeschreibungen gibts übrigens auf php.net/funktionsname
Hi,
das hier (von Tom) ist zb sehr einfach gehalten - bzw extrem einfach
http://selfhtml.bitworks.de/affenformular/affenformular.php.txt
und leider wenig geeignet, sorry.
Ich habe kürzlich mal meinen einfachen Formmailer etwas erweitert.
freundliche Grüße
Ingo