Avatar billede moddi100 Seniormester
22. maj 2008 - 17:25 Der er 10 kommentarer og
1 løsning

Underlig require() fejl

Hej

Jeg får en lidt underlig fejl:

[indstillinger.php]
$variabel = 'Hej med dig!';

[index.php]
require_once("indstillinger.php");
require_once("side.php");

[side.php]
echo $variabel;

Den udskriver så ingenting. Hvis jeg ændrer side.php til

[side.php]
require_once("indstillinger.php");
echo $variabel;

udskriver den stadigvæk ingenting. Ændrer jeg derimod side.php til

[side.php]
require("indstillinger.php");
echo $variabel;

udskriver den korrekt "Hej med dig!".

Jeg synes det er temlig mærkeligt og ønsker nu en forklaring, evt et alternativ.
Avatar billede erikjacobsen Ekspert
22. maj 2008 - 17:27 #1
Siger du require_once til "indstillinger.php" mere end een gang?
Avatar billede moddi100 Seniormester
22. maj 2008 - 17:36 #2
jeg gør det 1 gang i index.php

da det tilsyneladende ikke virker prøver jeg igen i side.php
Avatar billede erikjacobsen Ekspert
22. maj 2008 - 17:50 #3
Ja, noget må du jo gøre. Se: http://n0p.com/832397.php

832397.php
<?php
  require_once("832397a.php");
  require_once("832397b.php");
?>

832397a.php
<?php
  $variabel = 'Hej med dig!';
?>

832397b.php
<?php
  print $variabel;
?>
Avatar billede moddi100 Seniormester
22. maj 2008 - 18:05 #4
Ja det er jo mystisk, for hvis jeg laver det samme som dig, virker det.

Jeg kan bare ikke se hvor jeg ellers skulle have lavet det
Avatar billede moddi100 Seniormester
22. maj 2008 - 18:16 #5
Her er det korrekte:

1.php
<?php
$var = "HEJ MED DIG!";
?>

2.php
<?php
echo $var;
?>

3.php
<?php
function side()
{
  require("2.php");
}
?>

4.php
<?php
require_once("1.php");
require_once("3.php");
side();
?>
Avatar billede moddi100 Seniormester
22. maj 2008 - 18:19 #6
Hvis du afprøver det, kan du se at det ikke virker...
Avatar billede moddi100 Seniormester
22. maj 2008 - 18:23 #7
Ud fra et par forsøg kan jeg konkludere, at det er fordi side 2.php hentes via en funktion...
Avatar billede erikjacobsen Ekspert
23. maj 2008 - 08:24 #8
Ja, det er jo netop ikke det samme, når du bruger en funktion. I en funktion i PHP har du ikke adgang til variabler udefra, med mindre de er med som parametre, eller angivet med "global" i funktionen.
Avatar billede moddi100 Seniormester
23. maj 2008 - 12:01 #9
Variablerne aflæses inde i funktionen fra haederen.

Nu har jeg bare lagt det i en fil for sig, så det virker nu.

Tak for hjælpen. Smid et svar.
Avatar billede erikjacobsen Ekspert
23. maj 2008 - 12:02 #10
Jeg samler slet ikke på point, tak. Svar selv, accepter dit eget svar.
Avatar billede moddi100 Seniormester
23. maj 2008 - 18:39 #11
oki :D
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester