Bekijk Volledige Versie : php beginners vraag probleem met variabele in tag
Paul Malherbe
16/12/04, 17:25
Ik zoek hulp met het volgende:
Als ik dit in een menugedeelte van een webpagina zet:
$week=(date("W"));
$bestand="\kkplanning\week".$week.".html";
echo "<a href=$bestand > Dit is week $week </a>";
?>
krijg ik een keurige link naar een document (een per week verschillend
document)
Als ik er dit van maak:
$week=(date("W"));
$bestand="\kkplanning\week".$week.".html";
echo "<a href=$bestand TARGET="HOOFDPAGINA" > Dit is week $week </a>";
?>
Dan krijg ik het hele menu niet meer te zien en de pagina opent uiteraard
niet met het document. Ik heb ook bij andere combi's van variabelen en tags
iets dergelijks gezien, maar dit is mijn voornaamste probleem. Ik heb
inmiddels al van alles met aanhalingstekens en punten geprobeerd, maar ik
kom er niet uit.
Wat voor sufs doe ik, en vooral, hoe doe ik het niét suf?
Bij voorbaat dank,
Paul Malherbe
Matthijs de Z
16/12/04, 17:35
> Als ik er dit van maak:
>
> $week=(date("W"));
> $bestand="\kkplanning\week".$week.".html";
> echo "<a href=$bestand TARGET="HOOFDPAGINA" > Dit is week $week </a>";
> ?>
Maak er eens dit van
echo "<a href=$bestand TARGET=\"HOOFDPAGINA\" > Dit is week $week </a>";
>
> Dan krijg ik het hele menu niet meer te zien en de pagina opent uiteraard
> niet met het document. Ik heb ook bij andere combi's van variabelen en
tags
> iets dergelijks gezien, maar dit is mijn voornaamste probleem. Ik heb
> inmiddels al van alles met aanhalingstekens en punten geprobeerd, maar ik
> kom er niet uit.
>
> Wat voor sufs doe ik, en vooral, hoe doe ik het niét suf?
>
> Bij voorbaat dank,
>
> Paul Malherbe
>
>
>
Daniel Tryba
16/12/04, 17:45
Paul Malherbe <wanadoonotdus@yahoo.com> wrote:
> $week=(date("W"));
> $bestand="\kkplanning\week".$week.".html";
> echo "<a href=$bestand > Dit is week $week </a>";
> ?>
>
> krijg ik een keurige link naar een document (een per week verschillend
> document)
Dat denk je maar. Er zitten meerdere slordigheden in:
- je gebruikt '\' als directory seperator, in URLs is dat '/'
- een letterlijke '\' moeten in string geconstrueerd met '"' worden
geescaped met een '\', dus '\\'. Het gaat hier dus toevallig goed
omdat '\k' en '\w' geen betekenis hebben
- de constructie van $bestand door overbodige string concatenatie (wat
(wat overigens ook de aanleiding is van de foutmelding in contructies
als: echo "<a href=$bestand target="foo">$week</a>"
Het aandachtig lezen van
http://www.php.net/manual/en/language.types.string.php zou voldoende
moeten zijn om het escapen zoal aangedragen door Mathijs te vinden (maar
nog veel leesbaarder is het gebruik van zowel '"' als "'" in strings)
Paul Malherbe
16/12/04, 19:25
"Daniel Tryba" <spam@tryba.invalid> wrote in message
news:41c1baef$0$9542$e4fe514c@dreader3.news.xs4all .nl...
> Paul Malherbe <wanadoonotdus@yahoo.com> wrote:
> > $week=(date("W"));
> > $bestand="\kkplanning\week".$week.".html";
> > echo "<a href=$bestand > Dit is week $week </a>";
> > ?>
> >
> > krijg ik een keurige link naar een document (een per week verschillend
> > document)
>
> Dat denk je maar. Er zitten meerdere slordigheden in:
> - je gebruikt '\' als directory seperator, in URLs is dat '/'
> - een letterlijke '\' moeten in string geconstrueerd met '"' worden
> geescaped met een '\', dus '\\'. Het gaat hier dus toevallig goed
> omdat '\k' en '\w' geen betekenis hebben
> - de constructie van $bestand door overbodige string concatenatie (wat
> (wat overigens ook de aanleiding is van de foutmelding in contructies
> als: echo "<a href=$bestand target="foo">$week</a>"
>
> Het aandachtig lezen van
> http://www.php.net/manual/en/language.types.string.php zou voldoende
> moeten zijn om het escapen zoal aangedragen door Mathijs te vinden (maar
> nog veel leesbaarder is het gebruik van zowel '"' als "'" in strings)
>
Heren,
Allebei oprecht dank! Ik had een enigszins verpakte RTFM wel verwacht en die
is dan ook gekomen. ;-)
Dank voor de tip en de link.
Paul Malherbe
Niels Basjes
16/12/04, 19:35
On 16 Dec 2004 16:42:24 GMT, the lifeform known as Daniel Tryba
<spam@tryba.invalid> wrote:
>Er zitten meerdere slordigheden in:
>- je gebruikt '\' als directory seperator, in URLs is dat '/'
Deze is echter wel erg sneaky: De '\' werkt namelijk wel als de
browser IE is maar niet als het iets anders is.
Ook leuk als scriptloze browser detectie :D
--
Niels.
Niels Basjes - http://niels.basjes.nl/ - VCV 20000302
mailto:`echo 'Niels Basjes'|awk '{print$1"@"$2".nl"}'`