Avatar billede para7 Nybegynder
29. december 2009 - 11:54 Der er 17 kommentarer og
1 løsning

Danske æøå i adgangskode

Jeg har problemer med at validere passwords, der består af æøå i Firefox. I IE er der ikke DE problemer.

$actcode_set = strtolower($_POST["pw"]);
echo $actcode_set;

if(strtolower($_POST["pw"])==$pw){
echo "PW er OK";
}

Når jeg echoer pw får jeg et fejltegn for hver æøå i Firefox.

Hvordan klares problemet bedst?
Avatar billede para7 Nybegynder
29. december 2009 - 11:55 #1
Hovs, her er en bedre kode:

$actcode_set = strtolower($_POST["pw"]);
echo $pw;

if(strtolower($_POST["pw"])==$pw){
echo "PW er OK";
}
Avatar billede discotk Nybegynder
29. december 2009 - 12:05 #2
Har du sat din side op til UTF-8?
Avatar billede para7 Nybegynder
29. december 2009 - 12:16 #3
Det har jeg nu men fejltegn vises stadig.
Avatar billede para7 Nybegynder
29. december 2009 - 12:18 #4
Hovs igen, her er en bedre kode med variabler der passer:

$pw = strtolower($_POST["pw"]);
echo $pw;

if(strtolower($_POST["pw"])==$pw){
echo "PW er OK";
}
Avatar billede para7 Nybegynder
29. december 2009 - 12:19 #5
Og jeg har prøvet flere forslag til konvertering, som giver fejl, fx:
http://www.nielsgamborg.dk/wordpress/webudvikling/php-og-dansk-tegnsaetae-oe-aa-fejl-fra-utf-8-til-iso-8859-1.htm
iconv ( ("ISO-8859-1″, "UTF-8″, $minTekst);)
Avatar billede discotk Nybegynder
29. december 2009 - 12:28 #6
hvorfor bruger du strtolower?
Avatar billede discotk Nybegynder
29. december 2009 - 12:44 #7
Ellers prøv:

<?php
$pw = mb_convert_case($_POST["pw"], MB_CASE_LOWER, "UTF-8");
echo utf8_decode($pw);

if(utf8_decode($_POST["pw"])==$pw){
echo "PW er OK";
}
?>
Avatar billede para7 Nybegynder
29. december 2009 - 14:06 #8
Tak, men det ser ikke ud til at ville virke:

$pw = mb_convert_case("JørgiBærÅb5", MB_CASE_LOWER, "UTF-8");
echo utf8_decode($pw);

Giver j&#65533;rgib&#65533;r&#65533;b5
Avatar billede public2 Nybegynder
29. december 2009 - 15:47 #9
Hvordan ser det ud, når du lægger passwordene ind i databasen? Og hvordan ser det ud hvis du bare echo'er et password direkte fra databasen uden HTML encode eller andet?
Avatar billede para7 Nybegynder
29. december 2009 - 16:41 #10
Jeg kommer fra ASP og IE, hvor der aldrig var de problemer. Men er gået mere over til PHP og FF, da det ser ud til at være der fremtiden bevæger sig hen.
Jeg er ikke kommet til database fasen endnu.
Jeg har nu også problemer med at vise dansk datoformat. Har googlet og googlet og prøvet fx date("j-n-Y g:i:s H") med det virker ikke som manualen beskriver.

Jeg må da ihverfald kunne lave replace på forkerte tegn. Men der må være en smartere måde, som virker.
Avatar billede para7 Nybegynder
29. december 2009 - 17:01 #11
OK, jeg må tage hatten af for PHP, for det er jo bare bedre end old ASP. Smart med dato styringen. Den her sammensætning er fin for mig: date("j/n Y G:i")

Men det er vanskeligt med æøå.
Avatar billede para7 Nybegynder
29. december 2009 - 17:04 #12
Jeg kan se at der ikke er problemer på localhost, som kører Windows Vista, det er når det kører på Apache server online det er galt med æøå.
Avatar billede repox Seniormester
29. december 2009 - 18:53 #13
Nu spørger jeg nok en smule fjollet, men hvad er formålet med at ændre i det kodeord som brugeren vælger?
Avatar billede para7 Nybegynder
29. december 2009 - 21:16 #14
Godt spm, som jeg ikke helt forstår. Men brugeren skal kunne taste æøå ind som pw for at se en præsentation. Og jeg skal kunne validere det via script ift database, og der skal så sendes mail.

Men jeg har foreløbig lavet en replace i replace i replace.... for de skøre tegn fra formen til æøåÆØÅ og det virker da indtil nu.
Avatar billede para7 Nybegynder
29. december 2009 - 21:21 #15
I hvertfald måtte jeg lave replace på fornavn og efternavn fra form til den mail, som ellers ville blive modtaget med de syge erstatningstegn for æøå. Kan ikke finde ud af lige at sende mailen så æøå vises rigtigt.
Avatar billede public2 Nybegynder
30. december 2009 - 01:01 #16
Ellers må du jo bare replace dine karakterer til henholdsvis &aelig; &oslash; &aring; (osv).

Altså tjekke alle adgangskoder for om de har disse karakter og så lave dem om og selvfølgelig ændre dem tilbage igen til æ ø å når du outputter dem.
Avatar billede para7 Nybegynder
30. december 2009 - 08:28 #17
Det er rigtigt, ja. Dog vil det gælde for alle europæiske sprog der som dansk har særlige tegn. Jeg overvejer at gå over til at lave løsningen i ASP på en Windows server. Så er der ikke de problemer.
Avatar billede para7 Nybegynder
30. december 2009 - 10:56 #18
Tak for hjælp indtil nu. Jeg lukker og fortsætter her:
http://www.eksperten.dk/spm/Programmering/Script/PHP/opret
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