|
| Strenge Strenge Fra : Søren Olesen |
Dato : 31-03-01 22:34 |
|
Hejsa
Følgende skrabede kode giver mig lidt problemer.
[..]
$title = odbc_result($result,2);
[..]
<input type=text name=title size=35 value=<? echo "$title" ?>>
[..]
title indeholder en streng (Min test Streng)
men i inputboksen vises kun (Min)
det dur jo ikke.
Så har jeg prøvet urlencode($title)
men så får jeg i inputboksen (Min+test+Streng)
Jeg vil gerne have at inputboksen indeholder (Min test Streng),
er der nogen der kan hjælpe mig med hvad jeg kan gøre?
Mvh
Søren Olesen
| |
Christian Doeleman (31-03-2001)
| Kommentar Fra : Christian Doeleman |
Dato : 31-03-01 22:37 |
|
"Søren Olesen" <soreno@hco.kollegienet.dk> skrev i en meddelelse
news:3ac64d3d$0$5731$4d4eb98e@news.dk.uu.net...
> $title = odbc_result($result,2);
> <input type=text name=title size=35 value=<? echo "$title" ?>>
>
> title indeholder en streng (Min test Streng)
> men i inputboksen vises kun (Min)
Sæt apostroffer omkring din value:
<input type="text" name="title" size="35" value="<? echo "$title" ?>">
Med venlig hilsen
Christian
| |
Jonas Koch Bentzen (31-03-2001)
| Kommentar Fra : Jonas Koch Bentzen |
Dato : 31-03-01 22:45 |
|
Christian Doeleman skrev:
> Sæt apostroffer omkring din value:
> <input type="text" name="title" size="35" value="<? echo "$title" ?>">
Det nu gåseøjne, du har brugt dér, ikke apostroffer : )
Jeg plejer selv at bruge apostroffer, fordi det gør det let at skrive
HTML-kode inden i PHP:
echo "<input type='text' name='test'/>\n";
--
Venlig hilsen
Jonas Koch Bentzen
| |
Thomas L. Kjeldsen (01-04-2001)
| Kommentar Fra : Thomas L. Kjeldsen |
Dato : 01-04-01 01:14 |
|
In article <9a5j45$13ri$3@news.cybercity.dk>, Jonas Koch Bentzen wrote:
>Christian Doeleman skrev:
>
>Jeg plejer selv at bruge apostroffer, fordi det gør det let at skrive
>HTML-kode inden i PHP:
>
>echo "<input type='text' name='test'/>\n";
Det gjorde jeg også en overgang indtil Troels min mentor gjorde mig opmærksom
på at det er noget snask at gøre, hvis man vil være ven med alle browsere. Da
det er meget sjældent jeg skriver html er det en af de ting jeg holder mig til
-- at brug " til at angive værdier i html frem for '. Selvom det måske er
pernittent
/tlk
| |
Jonas Koch Bentzen (01-04-2001)
| Kommentar Fra : Jonas Koch Bentzen |
Dato : 01-04-01 08:16 |
|
Thomas L. Kjeldsen skrev:
> In article <9a5j45$13ri$3@news.cybercity.dk>, Jonas Koch Bentzen
> wrote:
>>Christian Doeleman skrev:
>>
>>Jeg plejer selv at bruge apostroffer, fordi det gør det let at skrive
>>HTML-kode inden i PHP:
>>
>>echo "<input type='text' name='test'/>\n";
>
> Det gjorde jeg også en overgang indtil Troels min mentor gjorde mig
> opmærksom på at det er noget snask at gøre, hvis man vil være ven med
> alle browsere.
Jeg vil gerne være ven med alle browsere - og derfor forsøger jeg altid
at skrive gyldig (X)HTML - og apostroffer er gyldige. Jeg har aldrig
haft problemer med dem i nogen browsere.
Dog er der enkelte tilfælde, hvor man ikke kan bruge dem, men er
tvunget til at bruge gåseøjne. Det er, når man skal have noget
ukendt tekst ind i en attributværdi. Eks.:
$streng = "Her er nogle <i>'apostroffer'</i> og
\"citationstegn\"";
Hvis jeg nu skulle putte den streng ind i en attributværdi, ville jeg
være tvunget til at køre htmlspecialchars på det. htmlspecialchars
oversætter gåseøjnene til ", mens apostrofferne ikke bliver rørt.
Derfor vil det gå galt, hvis man skriver følgende:
<input type='hidden' name='test' value='<?php echo
htmlspecialchars($streng); ?>'/>
Det ville komme til at se sådan ud i browseren:
<input type='hidden' name='test' value='Her er nogle
<i>'apostroffer'</i> og "citationstegn"'/>
Browseren ville derfor forledes til at tro, at værdien slutter allerede
før ordet apostroffer - altså, at værdien ville være "Her er nogle <i>".
Derfor skal man selvfølgelig bruge gåseøjne:
<input type='hidden' name='test' value=\"<?php echo
htmlspecialchars($streng); ?>\"/>
--
Venlig hilsen
Jonas Koch Bentzen
| |
Jonas Koch Bentzen (01-04-2001)
| Kommentar Fra : Jonas Koch Bentzen |
Dato : 01-04-01 08:40 |
|
Jonas Koch Bentzen skrev:
> Det ville komme til at se sådan ud i browseren:
>
> <input type='hidden' name='test' value='Her er nogle
> <i>'apostroffer'</i> og "citationstegn"'/>
Lille rettelse: Det ville selvfølgelig komme til at se sådan ud:
<input type='hidden' name='test' value='Her er nogle
<i>'apostroffer'</i> og "citationstegn"'/>
....men det er ikke vigtigt for pointen...
--
Venlig hilsen
Jonas Koch Bentzen
| |
Thomas L. Kjeldsen (01-04-2001)
| Kommentar Fra : Thomas L. Kjeldsen |
Dato : 01-04-01 23:42 |
|
In article <9a6kjs$2ivd$1@news.cybercity.dk>, Jonas Koch Bentzen wrote:
>Dog er der enkelte tilfælde, hvor man ikke kan bruge dem, men er
>tvunget til at bruge gåseøjne. Det er, når man skal have noget
>ukendt tekst ind i en attributværdi. Eks.:
Jeg har vendt 'problematikken' om, og bruger nu typisk
printf('<input type="text" value="%s">', htmlentities($value));
istedet - men det er naturligvis en smagssag
mvh Thomas
| |
Jonas Delfs (02-04-2001)
| Kommentar Fra : Jonas Delfs |
Dato : 02-04-01 14:29 |
|
"Thomas L. Kjeldsen" <tlk@tigerdyr.lyngbol.dk> skrev i en meddelelse
news:slrn9cfblg.144h.tlk@tigerdyr.lyngbol.dk...
> In article <9a6kjs$2ivd$1@news.cybercity.dk>, Jonas Koch Bentzen wrote:
> >Dog er der enkelte tilfælde, hvor man ikke kan bruge dem, men er
> >tvunget til at bruge gåseøjne. Det er, når man skal have noget
> >ukendt tekst ind i en attributværdi. Eks.:
>
> Jeg har vendt 'problematikken' om, og bruger nu typisk
>
> printf('<input type="text" value="%s">', htmlentities($value));
Det er jo fint nok, men hvis man nu ikke har brug for printf, men bare print
eller echo - OG der skal skrives variabler ud i den streng, duer det jo
ikke.
> istedet - men det er naturligvis en smagssag
Jep
>
> mvh Thomas
- JOnas
| |
Thomas L. Kjeldsen (03-04-2001)
| Kommentar Fra : Thomas L. Kjeldsen |
Dato : 03-04-01 00:10 |
|
In article <9a9v0u$2gk$1@sunsite.dk>, Jonas Delfs wrote:
>Det er jo fint nok, men hvis man nu ikke har brug for printf, men bare print
>eller echo - OG der skal skrives variabler ud i den streng, duer det jo
>ikke.
men... så har man jo netop brug for printf?
/tlk
| |
Jonas Delfs (03-04-2001)
| Kommentar Fra : Jonas Delfs |
Dato : 03-04-01 15:12 |
|
"Thomas L. Kjeldsen" <tlk@tigerdyr.lyngbol.dk> skrev i en meddelelse
news:slrn9ci1mg.160b.tlk@tigerdyr.lyngbol.dk...
> In article <9a9v0u$2gk$1@sunsite.dk>, Jonas Delfs wrote:
>
> >Det er jo fint nok, men hvis man nu ikke har brug for printf, men bare
print
> >eller echo - OG der skal skrives variabler ud i den streng, duer det jo
> >ikke.
>
> men... så har man jo netop brug for printf?
Er det ikke lidt at skyde en tissemyre med en kanon? :)
>
> /tlk
| |
Thomas L. Kjeldsen (03-04-2001)
| Kommentar Fra : Thomas L. Kjeldsen |
Dato : 03-04-01 16:38 |
|
In article <9acluc$bqg$1@sunsite.dk>, Jonas Delfs wrote:
>> men... så har man jo netop brug for printf?
>
>Er det ikke lidt at skyde en tissemyre med en kanon? :)
Hvorfor synes du det?
mvh Thomas
| |
Jonas Delfs (03-04-2001)
| Kommentar Fra : Jonas Delfs |
Dato : 03-04-01 19:56 |
|
"Thomas L. Kjeldsen" <tlk@tigerdyr.lyngbol.dk> skrev i en meddelelse
news:slrn9cjri3.dp8.tlk@tigerdyr.lyngbol.dk...
> In article <9acluc$bqg$1@sunsite.dk>, Jonas Delfs wrote:
> >> men... så har man jo netop brug for printf?
> >
> >Er det ikke lidt at skyde en tissemyre med en kanon? :)
>
> Hvorfor synes du det?
Heh - det var bare for sjov. Jeg må indrømme at jeg aldrig rigtigt har haft
brug for (s)printf, så jeg skal ikke rigtigt kunne udtale mig om det.
Har ikke lige fået sat mig ind i funktionens anden parameter, hvorfor den
måske virker lidt "avanceret" i forhold til print/echo.
>
> mvh Thomas
| |
Søren Olesen (31-03-2001)
| Kommentar Fra : Søren Olesen |
Dato : 31-03-01 22:46 |
|
"Christian Doeleman" <usenet@nospam.doeleman.dk> wrote in message
news:9a5ita$eqn$1@sunsite.dk...
> Sæt apostroffer omkring din value:
Jamen, det var da lige det der manglede, tak skal du have.
Mvh
Søren Olesen
| |
Jonas Koch Bentzen (31-03-2001)
| Kommentar Fra : Jonas Koch Bentzen |
Dato : 31-03-01 22:43 |
|
Søren Olesen skrev:
> [..]
> $title = odbc_result($result,2);
> [..]
> <input type=text name=title size=35 value=<? echo "$title" ?>>
> [..]
>
> title indeholder en streng (Min test Streng)
> men i inputboksen vises kun (Min)
Tekstværdier i attributter skal omgives af citationstegn (og i XHTML
skal også talværdier inden for citationstegn). Ret linjen til følgende:
<input type='text' name='title' size='35' value='<? echo $title ?>'/>
eller endnu bedre:
<input type='text' name='title' size='35' value=\"<? echo
htmlspecialchars($title); ?>\"/>
--
Venlig hilsen
Jonas Koch Bentzen
| |
Søren Olesen (31-03-2001)
| Kommentar Fra : Søren Olesen |
Dato : 31-03-01 22:47 |
|
"Jonas Koch Bentzen" <ingen.epostadresse@eksempel.dk> wrote in message
news:9a5j1c$13ri$2@news.cybercity.dk...
> Tekstværdier i attributter skal omgives af citationstegn (og i XHTML
> skal også talværdier inden for citationstegn).
Også, tak til dig.
Mvh
Søren Olesen
| |
|
|