22. februar 2001 - 09:48Der er
24 kommentarer og 1 løsning
Variabler i include file
Hvordan kan jeg bruge variabler i en indlude file ? Jeg har fundet ud af at include bliver kørt før scriptet, og jeg kan derfor ikke få det til at virke hvis jeg bruger variabler i include file, eks. <!--# include file=\"file.asp?doubbleshot=<%=var1%>\" -->
Så vidt jeg ved er en \"include\" bare en tekstuel substitution. Det vil sige, at hele filen \"file.asp\" bliver indsat dér hvor den er included... Det kan derfor ikke lade sig gøre...
Det kan ikke lade sig gøre på den måde, du der beskriver, men der er en måde at \"overføre\" variable alligevel.
Som der er blevet svaret, bliver den includede fil bare indsat i koden, der hvor du laver din include. Med andre ord bliver den includede fil en del af den nuværende fil, hvorfor du kan tilgå alle variable erklæret i den nuværende fil.
Hvis du har brug for nogle bestemte værdier i din include-fil, ville ovenstående fx kunne skrives som:
Suk, får du en fejl, når du prøver forslagene, kan du ikke bruge variablene, er der ingen værdier i variablene, går serveren kold, bliver Tibet oversvømmet eller hvad sker der og sker der ikke, når du prøver forslagene?
En include fil opfører sig fuldstændig som hvis det var en del af teksten i hovedsiden. Så hvis du kan lave en request i hovedssden, kan du lave fulstændig den samme i includen. Du skal blot spørge på same måde som du ville gøre på hovedsiden. Variable du benytter dig af kan så enten stå i hovedsiden, over includen, eller i includen.
Bare se det som flere stykker af samme side, der først samles og dernæst afvikles.
teepee >> Det er netop det det ikke gør i ASP, det bliver kørt før alt andet, derfor læser den først variabler efter den har kørt include!! lange >> Det jeg skal have lavet er ikke noget med enestående variabler de skal være i include file=\"\" Ligesom det eksempel jeg skrev tidligere. Su du skal ikke sige suk til mig!!
Ok, hvis det _skal_ være som du skriver i spørgsmålet, kan det ikke lade sig gøre.
Og angående afvikling osv, så opfører SSI-includes og ASP nøjagtigt som teepee skriver (\"se det som flere stykker af samme side, der først samles og dernæst afvikles\"). Der er ikke tale om, at indholdet af include-files parses før resten af filerne, hvilket du også vil kunne indse, hvis du afprøver mit main.asp/inc.asp-eksempel.
Det siger alle de prof. udviklere jeg har snakket med!! Og dettet site er amatøragtigt, hurtige svar, men så kan man sq heller ikke få svar på ens spørgsmål... Netcoders styrer for vildt... Prof. udviklere sidder ved deres tastatur... Ikke hurtige svar, men effektive!! ASP er sq noget lort, hvis man ikke kan lave det jeg vil stinker det sq, så holder jeg mig sq til php!!
Og dettet site er amatøragtigt, hurtige svar, men så kan man sq heller ikke få svar på ens spørgsmål... = Og dette site er amatøragtigt, hurtige svar, men så kan man sq heller ikke få ordentlige svar på ens spørgsmål...
Hvor mange af de personer, der har svaret her, er ikke professionelle udviklere? Er det overhovedet noget du kan udtale dig om?
Og jo, du fik svar på dit spørgsmål 54 sekunder efter du oprettede det. Svaret var endda korrekt (\"Du kan slet ikke gøre det\"). Der ud over har du fået en god bunke forslag til alternativer.
Og du skal da have lov til at holde dig til php, men jeg gad egentligt godt vide, hvordan du egentligt løser dit problem i php?
Og under alle omstændigheder forsøger vi jo blot at gøre dig en gratis tjeneste og så kan du jo bare lade være med at tage i mod den. Derfor behøver du jo ikke at blive barnlig og stå og puste dig op.
Interessant at den metode, du foreslår, netop ikke fungerer i PHP, da den vil lede efter en fil lokalt med navnet \'file.php?var1=$noget\' :
Fra www.php.net/manual/en/function.include.php: \"/* Won\'t work; looks for a file named \'file.php?varone=1&vartwo=2\' * on the local filesystem. */ include (\"file.php?varone=1&vartwo=2\");\"
Derimod kan du gøre det med fx http://host/file.php?var=$noget, da den så kører gennem http og dermed gennem php-fortolkeren. Den samme metode kan du anvende i ASP via objektet ASPhttp eller ASPexec (mener jeg).
Så nej, ASP er ikke fra barnsben født med muligheden og ja, det burde det måske være. Om det så er sproget eller den programmør, der ikke magter at anvende sproget korrekt, der er dårlig - tja, det vil jeg lade være op til folk selv at vurdere...
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.