• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Abschicken von Formulareintrag an Email

Status
Für weitere Antworten geschlossen.

vivistar

Neues Mitglied
Hallo an alle!

Ich will mir ein Formular erstellen, wo es am Ende den obligatorischen "Senden" Button geben soll. Ein Formular zu erstellen soll nicht das Problem sein, aber wie zum Teufel funktioniert das mit dem "senden" ?

Es soll dieser komplette Eintrag meines Formulars an meine Emailadresse geleitet werden. Ich habe mal gelesen, daß sowas wohl auschließlich über meine Datenbank läuft und ich dies dem entsprechend eingeben muss in dem Quelltext. Aber ich habe keine Ahnung wie?! :(

Gibt es da ein Beispiel Quelltext, den mir jemand hier zeigen kann und anhand dessen ich sehen kann, was wo eingetragen werden muss dafür? Habe durch die Suchfunktion nichts passendes dazu gefunden :(

Danke schonmal vorab! :grin:
 
Das funktioniert mit php. Wenn du nach php-formmailer suchst müsstest du fertige Scripte finden. Dazu muss dein Webspace php unterstützen. Du musst es also online testen.
 
Ist eigentlich gar nicht so schwer. Du fämgst die Formulardaten (GET- oder POST-Variablen) per PHP ab und versendest sie mit der Funktion mail().

MfG Icy
 
Also ich wühle mich da ja nun schon den ganzen Tag durch.

Irgdnwie muss da ja was bei "Aktion" rein. Scheinbar wohl eine Adresse von meinem Provider und dann was mit "cgi". Wie gesagt - stehe da zu 100% auf dem Schlauch :(

Der Code soll wohl so in der Art aussehen:

action='http://www.mein-provider.de/cgi'
method='post'
enctype='multipart/form-data'>

Kann das angehen? Funzt auf jeden Fall nicht bei mir :(



Nehmen wir mal ganz billig ein Testformular:

<form id="form1" name="form1" method="post" action="">
<p>
<label>
<input type="radio" name="Optionsschaltergruppe1" value="optionsschalter" id="Optionsschaltergruppe1_0" />
Test</label>
<br />
<label>
<input type="radio" name="Optionsschaltergruppe1" value="optionsschalter" id="Optionsschaltergruppe1_1" />
Test2</label>
<br />
<label>Test
<select name="select" id="select">
<option>Test1</option>
<option>Test2</option>
</select>
</label>
</p>
<p>
<label>
<input type="radio" name="radio" id="radio" value="radio" />
Test</label>
</p>
</form>


Wo kann ich da nun einen Button einfügen mit "senden" und was muss da stehen, damit er es auch sendet???

Hiillffe.....:(

@Icy - nett gemeint - verstehe ich leider nicht :(
 
Du musst eine seite zur Auswertung erstellen. z.B. auswertung.php
Die schreibst du als action in den form-tag.
Diese Seite erstellt du dann in einem editor. Sie kann z.B. so aussehen (In bezug auf dein Formular):
PHP:
//Zuerst holst du die Daten, die an diese Seite gesendet wurden
$option1=$_POST[Optionsschaltergruppe1];
$select=$_POST[select];
$radio=$_POST[radio];

//Jetzt das ganze zu einem Text zusammenfassen
$betreff='MeinFormmailerBetreff';
$text="Option1: $option1 /n
          Select: $select /n
          Radio: $radio";

//Jetzt brauchst du noch Absender und Empfänger
$absender='[email protected]';
$sendermail='[email protected]';
$absender='dein Name';

//jetzt das ganze abschicken
mail($empfaenger, $betreff, $text, "From: $absender <$sendermail>" );
 
Vielen Dank!

Frage dazu: Ich muss doch sicher bei jedem Formular, was ich jemals erstellen möchte, immer wieder auf's neue diesen PHP-Code anpassen. Heißt, ich muss wissen, wo dann und wieviel z.B von den "select" "option" oder auch "radio" Post Sachen hinmüssen oder? Das ändert sich ja schließlich von Formular zu Formular....oder?

Was hat es mit diesem "CGI-Programm" Sache auf sich? Hab da was gelesen von "Programm hochladen auf den Server" und das macht das dann schon^^...

Kann mir das jemand erklären und wäre das nicht einfacher? Oder ist das Quatsch und ich hab das falsch verstanden?

Weil es scheint mit ja echt suuuper kompliziert zu sein diese Sache mit dem Formular :(


PS: Ich möchte nochmal betonen - ich bin Anfänger! ;)
 
Zuletzt bearbeitet:
Von CGI hab ich keine Ahnung, sorry :(
Aber mit dem post ist das eigentlich ganz einfach.
Du gibst jedem "input" ja ein "name=" über diesen Namen kannst du die Variable wieder abrufen, dass heißt
PHP:
<input type="text" name="vivistar">
Was dort eingetragen wurde kannst du in dem auswertungsscript, dass du als action eingetragen hast aufrufen über
PHP:
$_POST[vivistar]
wenn dort also z.B "Hallo" eingetragen wurde, dann steht im $_POST[vivistar] "Hallo".
 
Was hat es mit diesem "CGI-Programm" Sache auf sich?
CGI bedeutet Common Gateway Interface und bezeichnet eine Schnittstelle zur Kommunikation des Servers mit einem externen Programm. Der Server übergibt per Environment-Variablen Daten an dieses Programm, das Programm liefert eine fertige HTML-Seite an den Server zurück, der diese dann an den Browser ausliefert.

So gesehen funktioniert CGI auch nicht viel anders als PHP. Über CGI wird jedoch ein externes Programm gestartet, bei PHP ist der Interpreter im Server integriert.

CGI lässt sich mit jedem Programm starten. Wichtig ist, dass es am Ende eine HTML-Seite auf STDOUT erzeugt. Meistens wird CGI im Zusammenhang mit Perl gesehen, aber man kann damit auch C(++)-Programme oder auch PHP-Scripts starten.

Hab da was gelesen von "Programm hochladen auf den Server" und das macht das dann schon
Ob Du nun ein PHP-Script hochlädst, oder ein Script, das per CGI ausgeführt wird, ist eigentlich unerheblich. Das ist beides gleich leicht. Wichtig sind halt die Voraussetzungen, die Dein Webspace bietet. Und was Dein Provider aus Sicherheitsgründen erlaubt. Nicht jeder wird erlauben, ein C++-Programm hochzuladen, was u.U. noch ganz andere Sachen machen kann, als nur HTML-Seiten zu erzeugen. Und CGI mit Perl kannst Du natürlich nur machen, wenn auf dem System ein Perl-Interpreter installiert und für Dich freigegeben ist.
Andererseits kannst Du PHP auch nur machen, wenn es installiert und für Dich freigegeben ist.

Weil es scheint mit ja echt suuuper kompliziert zu sein diese Sache mit dem Formular
HTML und CSS sind beides keine Programmiersprachen. Die können sowas wie Formulare auslesen nicht. Dazu musst Du programmieren, da führt kein Weg dran vorbei.

PS: Ich möchte nochmal betonen - ich bin Anfänger! ;)
Das ist nicht wirklich relevant, die Anforderungen an Anfänger sind hier genauso hoch wie an Experten :-)
Anfänger heißt nur, dass Du das noch lernen musst, und wenn Du es nicht lernen kannst oder willst, Du auf diese Möglichkeiten verzichten musst oder jemanden dafür bezahlen musst.

Das einfachste für Dich wäre wahrscheinlich wirklich, dass Du Dir einen Formmailer-Dienst suchst.

Es gibt noch eine Möglichkeit, Mailversand anzustoßen nur mit HTML, aber das ist nicht empfehlenswert, weil es oft genug nicht funktioniert und nicht benutzerfreundlich ist: JavaScript-FFQ / Mailto:-Formulare

Viel Erfolg,
-Efchen
 
PHP:
<input type="text" name="vivistar">
Was dort eingetragen wurde kannst du in dem auswertungsscript, dass du als action eingetragen hast aufrufen über
PHP:
$_POST[vivistar]
wenn dort also z.B "Hallo" eingetragen wurde, dann steht im $_POST[vivistar] "Hallo".

das ist soweit in ordnung, nur sollte man der richtigkeit halber die $_POST variable auch mit den quotes versehen. es sollte also richtig heissen:
PHP:
$_POST['vivistar']
warum ?
wer fremdscripte verwendet, könnte ein problem bekommen, wenn dort variablen definiert wurden.
PHP:
define("vivistar", "Hallo Welt.");
würde nach obigem beispiel ohne quotes ($_POST[vivistar]) nach dem $_POST wert
PHP:
$_POST['Hallo Welt']
suchen
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben