PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Formularinhalt mailen


BeneBaur
29.03.2003, 12:26:04
Hallo,

ich habe mir ein FOrmular gebaut mit folgenden feldern:

Name
Telefon
Mail
Betreff
Nachricht
Senden(Button)

Jetzt möchte ich das der Benutzer alle Felder ausfüllt und ich dann eine Mail bekomme mit dem am besten schon ordentlich formatierten Feldinhalten.
Ich denke am besten kann man das in PHP realisieren oder?

Ich währe euch sehr dankbar wenn ihr mir mal ein kleines Script dazu schreiben würdet.

|Coding
29.03.2003, 12:34:43
hi,

das was du suchst ist die mail funktion (http://www.selfphp.com/funktionsreferenz/mail_funktionen/mail.php), hier kannst du dich über sie informieren: click (http://www.selfphp.com/funktionsreferenz/mail_funktionen/mail.php)

BeneBaur
29.03.2003, 12:40:05
Das ist aber nicht das was ich will, ich möchte ja das die Mail an eine feste Mail ADDY geschrieben wird und nicht eingegeben werden soll.

Ich bin noch ein ziehmlicher NEWBIE, es währe super wenn du mir ein script für mein Problem schreiben würdest

|Coding
29.03.2003, 12:43:48
es ist genau das was du willst ;-)

Original geschrieben von BeneBaur
Ich bin noch ein ziehmlicher NEWBIE, es währe super wenn du mir ein script für mein Problem schreiben würdest

hmm, das ist ja eigentlich nicht sinn und zweck des forums... selbst ist der mann/die frau.

ich bin ja mal nicht so, ich habe gerade etwas freiraum, da kann ich dir das schreiben. ich melde mich gleich wieder mit dem script.

BeneBaur
29.03.2003, 12:45:23
Vielen Dank!
Mann muss ja auch NEWBIEs unterstützen!

|Coding
29.03.2003, 13:47:21
sorry, das es was gedauert hat, ich hab noch eben gegessen :-)


<?
//dein name
$name = 'lila laune bär';
//deine e-mail
$email = 'ich@wir.de';
//absender (kann man faken, muss also nicht stimmen)
$from_name = 'dein homepage-mailer';
//absender name (kann man faken, muss also nicht stimmen)
$from_mail = 'mein-mailer@meine-homepage.de';

if(!isset($_POST['send'])){ ?>
<form action="<?= $_SERVER['PHP_SELF']; ?>" method="post">
dein name: <input type="text" name="name"><br>
deine tel: <input type="text" name="tel"><br>
deine email:<input type="text" name="mail"><br>
der betreff:<input type="text" name="subj"><br>
deine nachticht:<br>
<textarea name="msg"></textarea><br>
<input type="submit" name="send" value="Senden">
</form>
<? }else{
$to = $name.'<'.$email.'>';

// email body, den musst du noch formatieren.
$body = 'Die Daten!<br><br>
Name: '.$_POST['name'].'<br>
Telefon: '.$_POST['tel'].'<br>
Mail: '.$_POST['mail'].'<br>
Betreff: '.$_POST['subj'].'<br>
Nachricht: '.$_POST['msg'];
// email body ende

$header = 'From: '.$from_name.'<'.$from_mail.">n";
$header .= 'X-Mailer: PHP/'.phpversion()."n";
$header .= 'Content-Type: text/html';

if(mail($to, $_POST['subj'], $body, $header)) print 'email gesendet!';
else print 'ein fehler ist aufgetreten!!!';
} ?>


die formatierung von forumlar und email, wirst du auch selber schaffen, das ist ja nur html, darum habe ich das nicht gemacht :-)

viel spass

BeneBaur
29.03.2003, 15:10:41
Was meinst du mit der Variable $_Server, was muss ich dort eintragen?

|Coding
29.03.2003, 15:20:22
dort musst du nichts eintragen, das macht das script selber... dort wird vom script, der dateiname des scripts eingetragen.


wie kommst du denn daruf das du da was eintragen musst?

BeneBaur
29.03.2003, 15:56:25
Ich habe mir das Script angeguckt und geguckt was ich nicht nachvollziehen kann, da es nicht klappt.

Was habe ich denn falsch gemacht?


<?
//dein name
$name = 'Broedlseservice';
//deine e-mail
$email = 'mail@benebaur.de';
//absender (kann man faken, muss also nicht stimmen)
$from_name = 'Broedleservice.de';
//absender name (kann man faken, muss also nicht stimmen)
$from_mail = 'bestellung@broedleservice.de';

if(!isset($_POST['Senden'])){ ?>
<form action="<?= $_SERVER['localhost']; ?>" method="post">
Name:<br> <input type="text" name="Name"><br>
Telefon:<br> <input type="text" name="Telefon"><br>
E-mail:<br><input type="text" name="Mail"><br>
Betreff:<br><input type="text" name="Betreff"><br>
Nachticht:<br><br>
<textarea name="Nachricht"></textarea><br>
<input type="submit" name="send" value="Senden">
</form>
<? }else{
$to = $name.'<'.$email.'>';

// email body, den musst du noch formatieren.
$body = 'Die Daten!<br><br>
Name: '.$_POST['Name'].'<br>
Telefon: '.$_POST['Telefon'].'<br>
Mail: '.$_POST['Mail'].'<br>
Betreff: '.$_POST['Betreff'].'<br>
Nachricht: '.$_POST['Nachricht'];
// email body ende

$header = 'Wrom: LSZLKBRNVWWCUFPEGAUTFJMVRESKPNKMBI
$header .= 'X-Mailer: PHP/'.phpversion()."n";
$header .= 'Content-Type: text/html';

if(mail($to, $_POST['Betreff'], $body, $header)) print 'email gesendet!';
else print 'ein fehler ist aufgetreten!!!';
} ?>

|Coding
29.03.2003, 16:02:47
dein fehler liegt hier:


$header = 'Wrom: LSZLKBRNVWWCUFPEGAUTFJMVRESKPNKMBI

das muss so heißen:

$header = 'From: '.$from_name.'<'.$from_mail.">n";

was wolltest du denn mit "Wrom....." erreichen?

und was soll das schon wieder:


<?= $_SERVER['localhost']; ?>


das muss so aussehen (egal ob lokal oder online):


<?= $_SERVER['PHP_SELF']; ?>




das einzige was du an dem script ändern musst, sind die 4 obersten variablen, das design des formulars und die formatierung von der email.

BeneBaur
29.03.2003, 16:08:45
Ich habe garnicht wrom geschrieben im Script!!
K.a warum dass hier so angekommen ist!

Ich probier es jetzt nochmal!

|Coding
29.03.2003, 16:12:19
Original geschrieben von BeneBaur
Ich habe garnicht wrom geschrieben im Script!!
K.a warum dass hier so angekommen ist!

Ich probier es jetzt nochmal!

also ich glaube nicht so ganz, dass, das forum mal eben den code umschreibt... :-) so schlau ist es dann doch nit :-)

BeneBaur
29.03.2003, 16:13:42
Ja was weiß ich denn keine Ahnung vieleicht habe ich mich auch verschrieben.
Aufjedenfall wollte ich das so nicht.

BeneBaur
29.03.2003, 16:14:32
So geht es aber auch nicht:


<?
//dein name
$name = 'Broedlseservice';
//deine e-mail
$email = 'mail@benebaur.de';
//absender (kann man faken, muss also nicht stimmen)
$from_name = 'Broedleservice.de';
//absender name (kann man faken, muss also nicht stimmen)
$from_mail = 'bestellung@broedleservice.de';

if(!isset($_POST['Senden'])){ ?>
<form action="<?= $_SERVER['localhost']; ?>" method="post">
Name:<br> <input type="text" name="Name"><br>
Telefon:<br> <input type="text" name="Telefon"><br>
E-mail:<br><input type="text" name="Mail"><br>
Betreff:<br><input type="text" name="Betreff"><br>
Nachticht:<br><br>
<textarea name="Nachricht"></textarea><br>
<input type="submit" name="send" value="Senden">
</form>
<? }else{
$to = $name.'<'.$email.'>';

// email body, den musst du noch formatieren.
$body = 'Die Daten!<br><br>
Name: '.$_POST['Name'].'<br>
Telefon: '.$_POST['Telefon'].'<br>
Mail: '.$_POST['Mail'].'<br>
Betreff: '.$_POST['Betreff'].'<br>
Nachricht: '.$_POST['Nachricht'];
// email body ende

$header = 'Wrom: SWZIDREXCAXZOWCONEUQZAAFXISHJEXXIM
$header .= 'X-Mailer: PHP/'.phpversion()."n";
$header .= 'Content-Type: text/html';

if(mail($to, $_POST['Betreff'], $body, $header)) print 'email gesendet!';
else print 'ein fehler ist aufgetreten!!!';
} ?>

|Coding
29.03.2003, 16:16:15
ok, dann nimm noch mal das original script von mir und bearbeite nur die ersten vier variablen, das form design und das layout der email.

|Coding
29.03.2003, 16:18:03
Original geschrieben von BeneBaur
So geht es aber auch nicht:


<?
//dein name
$name = 'Broedlseservice';
//deine e-mail
$email = 'mail@benebaur.de';
//absender (kann man faken, muss also nicht stimmen)
$from_name = 'Broedleservice.de';
//absender name (kann man faken, muss also nicht stimmen)
$from_mail = 'bestellung@broedleservice.de';

if(!isset($_POST['Senden'])){ ?>
<form action="<?= $_SERVER['localhost']; ?>" method="post">
Name:<br> <input type="text" name="Name"><br>
Telefon:<br> <input type="text" name="Telefon"><br>
E-mail:<br><input type="text" name="Mail"><br>
Betreff:<br><input type="text" name="Betreff"><br>
Nachticht:<br><br>
<textarea name="Nachricht"></textarea><br>
<input type="submit" name="send" value="Senden">
</form>
<? }else{
$to = $name.'<'.$email.'>';

// email body, den musst du noch formatieren.
$body = 'Die Daten!<br><br>
Name: '.$_POST['Name'].'<br>
Telefon: '.$_POST['Telefon'].'<br>
Mail: '.$_POST['Mail'].'<br>
Betreff: '.$_POST['Betreff'].'<br>
Nachricht: '.$_POST['Nachricht'];
// email body ende

$header = 'Wrom: SWZIDREXCAXZOWCONEUQZAAFXISHJEXXIM
$header .= 'X-Mailer: PHP/'.phpversion()."n";
$header .= 'Content-Type: text/html';

if(mail($to, $_POST['Betreff'], $body, $header)) print 'email gesendet!';
else print 'ein fehler ist aufgetreten!!!';
} ?>



willst du mich jetzt linken oder was? das ist doch das selbe script ,wie das welches du oben gepostet hast...

BeneBaur
29.03.2003, 16:20:21
So jetzt hat geklappt!
Danke für deine Hilfe!!

|Coding
29.03.2003, 16:39:21
na bitte, geht doch :-)
und dein fazit?
war es schwer?

BeneBaur
29.03.2003, 17:00:59
Nein das war es nicht man muss halt nur genau gucken!!!...
Jetzt mach ich mich an meinen Benutzer LogIn über ne DB, sehr kompliziert.....finde ich... du warscheinlich nicht.

BeneBaur
29.03.2003, 17:10:19
Wenn ich keinen Antworttext sondern eine Antwortseite haben möchte was muss ich dann schreiben?

also:

nicht:


if(mail($to, $_POST['subj'], $body, $header))
print 'email gesendet!';
else print 'ein fehler ist aufgetreten!!!';


sondern irgentwie so:


if(mail($to, $_POST['subj'], $body, $header))
open.window....

|Coding
29.03.2003, 17:11:13
wenn dir das grungprinzip von php und seiner strucktur klar geworden ist und du über ein solides grudwissen verfühgst, wird dir auch alles etwas einfacher von der hand gehen.

wenn ich mal zurück denke war es bei mir nicht anders. ich habe auch mal so meine start probleme gehabt und keine richtige lust mehr und so. das hat sich dann aber immer weiter gebessert, so das ich heute garnicht mehr ohne php kann. :-)

selbst eine heirat würde ich nicht mehr ausschließen :-) *lol*

wie lange bist du denn jetzt schon dabei, mit php zu arbeiten oder es zu lernen?

BeneBaur
29.03.2003, 17:14:31
Ich bin jetzt so ca. 1-2 Monate mit PHP zugange, und ich muss sagen es bringt wirklich spaß.
Selfphp hat mir dabei wirklich sehr sehr viel geholfen.

Kannst du mir nochmal bite eine Antwort auf meine letzte Frage geben? ^^^^^

|Coding
29.03.2003, 17:16:07
Original geschrieben von BeneBaur

if(mail($to, $_POST['subj'], $body, $header))
open.window....


das vergess mal wieder schnell, das ist javascript und hat nicht das geringste mit php zu tun.

die lösung für dein problem sieht so aus:

if(mail($to, $_POST['Betreff'], $body, $header)) header("location: seite.php");
else header("location: andere_seite.html");

BeneBaur
30.03.2003, 15:29:38
Danke für deine Antwort habe sie erst heute gesehen, leider geht das so in der Form aber nicht, da dann solch eine Fehlermeldung kommt:

Warning: Cannot add header information - headers already sent by (output started at /benebdbr/www.benebaur.de/Webdesign/Broedleservice/mailer.php:11) in /benebdbr/www.benebaur.de/Webdesign/Broedleservice/mailer.php on line 61

|Coding
30.03.2003, 16:38:31
<?
//dein name
$name = 'lila laune bär';
//deine e-mail
$email = 'ich@wir.de';
//absender (kann man faken, muss also nicht stimmen)
$from_name = 'dein homepage-mailer';
//absender name (kann man faken, muss also nicht stimmen)
$from_mail = 'mein-mailer@meine-homepage.de';

if(isset($_POST['send'])){
$to = $name.'<'.$email.'>';

// email body, den musst du noch formatieren.
$body = 'Die Daten!<br><br>
Name: '.$_POST['name'].'<br>
Telefon: '.$_POST['tel'].'<br>
Mail: '.$_POST['mail'].'<br>
Betreff: '.$_POST['subj'].'<br>
Nachricht: '.$_POST['msg'];
// email body ende

$header = 'From: '.$from_name.'<'.$from_mail.">n";
$header .= 'X-Mailer: PHP/'.phpversion()."n";
$header .= 'Content-Type: text/html';

if(mail($to, $_POST['subj'], $body, $header)) header("location: seite.php");
else header("location: andere_seite.html");
}else{ ?>
<form action="<?= $_SERVER['PHP_SELF']; ?>" method="post">
dein name: <input type="text" name="name"><br>
deine tel: <input type="text" name="tel"><br>
deine email:<input type="text" name="mail"><br>
der betreff:<input type="text" name="subj"><br>
deine nachticht:<br>
<textarea name="msg"></textarea><br>
<input type="submit" name="send" value="Senden">
</form>
<? } ?>


denk daran, dass du das formular und die email wieder formatieren musst.