Supportnet Computer
Planet of Tech

Supportnet / Forum / Webseiten/HTML

per E-mail senden





Frage

Halo ich möchte dieses Formolar per E-mail an mich senden lassen: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Test</title> </head> <body> <p>Vorname:<br /> <input name="vname" type="text" size="20" /> <br /></p></input> <p>Nachname: <br /> <input name="nname" size="20" maxlength="3" /> <br /> </input> Alter: <br /> <input name="alter" type="int" size="2" maxlength="25" <br> </input> </p> Geburtsdatum <br /> <input name="gebdat" type="date" /> <br /> </input> </b> Ort <br /> <input name="ort" size="20" maxlength="3" /> </input> </br> <br /> ICQ <br /> <input name="icq" type="date" /> <br /> </input> MSN <br /> <input name="msn" type="text" /> </input> <br /> <br /> <br /> Knuddels Nick <input name="Nick" type="text" /> </input> <br /> Liblingschannel <textarea name="LC"></textarea> </input> <br /> </p> <p>Durchsetzungsverm&ouml;gen </p> <form id="form1" name="form1" method="post" action=""> <label> <input type="radio" name="Ja" value="Durchsetzung" /> Ja ich habe Durchsetzungsverm&ouml;gen </label> <form id="form2" name="form2" method="post" action=""> <p></p> <label> <input type="radio" name="Nein" value="Durchsetzung" /> Nein</label> <p>ich hebe kein Durchsetzungsverm&ouml;gen </p> <p></p> <form id="form1" name="form1" method="post" action=""> <label> <input type="submit" name="Submit" value="Senden" /> </label> </form> <p></p> <p></p> </body> </html> am besten über mailto oder so Danke im Vorraus

Antwort 1 von rfb

Das ist kein HTML-Formular sondern Unsinn.

Wie Formulare wirklich aussehen kannst du hier erfahren: SelfHTML - Formulare

Lies dir das kapitel aufmerksam durch, gestalte entsprechend dein Formular (auch deine Frage wird dort beantwortet) und wenn dann noch Fragen sind weißt du ja wo du sie stellen kannst.

Antwort 2 von Yacc

mal abgesehen davon, dass ich rfb vollkommen zustimme(versuch mal das teil zu validieren *gg*), kannst du dir das formular natürlich über mailto zumailen lassen(<form action = "mailto:max.mustermann@example.org">...</form>). Dies setzt aber vorraus, dass der user ein mail-programm installiert hat, was aber nicht immer der fall ist. Aus diesem Grund ist es wahrscheinlich klüger, das ganze über ein php script zu mailen(falls dein hoster das unterstützt).
mfg Yacc

PS.: lies dir das mal durch http://de.selfhtml.org/html/formulare/

Antwort 3 von rfb

@Yacc:
mailto
hat und bereitet noch mehr Probleme. Aber das wird im angegebenen Link ja ausführlich erklärt. Genauso wie die sinnvollen Alternativen.

Auf einen derartig unsinnigen Quellcode auch nur mit einen kleinen Codeschnipsel zu antworten erachte ich als Fehler, da ich befürchte, dass kkkwww nun seinen Unsinn um deinen Codeschnipsel erweitert - mit dem sicheren Ergebnis, dass es damit auch nicht funktioniert.

PS: der von dir im PS angefügte Link ist identisch zu dem in meinem Posting.

Antwort 4 von Yacc

@rfb:
ich weiß, hab ich aber leider erst gemerkt, als ich auf absenden gedrückt hatte ;-)
@kkkwww:
wie wärs, wenn du dir selfhtml mal komplett durchliest?

mfg Yacc

Antwort 5 von Yacc

Hi @all

ich hab mal diesen code von kkkwww ein wenig überarbeitet
is jez zwar in html, weil ich xhtml net so gut kann, aber auf jeden fall besser als der alte ;)

@kkkwww: ich poste dir gleich mal ne php script zum versenden

mfg Yacc


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
     "http://www.w3.org/TR/html4/loose.dtd">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Pers&ouml;nliche Angaben</title>
</head>

<body style = "font-family: Arial; color: black; background-color: white; padding: 20px;">

<h1>Pers&ouml;nliche Angaben:</h1>

<hr>

<p><b>Vorname:</b><br>
<input name="vname" type="text" size="40"><br>
</p>


<p><b>Nachname: </b><br>
<input name="nname" type = "text" size = "40"><br>
</p>


<p><b>Alter: </b><br>
<input name="alter" type="text" size="40"><br>
</p>


<p><b>Geburtsdatum: </b><br>
<input name="gebdat" type="text" size="40"><br>
</p>


<p><b>Ort: </b><br>
<input name="ort" type = "text" size="40"><br>
</p>


<p><b>ICQ: </b><br>
<input name="icq" type="text" size="40"><br>
</p>


<p><b>MSN: </b><br>
<input name="msn" type="text" size="40"><br>
</p>


<p><b>Knuddels Nick:</b><br> 
<input name="Nick" type="text" size = "40"><br>
</p>


<p><b>Lieblingschannel:</b><br> 
<textarea name="LC" rows = "10" cols = "30"></textarea><br>
</p>


<p><b>Durchsetzungsverm&ouml;gen:</b><br>

<input type = "radio" name = "durchsetzung" value = "on">Jo, hab ich :-)
<br>
<input type = "radio" name = "durchsetzung" value = "off">N&ouml;, hab ich net :-(

</p>
<hr>
<br>

<input type="submit" name="Submit" value="Senden">
<p>
<a href="http://www.validome.org/referer">
<img style="border:none"
    src="http://www.validome.org/images/set3/valid_html_4_0_1.gif"
    alt="Valid HTML 4.01" width="80" height="15"></a>

</p>    
</body>
</html>



Antwort 6 von Yacc

So...

du muss noch im formular den form-tag einfügen, habsch vergessen ;) :

<form action = "[adresse des php-scripts]" method = "POST">... .. .. .. .. . .</form>

du musst es natürlich so einfügen, dass alle from elemente dadrin sind.

und hier ist das mail-script:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
     "http://www.w3.org/TR/html4/loose.dtd">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Pers&ouml;nliche Angaben</title>
</head>

<body style = "font-family: Arial; color: black; background-color: white; padding: 20px;">

<?php
///////////////////////////////////////////////////////////////////////////
//                                                                       //
//     PHP-Script zum versenden des Formulars                            //
//                                                                       //
///////////////////////////////////////////////////////////////////////////


//Schritt 1: Übergabe & Deklaration der Variablen

$vname = $HTTP_POST_VARS[´vname´];             //Vorname
$nname = $HTTP_POST_VARS[´nname´];             //Nachname
$alter = $HTTP_POST_VARS[´alter´];             //Alter
$gebdat = $HTTP_POST_VARS[´gebdat´];           //Geburtsdatum
$ort = $HTTP_POST_VARS[´ort´];                 //Ort
$icq = $HTTP_POST_VARS[´icq´];                 //ICQ
$msn = $HTTP_POST_VARS[´msn´];                 //MSN
$nick = $HTTP_POST_VARS[´Nick´];               //Knuddels Nick
$LC = $HTTP_POST_VARS[´LC´];                   //Lieblingschannel
$durchsetz = $HTTP_POST_VARS[´durchsetzung´];  //Durchsetzungsvermögen

$mail_addresse = "beispiel@example.com";       //Deine Addy


//Schritt 2: Variablen auf Inhalt prüfen

if(!$vname)
{
print("<b style = ´color: red;´>FEHLER: Du hast keinen Vornamen angegeben</b>");
exit;
}

if(!$nname)
{
print("<b style = ´color: red;´>FEHLER: Du hast keinen Nachnamen angegeben</b>");
exit;
}

if(!$alter)
{
print("<b style = ´color: red;´>FEHLER: Du hast kein Alter angegeben</b>");
exit;
}

if(!$gebdat)
{
print("<b style = ´color: red;´>FEHLER: Du hast kein Gebrtsdatum angegeben</b>");
exit;
}

if(!$ort)
{
print("<b style = ´color: red;´>FEHLER: Du hast keinen Wohnort angegeben</b>");
exit;
}

if(!$icq) //eventuell auskommentieren, da nicht alle ICQ haben
{
print("<b style = ´color: red;´>FEHLER: Du hast keine ICQ-Nummer angegeben</b>");
exit;
}

if(!$msn) //eventuell auskommentieren, da nicht alle MSN haben
{
print("<b style = ´color: red;´>FEHLER: Du hast keine MSN-Adresse angegeben</b>");
exit;
}

if(!$nick) //eventuell auskommentieren, da nicht alle Knuddels benutzen
{
print("<b style = ´color: red;´>FEHLER: Du hast keinen Knuddels-Nick angegeben</b>");
exit;
}

if(!$LC) //eventuell auskommentieren, da nicht alle einen Lieblingschannel haben
{
print("<b style = ´color: red;´>FEHLER: Du hast keine Lieblingschannel angegeben</b>");
exit;
}


//Schritt 3: Erstellen des EMail-Textes:

$body = "Ein Benutzer hat Daten auf [Adresse der Seite] Daten eingegeben!\n\n===";
$body .= "\n\nVorname:\n";
$body .= $vname;
$body .= "\n\nNachname:\n";
$body .= $nname;
$body .= "\n\nAlter:\n";
$body .= $alter;
$body .= "\n\nGeburtsdatum:\n";
$body .= $gebdat;
$body .= "\n\nOrt:\n";
$body .= $ort;
$body .= "\n\nICQ:\n";
$body .= $icq;
$body .= "\n\nMSN:\n";
$body .= $msn;
$body .= "\n\nKnuddels-Nick:\n";
$body .= $nick;
$body .= "\n\nLieblings-Channel:\n";
$body .= $LC;
$body .= "\n\nDUrchsetzungs-Vermögen:\n";
$body .= $durchsetz;


//Schritt 4: Versenden der Mail:

mail($mail_adresse, "Jemand hat persönliche Angaben angegeben", $body, "From:deine_addy@deine_hp.de")
or die("<b style = ´color: red;´>FEHLER BEIM VERSENDEN</b>");

print("<b style = ´color: green;´>VIELEN DANK F&Uuml;R DEINE AUSKUNFT!</b>");

?>

</body>

</html>


hoffe dir hilfts, mfg Yacc

PS.: @rfb: bei mir is die mail irgendwie noch nich angekommen, das prob scheint aber bei meinem hoster zu liegen, die syntax is doch richtig, oder?

Antwort 7 von rfb

@Yacc:
Dein Code ist genau so ein Unsinn wie das Original!

Und mit Sicherheit ist das HTML nicht valide, also entferne den Validome-Button bloß wieder.

Du solltest du dich zudem mal mit <label> sowie mit den verschiedenen Theorien zur semantischen Formulargestaltung (als tabellarische Daten oder verschiedene Listenarten) beschäftigen.

Antwort 8 von -Yacc-

Habs grad nochma validiert, und es is valide

die labels brauch er ja nich unbedingt

Antwort 9 von rfb

@Yacc:
Na immerhin hast du den größten Fehler selbst noch bemerkt.

Ansonsten: ich nehme dein PHP jetzt nicht auseinander - wenn der Fragesteller Lust hat sich damit zu beschäftigen kann er es ja tun. Sinnvoller allemal erscheint mir die Beschäftigung mit SelfHTML.

Antwort 10 von Yacc

ich bezweifle, dass er den thread überhaupt noch verfolgt

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: