/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Databasefil til gæstebog med både æøå og h~
Fra : Jonni


Dato : 01-08-02 15:26

Jeg arbejder med et script der gemmer i en textfil med fwrite(), fra en
formular med action="post".

Som det er nu behandler jeg input med;
$message= htmlspecialchars($message);
$message=str_replace("\n"," ", $message);
$message=str_replace("\r","<br />", $message);
if (get_magic_quotes_gpc()==1)
{$message = $message;}
else {$message = addslashes($message);}
Det giver umiddelbart et godt resultat, når det hentes med file().

Men bruger man addslashes() på samme input man har behandlet med
htmlspecialchars() ?

Og er der en funktion hvor man kan omdanne æ,ø,å og så samtidig bevare
htmlkoder så folk kan bruge <strong> og <em>?
Den eneste løsning jeg kan lige nu er str_replace() for de funktioner
man vil bruge, før de gemmes, og så gå den anden vej når teksten hentes,
men det virker lidt omstændigt?
Jonni



 
 
Christian Joergensen (01-08-2002)
Kommentar
Fra : Christian Joergensen


Dato : 01-08-02 16:35

On Thu, 01 Aug 2002 16:26:05 +0200, Jonni wrote:

> Men bruger man addslashes() på samme input man har behandlet med
> htmlspecialchars() ?

Det er en uskreven regel at man gemmer data i "rå" format, og derefter
formaterer den når man udskriver den igen. Der er ingen grund til at bruge
addslashes() når du blot skriver til filer.

> Og er der en funktion hvor man kan omdanne æ,ø,å og så samtidig bevare
> htmlkoder så folk kan bruge <strong> og <em>?

Hvorfor vil du omdanne æ. ø og å? (Med mindre du bruger HTML 3.2 eller
tidligere). Hvis du vil fjerne tags (med undtagelser) kan du med fordel
kigge på strip_tags() - ellers tror jeg ikke der er nogen vej udenom en
htmlentities() med efterfølgende str_replace() på de få tags du måtte
ønske undtaget.

--
Christian Jørgensen | Do not look into the laser with remaining eye!
http://www.razor.dk |


Jonni (01-08-2002)
Kommentar
Fra : Jonni


Dato : 01-08-02 20:00

Christian Joergensen <mail@phpguru.dk> wrote:
> On Thu, 01 Aug 2002 16:26:05 +0200, Jonni wrote:

> Det er en uskreven regel at man gemmer data i "rå" format, og derefter
> formaterer den når man udskriver den igen. Der er ingen grund til at
> bruge addslashes() når du blot skriver til filer.
>
>> Og er der en funktion hvor man kan omdanne æ,ø,å og så samtidig
>> bevare htmlkoder så folk kan bruge <strong> og <em>?
>
> Hvorfor vil du omdanne æ. ø og å? (Med mindre du bruger HTML 3.2 eller
> tidligere). Hvis du vil fjerne tags (med undtagelser) kan du med
> fordel kigge på strip_tags() - ellers tror jeg ikke der er nogen vej
> udenom en htmlentities() med efterfølgende str_replace() på de få
> tags du måtte ønske undtaget.
Takker, givermening altid at have de originale data, hvis man skulle
ønske at gøre noget anderledes senere hen.
strip_tags ( string str [, string allowable_tags]) ser retspændende ud,
ligner at man bare kan indføje de tags man vil tillade brugen af.
Med hensyn til æ,ø,å mente jeg bare at det kunne være smart at siden
kunne validere selvom der var et indlæg med æ, ø eller å.
Takker
Jonni



Jonas Koch Bentzen (03-08-2002)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 03-08-02 11:07

Jonni skrev:
>
> Med hensyn til æ,ø,å mente jeg bare at det kunne være smart at siden
> kunne validere selvom der var et indlæg med æ, ø eller å.

Det gør den da også, hvis du bare bruger det rigtige tegnsæt (ISO-8859-1):



<?xml version='1.0' encoding='ISO-8859-1' ?>
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1//EN'
''>http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd'>



<html>
   <head>
      <title>Æ, Ø og Å</title>
   </head>



   <body>
                  
      <div>
         Æ, Ø og Å.
      </div>
   </body>
</html>


Jonni (03-08-2002)
Kommentar
Fra : Jonni


Dato : 03-08-02 15:07

Jonas Koch Bentzen <ingen.email@eksempel.dk> wrote:
> Jonni skrev:
> >
>> Med hensyn til æ,ø,å mente jeg bare at det kunne være smart at siden
>> kunne validere selvom der var et indlæg med æ, ø eller å.
>
> Det gør den da også, hvis du bare bruger det rigtige tegnsæt (ISO-
> 8859-1):

Du har helt ret, har af en eller grund besluttet at unicode var den
'rigtige' værdi. (Har ikke givet mig det store bøvl da min editor
omdanner æ, ø og å.)
Har nu læst lidt på lektien, og har et par spørgsmål.
Hvis jeg har forstået det ret:
http-equiv leverer header information der omhandler fremvisning af siden
i browseren.
'meta name' leverer primært suplerende information vedrørende cashe i
browser, til robotter, og om dokumentets indhold.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict //EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="da">
<meta http-equiv="content-language" content="da" />
Hvilken måde refererer bedst til sproget, og EN i doctype vedrører vel
ikke sidens sproglige indhold

<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"
/>
<meta http-equiv="content-style-type" content="text/css" />
Med ovenstående linier har jeg så defineret det nødvendige for en
optimal fremvisning af siden?

Lige et sidste, da siderne er gemt som *.php skal jeg vel ikke bruge
"Content-Script-Type"?
Men hvad når jeg vil suplere med JavaScript på samme side, skal det så
være "text/javascript", eller er php automatisk default scripting sprog
i en php-fil?
Jeg forlanger ikke for meget vel?
Jonni



Jonas Koch Bentzen (03-08-2002)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 03-08-02 15:54

Jonni skrev:
>
> Har nu læst lidt på lektien, og har et par spørgsmål.
> Hvis jeg har forstået det ret:
> http-equiv leverer header information der omhandler fremvisning af siden
> i browseren.
> 'meta name' leverer primært suplerende information vedrørende cashe i
> browser, til robotter, og om dokumentets indhold.

http://htmlhelp.com/reference/wilbur/head/meta.html

>
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict //EN"
> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
> <html lang="da">
> <meta http-equiv="content-language" content="da" />
> Hvilken måde refererer bedst til sproget, og EN i doctype vedrører vel
> ikke sidens sproglige indhold
>
> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"
> />

Jeg vil tro, at Content-Type skal med stort forbogstav.

> <meta http-equiv="content-style-type" content="text/css" />

Den er mig bekendt ikke nødvendig.

> Lige et sidste, da siderne er gemt som *.php skal jeg vel ikke bruge
> "Content-Script-Type"?

Nej.

> Men hvad når jeg vil suplere med JavaScript på samme side, skal det så
> være "text/javascript"

Ja - ellers er det ikke gyldig HTML (<script>-koden kræver en
"type"-attribut):

<script type='text/javascript'>
   alert("Hallo!")
</script>

> eller er php automatisk default scripting sprog
> i en php-fil?

PHP er serverside, ikke klientside.


Jonni (03-08-2002)
Kommentar
Fra : Jonni


Dato : 03-08-02 19:47


"Jonas Koch Bentzen" <ingen.email@eksempel.dk> skrev i en meddelelse
news:3D4BEE7C.5090803@eksempel.dk...
> Jonni skrev:
> > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict //EN"
> > "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
> > <html lang="da">
> > <meta http-equiv="content-language" content="da" />
> > Hvilken måde refererer bedst til sproget, og EN i doctype vedrører
vel
> > ikke sidens sproglige indhold
> >
> > <meta http-equiv="content-type" content="text/html;
charset=iso-8859-1"
> > />
>
> Jeg vil tro, at Content-Type skal med stort forbogstav.

Lyder rigtigt, kom til at rette værdien til småt, sammen med koderne.

> > <meta http-equiv="content-style-type" content="text/css" />
>
> Den er mig bekendt ikke nødvendig.

Tak, har heller ikke brugt den tidligere.

> > Men hvad når jeg vil suplere med JavaScript på samme side, skal det

> > være "text/javascript"
>
> Ja - ellers er det ikke gyldig HTML (<script>-koden kræver en
> "type"-attribut):
>
> <script type='text/javascript'>
> alert("Hallo!")
> </script>

Klart, men når man alligevel altid skriver det i <script>tag'et, behøves
det vel ikke i <meta> tag'et?

> > eller er php automatisk default scripting sprog
> > i en php-fil?
>
> PHP er serverside, ikke klientside.

Snak om at sove i timen



Chano Andersen (02-08-2002)
Kommentar
Fra : Chano Andersen


Dato : 02-08-02 02:41

On Thu, 01 Aug 2002 17:34:35 +0200, Christian Joergensen <mail@phpguru.dk> enlightend everyone in dk.edb.internet.webdesign.serverside.php with:
> kigge på strip_tags() - ellers tror jeg ikke der er nogen vej udenom en
> htmlentities() med efterfølgende str_replace() på de få tags du måtte
> ønske undtaget.
>

Hvad med denne?

function dkcharstohtml ($string) {
$dkcharshtml = array(
   "æ" => "&aelig;",
   "ø" => "&oslash;",
   "å" => "&aring;",
   "Æ" => "&AElig;",
   "Ø" => "&Oslash;",
   "Å" => "&Aring;");

return strtr($string,$dkcharshtml);
}

Den skulle kunne omdanne æ,ø,å uden at røre noget andet.

Kaldes sådan her:

echo dkcharshtml($message);

--
Chano Andersen (chano@mrfunny.yi.org)
MSN Messenger: chano_andersen@hotmail.com ICQ: 15377564
Yahoo! Messenger: mrfunny_dk AIM: mrfunnydk1
http://mrfunny.yi.org/ | http://www.nikkiwebster.dk/

Jonni (02-08-2002)
Kommentar
Fra : Jonni


Dato : 02-08-02 07:48

Chano Andersen <spamtrap@mrfunny.yi.org> wrote:
> On Thu, 01 Aug 2002 17:34:35 +0200, Christian Joergensen

>>
>
> Hvad med denne?
>
> function dkcharstohtml ($string) {
> $dkcharshtml = array(
> "æ" => "&aelig;",
> "ø" => "&oslash;",
> "å" => "&aring;",
> "Æ" => "&AElig;",
> "Ø" => "&Oslash;",
> "Å" => "&Aring;");
>
> return strtr($string,$dkcharshtml);
> }
>
> Den skulle kunne omdanne æ,ø,å uden at røre noget andet.
>
> Kaldes sådan her:
>
> echo dkcharshtml($message);
Takker, lidt mere elegant end en række str_replace(), som er der hvor
jeg er nået til.
Jonni



Chano Andersen (03-08-2002)
Kommentar
Fra : Chano Andersen


Dato : 03-08-02 02:43

On Fri, 2 Aug 2002 08:47:40 +0200, Jonni <jobier@hotmail.com> enlightend everyone in dk.edb.internet.webdesign.serverside.php with:
> Takker, lidt mere elegant end en række str_replace(), som er der hvor
> jeg er nået til.

Tjeck lige, at jeg bruger de rigtige entities for æøå, da jeg ikke er helt
sikker på om jeg har skrevet dem rigtigt.

--
Chano Andersen (chano@mrfunny.yi.org)
MSN Messenger: chano_andersen@hotmail.com ICQ: 15377564
Yahoo! Messenger: mrfunny_dk AIM: mrfunnydk1
http://mrfunny.yi.org/ | http://www.nikkiwebster.dk/

Jonni (03-08-2002)
Kommentar
Fra : Jonni


Dato : 03-08-02 07:55

Chano Andersen <spamtrap@mrfunny.yi.org> wrote:
> On Fri, 2 Aug 2002 08:47:40 +0200, Jonni <jobier@hotmail.com>
> enlightend everyone in dk.edb.internet.webdesign.serverside.php with:
>> Takker, lidt mere elegant end en række str_replace(), som er der hvor
>> jeg er nået til.
>
> Tjeck lige, at jeg bruger de rigtige entities for æøå, da jeg ikke er
> helt sikker på om jeg har skrevet dem rigtigt.

Ser fint ud her, og virker fint
Jonni



Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408950
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste