Seite 2 von 3
Verfasst: 06.06.2003 22:06
von The Lord of Programming
Ich hab jetzt so was in der Art:
Code: Alles auswählen
<html>
<body>
<form action="???" method="post" accept-charset="ISO-8859-1, ISO-8859-2" enctype="text/plain">
<table>
<p>Name:</p>
<input size="50" name="name" value="<Anonym>">
<p>E-Mail Adresse:</p>
<input size="50" name="yourmail" value="<Anonym>">
<p>Betreff:</p>
<input size="50" name="subject" value="<Kein Betreff>">
<p>Text:</p>
<textarea name="text" cols="50" rows="10" >
</textarea>
<br>
<input type="submit" value="Abschicken" >
<input type="reset" value="Zurücksetzen">
</table>
</form>
</body>
</html>
Aber was muss ich jetzt bei action reinschreiben? Und wo kommt meine E-Mail Adresse hin, wenn ich kein mailto: benutzen will?
Und wo kommt dann dieses Spript hin und wie muss ich es speichern?
Code: Alles auswählen
<?php
$delimiter = $HTTP_POST_VARS["delimiter"];
$mailto = $HTTP_POST_VARS["mailto"];
$returnhtml = $HTTP_POST_VARS["return"];
$subject = $HTTP_POST_VARS["subject"];
for($x=0;$x<sizeof($HTTP_POST_VARS);$x++)
{
$name = key($HTTP_POST_VARS);
$value = current($HTTP_POST_VARS);
if($name != "mailto" && $name != "return" && $name != "subject" && $name != "delimiter")
{
if(is_array($value))
{
foreach($value as $value_arry)
{
$mailtext .= "$name$delimiter$value_arry\n";
}
}
else
$mailtext .= "$name$delimiter$value\n";
}
next($HTTP_POST_VARS);
}
$mailtext = stripslashes($mailtext);
$mailtext = chop($mailtext);
@mail($mailto,$subject,$mailtext) or die("Die Mail konnte nicht versendet werden.");
header("Location: $returnhtml");
?>
Verfasst: 06.06.2003 22:15
von Tuxman
Ich würd's direkt ins phpBB integrieren:
Code: Alles auswählen
<?php
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
$userdata = session_pagestart($user_ip, PAGE_FAQ);
init_userprefs($userdata);
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
$template->set_filenames(array(
'body' => 'faq_body.tpl')
);
# Adresse, an die die Formulardaten gesendet werden sollen:
$mailto = "deine@email-addresse.de";
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Formmailer</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
<!--
body {
font-family:sans-serif;
scrollbar-arrow-color:white;
scrollbar-base-color: black;
}
input, textarea {
background-color:black;
border:1px solid darkgray;
color:white;
}
select {
background-color:black;
border:1px solid darkgray;
color:white;
}
-->
</style>
</head>
<body>
<?php
if($Nickname != "") {
$mailtext = "Name: $name \n eMail: $yourmail \n Betreff: $subject \n Text: $text";
mail("deine@email-addresse.de", $subject, $mailtext, "From:deine@email-addresse.de");
print("Ihre Mail ist bei uns eingegangen.<br />");
}
else
{
print("Geben Sie bitte die benötigten Daten an, und klicken Sie auf \"Submit\".");
}
?>
<form action="formmailer.php" method="post" onSubmit="return check()">
<table>
<p>Name:</p>
<input size="50" name="name" value="<Anonym>">
<p>E-Mail Adresse:</p>
<input size="50" name="yourmail" value="<Anonym>">
<p>Betreff:</p>
<input size="50" name="subject" value="<Kein Betreff>">
<p>Text:</p>
<textarea name="text" cols="50" rows="10" >
</textarea>
<br>
<input type="submit" value="Abschicken" >
<input type="reset" value="Zurücksetzen">
</table>
</form><p> </p><?php
$template->pparse('body');
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
</body>
</html>
Die Datei kannste dann mit <a href="formmailer.php">...</a> im phpBB verlinken...
Wenn du's eigenständig haben willst, musst du nur diese Zeilen entfernen:
Code: Alles auswählen
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
$userdata = session_pagestart($user_ip, PAGE_FAQ);
init_userprefs($userdata);
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
$template->set_filenames(array(
'body' => 'faq_body.tpl')
);
Code: Alles auswählen
<?php
$template->pparse('body');
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
HINWEIS: Bei den Pfadangaben oben im Code gehe ich davon aus, dass die Datei im phpBB-Root-Dir (phpBB2/) liegt. Wenn das nicht der Fall ist, einfach die Variable $phpbb_root_path ändern.

Verfasst: 07.06.2003 13:11
von The Lord of Programming
Danke, aber es sollte eigentlich nicht für ein Board, sondern für meine Homepage werden.
Muss dann irgendein Script in die Datei "formmailer.php"? Weil die kann ja so net aufgerufen werden, wenn sie nicht existiert.
Verfasst: 07.06.2003 16:04
von Tuxman
*wiederhol*
Wenn du's eigenständig haben willst, musst du nur diese Zeilen entfernen:
Code: Alles auswählen
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
$userdata = session_pagestart($user_ip, PAGE_FAQ);
init_userprefs($userdata);
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
$template->set_filenames(array(
'body' => 'faq_body.tpl')
);
Code: Alles auswählen
<?php
$template->pparse('body');
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
Also du nimmst den Code oben und nimmst einfach diese Zeilen raus
Hoffe einfach mal, es klappt... hab mir das "mal eben" zusammengestrickt... also in meinem phpBB geht's ohne Probleme, und als eigenständige Seite funzt es bei mir auch.
Und ich glaub, du hast da was falsch verstanden... das IST die formmailer.php. Die ruft bei Klick auf "Submit" sich selbst auf.

Verfasst: 08.06.2003 13:27
von The Lord of Programming
thx
Also, dann schreib ich beim Link zum Formular einfach
Und den php-Code kann man dann nicht auslesen?
Verfasst: 08.06.2003 13:34
von Tuxman
Der kommt direkt als HTML-Code an...

Verfasst: 08.06.2003 14:00
von The Lord of Programming
Kann ich die php-Datei nicht von meinem PC aufrufen? Da kommt dann nämlich, ich soll ein Programm zum Ausführen auswählen.
PS: Aber da kann man doch dann einfach rechtsklick, Quellcode anzeigen und schon steht da die E-Mail Adresse.
Verfasst: 08.06.2003 14:12
von Pyramide
Du musst die PHP-Datei über einen Webserver, der PHP installiert hat, aufrufen. Über z.B. c:\datei.php funktioniert es nicht.
Verfasst: 08.06.2003 14:28
von Tuxman
Du kannst also 'nen lokalen Webserver installieren und dann
http://localhost/datei.php machen...

Verfasst: 25.07.2003 15:16
von The Lord of Programming
Kann es sein, dass ein Formailer bei free.fr nicht funzt, weil die mailfunktion abgeschalten ist

?