Feedbackformular

Servus,
ich versuche grade mit web to date eine Webseite bei bplaced zu erstellen.
Warum mit dem Programm…weil Seite eines Elternbeirates und das Programm dafür angeschafft wurde…ich habs übernommen.

Nun brauche ich ein Feedbackformular.
Das Vorgegebene funktioniert nicht.

irgendwie wird da ein Gateway als PHP auf den Server gelegt. warum es nicht geht, verteh ich nicht, weil ich nur User bin…habe also wenig Kenntnisse.

Wie bekomme ich ein funktionierendes Feedbackformular auf die Webseite?
Ich kann im CMS ein eigenes HTML Element einbinden.
Aber was muss dann da drin stehen? Über die Suchfunktion habe ich kein eVorlage hier gefunden, aber Seiten, wo es funktioniert…leider mit Joomla gemacht.

Ich sehe da zwei Optionen…

  1. Du schießt das Programm auf den Mond und lernst es richtig :ps:

  2. Du zeigst uns das PHP Script, weil unsere Glaskugel kaputt ist

<?php function postvars($key) { // Liefert die POST-Variablen unabhängig von den Magic Quotes if (isset($_POST[$key])) { if (get_magic_quotes_gpc()) { return (stripslashes($_POST[$key])); } else { return ($_POST[$key]); } } else { return (""); } } function quoted_printable_encode($input) { // MIME-Encoding $line_max = 76; $hex = array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'); $lines = split("\n", $input); $eol = "\n"; $escape = "="; $output = ""; for ($j=0;$j 126) ) { $h2 = floor($dec/16); $h1 = floor($dec%16); $c = $escape.$hex["$h2"].$hex["$h1"]; } if ( (strlen($newline) + strlen($c)) >= $line_max ) { $output .= $newline.$escape.$eol; $newline = ""; } $newline .= $c; } $output .= $newline; if ($j<count($lines)-1) $output .= $eol; } return trim($output); } function createHTMLMail() { // erzeugt eine HTML-Mail global $_POST; reset($_POST); $i=1; $mymail=""; // Header $mymail.= "\n"; $mymail.= "\n"; $mymail.= "\n"; $mymail.="\n"; $mymail.= "\n"; $mymail.= "\n"; $mymail.= "\n"; $mymail.= " td {font-family : Tahoma, Verdana, Geneva, Arial, Helvetica, sans-serif; font-size : 11px; color : #333333; }\n"; $mymail.= "\n"; $mymail.="\n"; $mymail.=""; $mymail.="\n"; $mymail.="\n"; while (list($key, $val) = each ($_POST)) { switch ($key) { case "x": case "y": case "fgwemail": case "fgwsubject": case "fgwreturnurl": break; default: $mymail.=""; $mymail.="\n"; $mymail.="\n"; $mymail.="\n"; } } $mymail.="
Folgende Mitteilung wurde an Sie gesandt:
".$key.":".$val."
\n"; return $mymail; } function createTextMail() { global $_POST; reset($_POST); $mymail=""; while (list($key, $val) = each ($_POST)) { switch ($key) { case "x": case "y": case "fgwemail": case "fgwsubject": case "fgwreturnurl": break; default: $mymail.=$key." "; $mymail.=$val."\n"; } } $mymail.="\n"; return $mymail; } function createMimeMail() { $mymime="This is a multi-part message in MIME format.\n\n"; $mymime.="----WEB2DATEGATEWAY\n"; $mymime.="Content-Type: text/plain;\n\tcharset=\"iso-8859-1\"\n"; $mymime.="Content-Transfer-Encoding: quoted-printable\n\n"; $mymime.=quoted_printable_encode(createTextMail())."\n"; $mymime.="----WEB2DATEGATEWAY\n"; $mymime.="Content-Type: text/html;\n\tcharset=\"iso-8859-1\"\n"; $mymime.="Content-Transfer-Encoding: quoted-printable\n\n"; $mymime.=quoted_printable_encode(createHTMLMail())."\n"; $mymime.="----WEB2DATEGATEWAY--\n"; return $mymime; } function deSlash(&$element) { // Für Stripslash $element=stripslashes($element); } // Hauptprogramm $fgwemail=postVars("fgwemail"); $fgwsubject=postVars("fgwsubject"); $fgwreturnurl=postVars("fgwreturnurl"); $whitelist=array("meine@mail.de"); if ($fgwemail!=meine@mail.de) { if (!in_array(strtolower($fgwemail), $whitelist)) { die("ERROR: ILLEGAL RETURN-EMAIL-ADDRESS"); } if (!$fgwemail) { die ("ERROR: NO RETURN-EMAIL-ADDRESS"); } if (!$fgwreturnurl) { die ("ERROR: NO RETURN-URL"); } // mail ($fgwemail, $fgwsubject, createMimeMail(), "MIME-Version: 1.0\nContent-Type: multipart/alternative;\n\tboundary=\"--WEB2DATEGATEWAY\"\nX-Mailer: web to date Gateway Version 1.0"); if(mail ($fgwemail, $fgwsubject, createMimeMail(),"MIME-Version: 1.0\nContent-Type: multipart/alternative;\n\tboundary=\"--WEB2DATEGATEWAY\"\nX-Mailer: web to date Gateway Version 1.0", "-f meine@mail.de")){ //echo "eMail wurde Erfolgreich versandt"; header("Location: ".$fgwreturnurl); }else{ echo "Beim Versenden der eMail kam es zu einem Fehler

Bitte kontaktieren Sie uns telefonisch - Wir freuen uns über Ihren Anruf

"; } } //header("Location: ".$fgwreturnurl); ?>

HI,

nur so um keine missverständnisse zu haben … dir ist klar das du die Daten per FTP auf den bplaced server hochladen musst zuhause auf dem eigenen rechner geht das nicht da du dort keinen php interpreter hast.

Und auf deinem webspace sieht man keine datein.

lg flo

hortimmergruen.bplaced.net/

die Site ist oben. Nur das Kontaktformular geht nicht.
Der Oben aufgeführte Skript wird über das Formular als Gateway aufgerufen.
Ich habe am Skript lediglich die Zielmailadresse durch meine@mail.de ersetzt, damit nicht jeder hier liest wo die Mail mal hin soll.

Hab den Fehler nicht gefunden.

Aber das gefunden webtodateforum.de/forum/web- … rsand.html

lg flo

Wie lautet denn der Error? Derselbe wie im Link von Ryon_?

Dann dürfte das Problem darin liegen, dass in dem Script die Funktion quoted_printable_encode() definiert wird. Da diese Funktion seit PHP 5.3 standardmäßig existiert, kann sie nicht nochmals definiert werden. Das heißt wohl, dass das Script veraltet ist.

Auf eigene Gefahr:

Hab den fehler durch den hinweiß gefunden … poste hier gleich das script mach nur eine überflüssige abfrage raus … die bewirkt das jeder weiß an welche email des formular sendet…
Nähmlich an “a.mi**nk@****” die sternchen hab ich rein gemacht damit du keinen spam bekommst … aber total dumm gemacht …

Hi
in der Zeile 2: statt beispieladresse@provider.tld musst du deine adresse eintragen (bitte beachten in " Anführungszeichen)

lg flo
P.S.: so funktioniert des script bei mir … p.s. im quellcode kannst dir dann beim formular des sparen. <input type="hidden" name="fgwemail" value="a.mi**nk@web.de">

[code]<?php
$fgwemail = “beispieladresse@provider.tld”; /* Hier die Empfänger email in den “” eintragen!!*/
function postvars($key) {

// Liefert die POST-Variablen unabhŠngig von den Magic Quotes

if (isset($_POST[$key])) {
if (get_magic_quotes_gpc()) {
return (stripslashes($_POST[$key]));
} else {
return ($_POST[$key]);
}
}
else {
return ("");
}
}

function quoted_printable_encode_test($input) {

// MIME-Encoding

$line_max = 76;
$hex = array(‘0’,‘1’,‘2’,‘3’,‘4’,‘5’,‘6’,‘7’,‘8’,‘9’,‘A’,‘B’,‘C’,‘D’,‘E’,‘F’);
$lines = split("\n", $input);
$eol = “\n”;
$escape = “=”;
$output = “”;

for ($j=0;$j<count($lines);$j++) {
$line = $lines[$j];
$linlen = strlen($line);
$newline = “”;
for($i = 0; $i < $linlen; $i++) {
$c = substr($line, $i, 1);
$dec = ord($c);
if ( ($dec == 32) && ($i == ($linlen - 1)) ) {
$c = “=20”;
} elseif ( ($dec == 61) || ($dec==46) || ($dec < 32 ) || ($dec > 126) ) {
$h2 = floor($dec/16); $h1 = floor($dec%16);
$c = $escape.$hex["$h2"].$hex["$h1"];
}
if ( (strlen($newline) + strlen($c)) >= $line_max ) {
$output .= $newline.$escape.$eol;
$newline = “”;
}
$newline .= $c;
}
$output .= $newline;
if ($j<count($lines)-1) $output .= $eol;
}
return trim($output);
}

function createHTMLMail() {

// erzeugt eine HTML-Mail

global $_POST;
reset($_POST);

$i=1;

$mymail="";

// Header

$mymail.= “\n”;
$mymail.= “\n”;
$mymail.= “\n”;

$mymail.="\n";

$mymail.= “\n”;
$mymail.= “<body bgcolor=”#ffffff" text="#333333" link="#333333">\n";

$mymail.= “\n”;
$mymail.= " td {font-family : Tahoma, Verdana, Geneva, Arial, Helvetica, sans-serif; font-size : 11px; color : #333333; }\n";
$mymail.= “\n”;
$mymail.="

\n";

$mymail.="

";
$mymail.=“\n”;
$mymail.="\n";

while (list($key, $val) = each ($_POST))
{
switch ($key)
{
case “x”:
case “y”:
case “fgwemail”:
case “fgwsubject”:
case “fgwreturnurl”:
break;
default:
$mymail.="

";
$mymail.="\n";
$mymail.="\n";
$mymail.="\n";
}
}

$mymail.="

Folgende Mitteilung wurde an Sie gesandt:
".$key.":".$val."
\n";

return $mymail;
}

function createTextMail() {

global $_POST;
reset($_POST);

$mymail="";
while (list($key, $val) = each ($_POST))
{
switch ($key)
{
case “x”:
case “y”:
case “fgwemail”:
case “fgwsubject”:
case “fgwreturnurl”:
break;
default:
$mymail.=$key." “;
$mymail.=$val.”\n";
}
}

$mymail.="\n";

return $mymail;
}

function createMimeMail() {
$mymime=“This is a multi-part message in MIME format.\n\n”;
$mymime.="----WEB2DATEGATEWAY\n";
$mymime.=“Content-Type: text/plain;\n\tcharset=“iso-8859-1”\n”;
$mymime.=“Content-Transfer-Encoding: quoted-printable\n\n”;
$mymime.=quoted_printable_encode_test(createTextMail())."\n";
$mymime.="----WEB2DATEGATEWAY\n";
$mymime.=“Content-Type: text/html;\n\tcharset=“iso-8859-1”\n”;
$mymime.=“Content-Transfer-Encoding: quoted-printable\n\n”;
$mymime.=quoted_printable_encode_test(createHTMLMail())."\n";
$mymime.="----WEB2DATEGATEWAY–\n";
return $mymime;
}

function deSlash(&$element) {

// FŸr Stripslash

$element=stripslashes($element);
}

// Hauptprogramm

//$fgwemail=postVars(“fgwemail”);

$fgwsubject=postVars(“fgwsubject”);
$fgwreturnurl=postVars(“fgwreturnurl”);

if (!$fgwreturnurl) {
die (“ERROR: NO RETURN-URL”);
}

// mail ($fgwemail, $fgwsubject, createMimeMail(), “MIME-Version: 1.0\nContent-Type: multipart/alternative;\n\tboundary=”–WEB2DATEGATEWAY"\nX-Mailer: web to date Gateway Version 1.0");

if(mail ($fgwemail, $fgwsubject, createMimeMail(),“MIME-Version: 1.0\nContent-Type: multipart/alternative;\n\tboundary=”–WEB2DATEGATEWAY"\nX-Mailer: web to date Gateway Version 1.0", “-f meine@mail.de”)){
//echo “eMail wurde Erfolgreich versandt”;
header("Location: ".$fgwreturnurl);
}else{
echo “Beim Versenden der eMail kam es zu einem Fehler

Bitte kontaktieren Sie uns telefonisch - Wir freuen uns über Ihren Anruf

”;
}

//header("Location: ".$fgwreturnurl);

?>[/code]

anstatt ständig “quoted_printable_encode” umzubenennen, würde nen verhindern der redeclarierung auch reichen… daher die Funktion ausm Quelltext löschen Oo^^

Ich glaube jedoch auch das der Thread Ersteller das Problem schon längst gelöst hatte, denn seine Seite spuckt keinen Fehler mehr aus :wink:

Fehler nüsch aber auch noch keine Mail…ich habe jetzt mal den Skript
vom Ryon_ eingetragen…
Versuch läuft grade…

gr…irgendwie hab ich jetzt was zu viel. Muss das rote raus? oder noch mehr?

Also ich bau mein Formular so auf:

[size=85]

Kontakt

Wenn Sie uns erreichen möchten

können Sie das gerne hier über dieses Portal machen.

Schreiben Sie den Elternvertretern eine EMail, oder rufen Sie einfach an. (Die Telefonnummern haben Sie mit der Namensliste bekommen)

[color=#BF0000] [/color]
Vorname

Nachname

E-Mail

Nachricht

 

[/size]

ok. mit roter Zeile ausgesternt geht´s!!!

:hail: :hail: :hail:

Jetzt muss ich es nur noch „optisch“ anpassen!

Vielen Dank für die super Hilfe!