• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

simples Formular mit JS

fjoerdman

New member
Hallo,

ich würde gerne auf meiner seite, ein formular mit Verbesserungsvorschlägen integrieren. Es soll nur der name, email und den Vorschlag enthalten. Ich brauche noch nicht einmal eine Prüfung der Feldinhalte - wenn´s jemand hat - bin ich natürlich nicht abgeneigt.
Ich hatte schon mal ein, dieses hatte sich jedoch über outlook versenden wollen. Ich würde ein emailprogramm geren außen vor lassen und die getippten Informationen via Datei an den Empfänger übermitteln lassen?!?

Kann mir jemand helfen?

Thanx Fjoerdman
 
das geht mit JavaScript nicht, nur mit einer Serverseitigen Sprache wie z.B. PHP. Dazu muss aber dein Server PHP unterstützen.
 
das tut er. ich habe aber leider noch keine erfahrung mit php gemacht. kannst du es mir posten, wie ich das machen muss?

Vielen dank für deine mühe

fjoerdman
 
Ich verschieb das erstmal ins Serverseitige Forum, da ist es besser augehoben und dann überleg ich mir was.
 
So, ich würde das so machen:

PHP:
<html>
<head>
<title>.afw - desgin & more</title>
</head>
<body>
<?php
if ($submit)
{
$empfaengeremail = "deinemail@provider.de"; //   ANPASSEN

$emailtext = "$name ($mail) hat folgendes zu meckern:

$meckertext";
$betreff = "meckermail";
mail("$empfaengeremail", "$betreff", "$emailtext","From: $absenderemail");

echo "danke.";
}
else{
?>
<form method="post" name="newlink" action="<?php echo "$PHP_SELF?"; ?>" enctype="multipart/form-data">

<table border=0 width=100% align="left">
<tr><td>Dein Name:</td></tr>
<tr><td align=left><input type="text" name="name" size="45" VALUE=""></td></tr>
<tr><td>Deine Emailadresse:</td><td></td></tr>
<tr><td align=left><input type="text" name="mail" size="45" VALUE=""></td></tr>
<tr><td>Deine Verbesserung:</td><td></td></tr>
<tr><td align=left><input type="text" name="meckertext" size="45" VALUE=""></td></tr>
<tr><td align=left><input type="submit" name="submit" value="und ab dafür"></td></tr>
</table>
</form>

<?php
}
?>
</body>
</html>

Das sollte gehen, aber ich es ist sehr gut möglich, dass man das besser machen könnte (bin auch noch PHP Newbie).
 
Zuletzt bearbeitet:
Haut noch nicht ganz hin, den in der vorschau sieht man dann folgende zeile über dem name:

" enctype="multipart/form-data">

Grüße Fjoerdman
 
Da war am Ende ein kleiner Fehler drin. Wenn Du das ganze jetzt abspeicherst (z.B. als mailer.php) dann geht's (habs grad getestet)
 
Also: Du kopierst den ganzen Code der da oben steht in deinen PHP editor (zur Not das M$ Notepad), trägst in dieser Zeile:

$empfaengeremail = "deinemail@provider.de"; // ANPASSEN

die Adresse ein, an die alle mail geschickt werden sollen. Dann speicherst Du das als "irgendwas.php" ab. Diese Datei kopierst Du dann auf deinen Webserver der PHP unterstützt und rufst Die mit


http://www.deinedomain.de/deinverzeichnis/irgendwas.php auf. Dann kommt da die weisse Seite mit dem Formular drin. Das füllste dann aus, drückst auf "und ab dafür" und schon wird die mail verschickt.

Das Design und so kannste dann auch noch an deine Seite anpassen (und den Tollen Titel der Seite ".afw - desgin & more" wegmachen. Aber ich würd erstmal drauf achten, dass Du's zum laufen bekommst. Einfach mit Doppelklick auf deinem eigenen PC wird es nicht laufen.
 
hallo,

hab´s grad hinbekommen. Super, vielen Dank.
Wie kann ich jetzt den ganzen code in eine bereits bestehende seite implementieren, so dass ich nicht extra eine spezielle seite aufrufen muss um zum formular zu kommen?

Fjoerdman
 
einfach diesen Code:
PHP:
<?php
if ($submit)
{
$empfaengeremail = "deinemail@provider.de"; //   ANPASSEN

$emailtext = "$name ($mail) hat folgendes zu meckern:

$meckertext";
$betreff = "meckermail";
mail("$empfaengeremail", "$betreff", "$emailtext","From: $absenderemail");

echo "danke.";
}
else{
?>
<form method="post" name="newlink" action="<?php echo "$PHP_SELF?"; ?>" enctype="multipart/form-data">

<table border=0 width=100% align="left">
<tr><td>Dein Name:</td></tr>
<tr><td align=left><input type="text" name="name" size="45" VALUE=""></td></tr>
<tr><td>Deine Emailadresse:</td><td></td></tr>
<tr><td align=left><input type="text" name="mail" size="45" VALUE=""></td></tr>
<tr><td>Deine Verbesserung:</td><td></td></tr>
<tr><td align=left><input type="text" name="meckertext" size="45" VALUE=""></td></tr>
<tr><td align=left><input type="submit" name="submit" value="und ab dafür"></td></tr>
</table>
</form>

<?php
}
?>

Da in den Quelltext schreiben, wo das Forumlar erscheinen soll. Dann das ganze statt als html file als php file abspeichern und fertig isses.
 
okay, hab´s hingebekommen. Wie muss ich den code jetzt noch ergänzen, dass der absender nicht auf einer weißen seite mit "danke" landet, nachdem erst submit gedrückt hat? Am besten wäre natürlich wieder die index.htm

ThanX Fjoerdman
 
nun nach dem Senden wird in dieser Zeile:

echo "danke.";

das Danke ausgegeben. Da ich den Code bei mir auf der Seite include ist alles was ich sonst noch brauch drumherum (gute Lösung) :)
Du könntest da jetzt deinen anderen Code reinschreiben (schlechte Lösung) oder einen redirect zu einer anderen Seite machen (mittelgute Lösung)

nen redirect kannste mit PHP einfach per

header ("Location: http://hier.deine.url.de");

machen. also das "header ...." statt dem "echo ..." das wars auch schon.
 
dann haste wahrscheinlich nach deiner Änderung den PHP Code nicht mehr geschlossen:

}
else{
?>


das muss auf JEDEN FALL stehen bleiben!
 
nö, ich habe am zuerst nur deinen geposteten code in meine seite kopiert und diese dann als php abgespeichert. daraufhin bekomme ich diesen fehler.
Das mit dem redirect habe ich da noch gar nicht gemacht.
 
Hallo,

kann mir keiner mehr helfen, ich habe immer noch den fehler dass code im klartext erscheint:
" enctype="multipart/form-data">

ich habe aber die klammer alle geschlossen, da ich den code ja nur kopiert habe.

Vielen Dank für eure hilfe
 
hallo,

ich wollte nun endlich mein formular fertig machen, habe aber momentan das problem, dass ich das echo danke gegen das
header ("Location: http://hier.deine.url.de");
ersetzt habe.
als ergebnis bekomme ich dann folgende meldung:

Warning: Cannot add header information - headers already sent by (output started at /home/www/xyz/html/feedback.php:15) in /home/www/xyz/html/feedback.php on line 55

auch würde ich gerne die input zeile von einer zeile auf mehrere erhöhen (also den eigentlichen feedback text).
Wie kann ich das machen?

ThnaX Fjoerdman
 
Für den Text mußt Du einfach ein

<textarea name="kommentar" cols="60" rows="10"> </textarea>

setzen. (Als Beispiel. Name wäre bei Dir "meckertext")

Mit cols und rows gibst Du die Größe (Spaltenbreite, Zeilenanzahl) an.

Was den header betrifft: diese Meldungen hatte ich auch schon, kann das so schlecht erklären ...
:confused: *überleg*

Meistens kommt diese Meldung dann, wenn noch irgendetwas davor steht, also beispielsweise ein anderer echo Befehl oder Leerzeichen im HTML Text. Z.B. kommt das auch dann, wenn zwischen Deinem html-Tag und dem Dokumenten-Anfang noch Leerzeichen sind. Dazu müßte man halt Deinen Code sehen, wo da evtl. etwas Falsches steht ...

Aber vielleicht kann Dir das ein anderer besser erklären, bin auch noch Newbie. ;)
 
Zurück
Oben