/ 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
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 &quot;, 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
&lt;i&gt;'apostroffer'&lt;/i&gt; og &quot;citationstegn&quot;'/>

....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




Søg
Reklame
Statistik
Spørgsmål : 177523
Tips : 31968
Nyheder : 719565
Indlæg : 6408676
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste