Avatar billede Slettet bruger
04. oktober 2008 - 18:39 Der er 7 kommentarer og
1 løsning

Variable erhvervede med include genkendes ikke

Hej eksperter,

Jeg har et problem med include. Her er et eksempel:

-- settings.php
<?php
    $YakYak = "YAK!";
?>

-- index.php
<?php
    include "settings.php";
    print("::: ".$YakYak." :::");
?>

-- OUTPUT
:::  :::

Hvorfor pokker genkendes variablen ikke efter include? Der er ingen fejlmeddelelser eller advarsler.
Avatar billede erikjacobsen Ekspert
04. oktober 2008 - 18:45 #1
Fordi du har gjort noget galt, som du ikke viser her.

http://www.eksperten.dk/spm/847892

Indholder

<?php
    include "847892a.php";
    print("::: ".$YakYak." :::");
?>

og

includefilen

<?php
    $YakYak = "YAK!";
?>
Avatar billede erikjacobsen Ekspert
04. oktober 2008 - 18:46 #2
forket link ;) Skulle have været: http://n0p.com/847892.php
Avatar billede Slettet bruger
04. oktober 2008 - 18:55 #3
Damn... Så får du lige hele koden.


index.php

<?php
   
    // Includes
    include "settings.php";
   
    // Initialization
    session_start();
    mysql_connect($Settings_Host, $Settings_Username, $Settings_Password);
    mysql_select_db($Settings_Database);
   
    // Functions
    function GetCell($column = "*", $conditions = "")
    {
        if ($conditions == "")
            return mysql_result(mysql_query("SELECT ".$column." FROM ".$Settings_Tables["pages"]), 0);
        return mysql_result(mysql_query("SELECT ".$column." FROM ".$Settings_Tables["pages"]." WHERE ".$conditions), 0);
    }
   
    function GetRow($columns = "*", $conditions = "")
    {
        if ($conditions == "")
            return mysql_fetch_row(mysql_query("SELECT ".$columns." FROM ".$Settings_Tables["pages"]." WHERE ".$conditions));
        return mysql_fetch_row(mysql_query("SELECT ".$columns." FROM ".$Settings_Tables["pages"]));
    }
   
    function GetArray($columns = "*", $parameters = "")
    {
        $result = array();
        if ($parameters == "")
            $query = mysql_query("SELECT ".$columns." FROM ".$Settings_Tables["pages"]);
        else
            $query = mysql_query("SELECT ".$columns." FROM ".$Settings_Tables["pages"]." ".$parameters);
        while ($row = mysql_fetch_array($query, MYSQL_NUM))
        {
        }
        return $result;
    }
   
    $Array = GetArray("*");
    for ($i = 0; $i < 3; $i++)
    {
        print("<br>".$i.": ".$Array[$i]."<br>");
    }

// IKKE FÆRDIGGJORT! ... men hvad rager det dig ... koden slutter her anyway.

?>


settings.php

<?php
   
    // Pages
    $Settings_Index = "home";
    $Settings_Error = "error";
   
    // References
    $Settings_Icon = "icons/icon.ico";
    $Settings_StyleSheet = "index.css";
   
    // Database
    $Settings_Host = "localhost";
    $Settings_Username = "CONFIDENTIAL";
    $Settings_Password = "CONFIDENTIAL";
    $Settings_Database = "CONFIDENTIAL";
    $Settings_Tables["pages"] = "ovrkll_pages";
   
?>


Ingen af de variable jeg har testet med kan hentes fra settings.php. Hvorfor ikke?
PS: Jeg har prøvet print() fra settings.php, og det virker.
Avatar billede erikjacobsen Ekspert
04. oktober 2008 - 19:48 #4
Der er nok ikke noget særlig galt. Er det den rigtige settings.php du retter i? Den print du har (haft) i settings.php, bliver den udskrevet når du kigger på index.php?
Avatar billede Slettet bruger
04. oktober 2008 - 20:18 #5
Ja og ja. Jeg har nemlig også et andet dir med samme filer, så jeg testede rimelig tidligt, om det overhovedet var de korrekte filer - og det var og er det (desværre).
Avatar billede Slettet bruger
05. november 2008 - 21:44 #6
Hov! Jeg glemte vist dette spørgsmål... Ups!
Bare smid et svar.
Avatar billede erikjacobsen Ekspert
05. november 2008 - 23:33 #7
Jeg samler slet ikke på point, tak. Hvad var problemet?
Avatar billede Slettet bruger
06. november 2008 - 08:24 #8
Det vides ikke! Og nu skal jeg alligevel genskrive hele siden, så fuck det!
Jeg hader min hukommelse . . .
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