kostenloser Webspace werbefrei: lima-city


Php Kontaktformular Ulaute konvertieren

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    a***********g

    Ich verwende folgende Funktion um meine per Get übertragenen Formularinhalte per mail() zu senden.

    Allerdings werden Umlaute falsch angezeigt und ich bin noch relativ neu in php, kann mir jemand sagen mit welcher funktion ich die umlaute konvertieren kann? Alle Dateien sind iso 8859-1

    Hier die send.php
    <?php
    header('content-type: application/json; charset=ISO 8859-1');
    
    if (isset($_GET["firstname"])) {
    	$firstname = strip_tags($_GET['firstname']);
    	$email = strip_tags($_GET['email']);
    	$state = strip_tags($_GET['state']);
    	$message = strip_tags($_GET['message']);
    	$header = "From: ". $firstname . " <" . $email . ">rn";
    
    	$ip = $_SERVER['REMOTE_ADDR'];
    	$httpref = $_SERVER['HTTP_REFERER'];
    	$httpagent = $_SERVER['HTTP_USER_AGENT'];
    	$today = date("F j, Y, g:i a");
    
    	$recipient = 'Meine Email@example.org';
    	$subject = 'Kontaktformular';
    	$mailbody = "
    Name: $firstname
    Land:: $state
    Nachricht
    $message
    
    
    IP: $ip
    Browser info: $httpagent
    Referrer: $httpref
    Datum: $today
    ";
    	$result = 'success';
    
    	if (mail($recipient, $subject, $mailbody, $header)) {
    		echo json_encode($result);
    	}
    }
    ?>


    Beitrag zuletzt geändert: 26.2.2012 15:31:16 von abizeitung-lg
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Liegt daran das deine Informationen eigentlich UTF-8 sein sollten:

    <?php
     
    function mail_utf8($to, $subject = '(No subject)', $message = '', $header = '') {
      $header_ = 'MIME-Version: 1.0' . "\r\n" . 'Content-type: text/plain; charset=UTF-8' . "\r\n";
      mail($to, '=?UTF-8?B?'.base64_encode($subject).'?=', $message, $header_ . $header);
    }
     
    ?>
  4. Autor dieses Themas

    a***********g

    Und was soll ich mit dem von dir geposteten script anstellen? Ich nehmen an ich soll überall die kodiereung ändern und dann?

    Aber schonmal danke für deine Hilfe!
  5. legendary-guild

    legendary-guild hat kostenlosen Webspace.

    In php gibt es die Funktion str_replace() damit kannst du die umlaute einfach ersetzen!
    Bsp:
    $text = "Ü Ö Ä ü ö ä";
    $text = str_replace("Ü", "&Uuml;", $text);
    $text = str_replace("Ö", "&Ouml;", $text);
    $text = str_replace("Ä", "&Auml;", $text);
    $text = str_replace("ü", "&uuml;", $text);
    $text = str_replace("ö", "&ouml;", $text);
    $text = str_replace("ä", "&auml;", $text);
    echo $text;

    So solltest du den in einer Variable gespeicherten text verändern können.

    Beitrag zuletzt geändert: 26.2.2012 16:56:27 von legendary-guild
  6. Autor dieses Themas

    a***********g

    funktiniert leider nicht:

    Hier die send.php
    <?php
    header('content-type: application/json; charset=ISO 8859-1');
    
    if (isset($_GET["firstname"])) {
    	$firstname = strip_tags($_GET['firstname']);
    	$email = strip_tags($_GET['email']);
    	$state = strip_tags($_GET['state']);
    	$message = strip_tags($_GET['message']);
    	$header = "From: ". $firstname . " <" . $email . ">rn";
    $message = str_replace("Ü", "&Uuml;", $message);
    $message = str_replace("Ö", "&Ouml;", $message);
    $message = str_replace("Ä", "&Auml;", $message);
    $message = str_replace("ü", "&uuml;", $message);
    $message = str_replace("ö", "&ouml;", $message);
    $message = str_replace("ä", "&auml;", $message);
    
    	$ip = $_SERVER['REMOTE_ADDR'];
    	$httpref = $_SERVER['HTTP_REFERER'];
    	$httpagent = $_SERVER['HTTP_USER_AGENT'];
    	$today = date("F j, Y, g:i a");
    
    	$recipient = 'Meine Email@example.org';
    	$subject = 'Kontaktformular';
    	$mailbody = "
    Name: $firstname
    Land:: $state
    Nachricht
    $message
    
    
    IP: $ip
    Browser info: $httpagent
    Referrer: $httpref
    Datum: $today
    ";
    	$result = 'success';
    
    	if (mail($recipient, $subject, $mailbody, $header)) {
    		echo json_encode($result);
    	}
    }
    ?>
  7. m******n

    Hallo!

    Ich hatte ein ähnliches Problem. Bei mir lag es am charset. Probiere vielleicht einmal:
    header('content-type: application/json; charset=ISO 8859-15');
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!