Avatar billede domindo Nybegynder
13. juni 2006 - 21:26 Der er 9 kommentarer og
1 løsning

problemer med ae, o og aa i gæstebog

Har et message board der snakker sammen med flash og php, men det virker ikke efter hensigten. Når man skriver en hilsen hvor man bruger æ,ø, bliver det til åæøå  eller firkanter i stedet for æ,ø og å... Er der nogle der ved hvad jeg skal sætte ind php doc. før det virker.

Håber i kan hjælpe mig.

koden ser sådan ud:

<?
    if (!isset($name) || !isset($email) || !isset($message) || empty($name) || empty($email) || empty($message)) {
        print "&result=Fail";
        print "&errorMsg=" . urlencode("Input required for all fields.");
        exit;
    }

    $email = strtolower($email);

    addentry($name, $email, $message);

function addentry($name, $email, $message) {

    $posted = strftime("%D %I:%M %p");

    $message = stripslashes($message);

    $file = fopen('entry.txt', 'a+');

    if (!$file) {
        print "&result=Fail";
        print "&errorMsg=" . urlencode("Could not open entry.txt file. Change CHMOD levels to 766.");
        exit;
    }

    fputs($file, "<font color=\"#000000\">Name:</font> $name\n<font color=\"#000000\">Email:</font> <font color=\"#CCCCCC\"><u><A href=\"mailto:$email\">$email</A></u></font><br>\n<font color=\"#000000\">Posted:</font> $posted\n<font color=\"#000000\">Message:</font> $message\n\n");
    fclose($file);

    // Send admin an email when new entry occurs
    // mailAdmin($name, $email);
}

function mailAdmin($name, $email) {
    $mailTo = "Your Name <yesyes@hotmail.com>";
    $mailFrom = "From: Guestbook <yesyes@hotmail.com>";
    $mailSubject = "New Guestbook Entry";
    $mailBody = "$name ($email) has just posted in your guestbook\n\nView it at http://www.nicod2.com";
    mail($mailTo, $mailSubject, $mailBody, $mailFrom);
}

print "&result=okay";
exit;

?>
Avatar billede nin807 Nybegynder
13. juni 2006 - 22:05 #1
Jeg vil forslå du bruger:

$_POST['messenge'] = str_replace("æ", "<img src='&aelig;'>",$_POST['messenge']);
$_POST['messenge'] = str_replace("ø", "<img src='&oslash;'>",$_POST['messenge']);
$_POST['messenge'] = str_replace("å", "<img src='&aring;'>",$_POST['messenge']);

Jeg er ikke sikker på det virker men prøv :D
Avatar billede nin807 Nybegynder
13. juni 2006 - 22:06 #2
$_POST['messange'] = str_replace("æ", "<img src='&aelig;'>",$_POST['messange']);
$_POST['messange'] = str_replace("ø", "<img src='&oslash;'>",$_POST['messange']);
$_POST['messange'] = str_replace("å", "<img src='&aring;'>",$_POST['messange']);

Hov stavefejl :P Brug denne ovenover :D
Avatar billede nin807 Nybegynder
13. juni 2006 - 22:07 #3
Nej hvor den kører for mig... Brug denne nedenunder :/

$_POST['messenge'] = str_replace("æ", "&aelig;",$_POST['messenge']);
$_POST['messenge'] = str_replace("ø", "&oslash;",$_POST['messenge']);
$_POST['messenge'] = str_replace("å", "&aring;",$_POST['messenge']);
Avatar billede domindo Nybegynder
13. juni 2006 - 22:07 #4
Hvor skal det sættes ind?
Avatar billede nin807 Nybegynder
13. juni 2006 - 22:09 #5
Denne måske:

<?
    if (!isset($name) || !isset($email) || !isset($message) || empty($name) || empty($email) || empty($message)) {
        print "&result=Fail";
        print "&errorMsg=" . urlencode("Input required for all fields.");
        exit;
    }

    $email = strtolower($email);

    addentry($name, $email, $message);

function addentry($name, $email, $message) {

    $posted = strftime("%D %I:%M %p");

    $message = stripslashes($message);

    $file = fopen('entry.txt', 'a+');

    $_POST['messange'] = str_replace("æ", "&aelig;",$_POST['messange']);
    $_POST['messange'] = str_replace("ø", "&oslash;",$_POST['messange']);
    $_POST['messange'] = str_replace("å", "&aring;",$_POST['messange']);

    if (!$file) {
        print "&result=Fail";
        print "&errorMsg=" . urlencode("Could not open entry.txt file. Change CHMOD levels to 766.");
        exit;
    }

    fputs($file, "<font color=\"#000000\">Name:</font> $name\n<font color=\"#000000\">Email:</font> <font color=\"#CCCCCC\"><u><A href=\"mailto:$email\">$email</A></u></font><br>\n<font color=\"#000000\">Posted:</font> $posted\n<font color=\"#000000\">Message:</font> $message\n\n");
    fclose($file);

    // Send admin an email when new entry occurs
    // mailAdmin($name, $email);
}

function mailAdmin($name, $email) {
    $mailTo = "Your Name <yesyes@hotmail.com>";
    $mailFrom = "From: Guestbook <yesyes@hotmail.com>";
    $mailSubject = "New Guestbook Entry";
    $mailBody = "$name ($email) has just posted in your guestbook\n\nView it at http://www.nicod2.com";
    mail($mailTo, $mailSubject, $mailBody, $mailFrom);
}

print "&result=okay";
exit;

?>
Avatar billede domindo Nybegynder
13. juni 2006 - 23:12 #6
Har lige prøvet men det hjælper ikke. Den bliver stadig ved med at skrive firkanter...
Avatar billede domindo Nybegynder
13. juni 2006 - 23:13 #7
her er linket, så kan du se hvad jeg mener.. nicod2.com/guestbook
Avatar billede coderdk Praktikant
14. juni 2006 - 02:29 #8
Prøv at ændre:

function addentry($name, $email, $message) {

til:

function addentry($name, $email, $message) {
  $name = utf8_decode( $name ); 
  $message = utf8_decode( $message );
Avatar billede domindo Nybegynder
14. juni 2006 - 12:37 #9
virker desværre ikke..
Avatar billede domindo Nybegynder
14. juni 2006 - 13:39 #10
Har fundet ud af det selv.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester