Einen schönen
Ich habe folgendes PHP Script zur Kontaktaufnahme:
So, das ganze funktioniert auch wunderbar. Aber leider werden die Umlaute (ä, ü, ö und auch das ß) als html-Code (ist das überhaupt HTML) ausgegeben!
zb "Grüße" kommt als "Gr???Ye "
oder "für" als "f??r"
bei mir an.
Da ich leider php nicht beherrsche weiß ich nicht wie man das überhaupt lösen kann?
Kann mir jemand sagen was ich hinzufügen bzw. abändern muss???
Für euch ist das sicher ein Kinderspiel!
Danke und sg
GoFlo
Ich habe folgendes PHP Script zur Kontaktaufnahme:
PHP:
<?php
$adminemail = '********@***.**, '********@***.**';
$usesecimage = '';
$controlvars = ' thankspage submitteremail ccsubmitter messagetosubmitter ';
$messagetoadmin = $_POST['submitteremail'] ." hat folgende Anfrage ueber das Kontaktformular gesendet:
";
if (!function_exists('geturl'))
{
function geturl($url)
{
if (extension_loaded('curl'))
{
$user_agent = 'Mozilla/4.0 (compatible; MSIE 6.02; PHP)';
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_USERAGENT, $user_agent);
curl_setopt ($ch, CURLOPT_HEADER, false);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 15); // Timeout nach 5 Sekunden
curl_setopt ($ch, CURLOPT_TIMEOUT, 15); // Timeout nach 5 Sekunden
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, true);
$result = curl_exec ($ch);
curl_close ($ch);
// curl_error($ch); // fuer Debugmodus
return $result;
}
if (version_compare("4.3.0", phpversion(), "<"))
{
$filecontents = @file_get_contents($url);
}
else
{
$fd = @fopen($url, 'rb');
$filecontents = "";
do
{
$data = @fread($fd, 8192);
if (strlen($data) == 0)
{
break;
}
$filecontents .= $data;
} while(true);
@fclose ($fd);
}
return $filecontents;
}
}
if (!isset($_POST['messagetosubmitter'])) $messagetosubmitter = "<br>Sie haben nachfolgende Anfrage erfolgreich an uns gesendet. Wir werden Ihnen schnellstmöglich antworten.
";
else $messagetosubmitter = $_POST['messagetosubmitter'];
while(list($key, $value) = each($_POST))
{
if (!stristr($controlvars, ' '. $key .' '))
{
$messagetoadmin .= $key .': '. $value .'
';
$messagetosubmitter .= $key .': '. $value .'
';
}
}
$submitter = $_POST['submitteremail'];
if ($submitter == '') $submitter = 'anonym@anonym.com';
if (strstr($submitter, "\n")!==false || strstr($submitter, "\r")!==false || strlen($submitter) > 50) die("Pech, Du gemeiner Spammer.");
if ($usesecimage)
{
$curr_path = getcwd();
chdir($usesecimage); // Geht zum EdeV Verzeichnis
require 'start.php';
if (strtolower($_POST['securityimage']) != securityimagevalue()) die("Sie haben das Sicherheitsbild nicht korrekt übertragen.");
chdir($curr_path); // kommt zurück zum Original Verzeichnis
}
mail($adminemail, 'Form Submitted: '. stripslashes($_POST['subject']), stripslashes($messagetoadmin), 'From: '. $submitter);
if ($_POST['ccsubmitter'] == 'yes')
{
mail($submitteremail, 'Form Submitted: '. stripslashes($_POST['subject']), stripslashes($messagetosubmitter), 'From: '. $adminemail);
}
if ($_POST['autoresponse'] != '')
{
$body = geturl($autoresponse);
mail($submitteremail, 'Re: '. stripslashes($_POST['subject']), stripslashes($body), 'From: '. $adminemail);
}
header('Location: '. $_POST['thankspage']);
// Falls die Weiterleitung nicht funktioniert
die('<meta http-eqiv="refresh" content="0;url='. $_POST['thankspage'] .'">');
?>
So, das ganze funktioniert auch wunderbar. Aber leider werden die Umlaute (ä, ü, ö und auch das ß) als html-Code (ist das überhaupt HTML) ausgegeben!
zb "Grüße" kommt als "Gr???Ye "
oder "für" als "f??r"
bei mir an.
Da ich leider php nicht beherrsche weiß ich nicht wie man das überhaupt lösen kann?
Kann mir jemand sagen was ich hinzufügen bzw. abändern muss???
Für euch ist das sicher ein Kinderspiel!
Danke und sg
GoFlo