Avatar billede Slettet bruger
17. december 2010 - 20:11 Der er 6 kommentarer og
1 løsning

Hente variabel-navne fra php-fil

Jeg har en php-fil følgende indhold (eksempel):

[div]
<?php

$content .=  ("
    <form name=\"user\" action=\"test.php\" method=\"post\">
      <table cellpadding=\"3\" cellspacing=\"0\" class=\"borderless\">
        <tr>
          <td>".$_SESSION['language']['user.php']['form']['user_id'].":</td>
          <td><input type=\"text\" name=\"userid\" value=\"\"></td>
        </tr>
        <tr>
          <td>".$_SESSION['language']['user.php']['form']['firstname'].":</td>
          <td><input type=\"text\" name=\"firstname\" value=\"\"></td>
        </tr>
        <tr>
          <td>".$_SESSION['language']['user.php']['form']['lastname'].":</td>
          <td><input type=\"text\" name=\"lastname\" value=\"\"></td>
        </tr>
      </table>
    </form>
");

echo $content;
?>
[div]

Hvordan får jeg en liste ud med alle $_SESSION['language']-variablerne?

Det er ikke indholdet af variablerne jeg ønsker, men selve variabel-navnene:
$_SESSION['language']['user.php']['form']['user_id']
$_SESSION['language']['user.php']['form']['firstname']
$_SESSION['language']['user.php']['form']['lastname']

Jeg ved godt hvordan jeg åbner min php-fil og læser den linje for linje, men jeg ved ikke hvordan jeg udsøger mine variabler.

"user.php", "form" og "user_id" kan indeholde alle mulige andre navne. Det eneste fælles er "$_SESSION['language']" samt at der er 4 led i alt.
Avatar billede showsource Seniormester
17. december 2010 - 21:10 #1
Fatter hat ...
Du har en phpfil, yes
I den findes forskellige værdier alt efter HVEM som requester filen.
Og så vil du med en anden phpfil finde vars for hvem det nu er som loader den første phpfil ?????

Glem det !
Brug første phpfil til også at gemme i db, og med anden phpfil hent fra db.
Avatar billede showsource Seniormester
17. december 2010 - 21:12 #2
Nå, ok, misforstod lidt,
anyway, så brug stadig en db hvis det er så vigtigt at vide hvad du har gang i ... :O)
Avatar billede Slettet bruger
18. december 2010 - 10:59 #3
Kan godt se du ikke har forstået min problemstilling.

Jeg har 1987639871 php-filer, der anvender $_SESSION['language']-variabler til sprog.
Indholdet af disse variabeler bliver sat via en funktion, der henter værdierne i en DB.

Mit problem er at finde ud af hvilke $_SESSION['language']-variabler der optræder i hvilke php-filer, så jeg sikrer at alt det nødvendige indhold er i databasen.

Samtidig skal jeg have sikret at databasen ikke indeholder noget der ikke anvendes.

Jeg har ikke brug for at vide at $_SESSION['language']['user.php']['form']['firstname'] = "Keld"

Jeg har brug for at vide at $_SESSION['language']['user.php']['form']['firstname'] anvendes i jdjdhd.php.

I stedet for at åbne alle mine php-dokumenter, kigge dem igennem for at se hvor $_SESSION['language']-variabler anvendes, må dette kunne automatiseres.
Avatar billede Slettet bruger
18. december 2010 - 11:01 #4
Som jeg også skrev, er mine navne dynamiske, med undtagelse af det første "led":

Følgende er eksempler på hvordan en $_SESSION['language']-variabel kan se ud:
$_SESSION['language']['user.php']['form']['firstname']
$_SESSION['language']['test.php']['error']['id_missing']
$_SESSION['language']['cykel.php']['button']['save']
$_SESSION['language']['trold.php']['headline']['Brugerstyring']
$_SESSION['language']['bil.php']['text']['welcome']
Avatar billede webweaver Praktikant
19. december 2010 - 02:57 #5
Det må næsten være noget med at lave en parser og så benytte sig af et regex. Er dog lidt i tvivl om den kun vil søge i den afviklede kode. Altså resultaterne af dine sessions. Ydermere er regex desværre ikke min stærke side, men den burde være i den retning du skal vil jeg mene.
Avatar billede Slettet bruger
19. december 2010 - 20:28 #6
Det var også mit eget bud, men jeg er også helt blank på dette område.
Avatar billede Slettet bruger
20. december 2010 - 16:01 #7
Lukker
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