Kontaktformular mit HTML?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
The Lord of Programming
Mitglied
Beiträge: 344
Registriert: 25.05.2003 13:49
Wohnort: Illingen(Württ)
Kontaktdaten:

Beitrag 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&uuml;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");

?>
Tuxman
Mitglied
Beiträge: 2284
Registriert: 24.05.2003 13:32
Kontaktdaten:

Beitrag 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&uuml;cksetzen"> 

</table> 
 </form><p>&nbsp;</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. :)
Zuletzt geändert von Tuxman am 07.06.2003 16:06, insgesamt 1-mal geändert.
tux. Ehemaliger Moderator ohne Sondertitel.
tuxproject.de
The Lord of Programming
Mitglied
Beiträge: 344
Registriert: 25.05.2003 13:49
Wohnort: Illingen(Württ)
Kontaktdaten:

Beitrag 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.
Tuxman
Mitglied
Beiträge: 2284
Registriert: 24.05.2003 13:32
Kontaktdaten:

Beitrag 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 :D

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. :)
tux. Ehemaliger Moderator ohne Sondertitel.
tuxproject.de
The Lord of Programming
Mitglied
Beiträge: 344
Registriert: 25.05.2003 13:49
Wohnort: Illingen(Württ)
Kontaktdaten:

Beitrag von The Lord of Programming »

thx
Also, dann schreib ich beim Link zum Formular einfach

Code: Alles auswählen

<a href="formailer.php">Kontakt</a>
Und den php-Code kann man dann nicht auslesen?
Tuxman
Mitglied
Beiträge: 2284
Registriert: 24.05.2003 13:32
Kontaktdaten:

Beitrag von Tuxman »

Der kommt direkt als HTML-Code an... :)
tux. Ehemaliger Moderator ohne Sondertitel.
tuxproject.de
The Lord of Programming
Mitglied
Beiträge: 344
Registriert: 25.05.2003 13:49
Wohnort: Illingen(Württ)
Kontaktdaten:

Beitrag 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.
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Du musst die PHP-Datei über einen Webserver, der PHP installiert hat, aufrufen. Über z.B. c:\datei.php funktioniert es nicht.
Tuxman
Mitglied
Beiträge: 2284
Registriert: 24.05.2003 13:32
Kontaktdaten:

Beitrag von Tuxman »

Du kannst also 'nen lokalen Webserver installieren und dann http://localhost/datei.php machen... :)
tux. Ehemaliger Moderator ohne Sondertitel.
tuxproject.de
The Lord of Programming
Mitglied
Beiträge: 344
Registriert: 25.05.2003 13:49
Wohnort: Illingen(Württ)
Kontaktdaten:

Beitrag von The Lord of Programming »

Kann es sein, dass ein Formailer bei free.fr nicht funzt, weil die mailfunktion abgeschalten ist :roll: ?
Antworten

Zurück zu „Coding & Technik“