[PHP/Templatepower] Probleem met variabelen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • ilovetechno
  • Registratie: Oktober 2001
  • Laatst online: 17:06
Ik ben mijn site aan het omzetten naar van PHP naar PHP/Templatepower om het geheel overzichtelijk te houden.

Nu heb ik een probleem:

Ik wil de variabele username weer geven:

Deze gaf ik voorgeen weer met:
PHP:
1
2
include("./include/session.php");
echo "<b> $session->username</b>";


Nu wil ik deze variable opnemen in mijn Index.php en in mijn TPL gebruiken als bijv {username}

Ik krijg dit niet voor elkaar.. en met de manual en google wordt ik niet veel wijzer...

Hoe krijg ik dit voor elkaar?

Acties:
  • 0 Henk 'm!

  • Pyrus
  • Registratie: November 2001
  • Laatst online: 20-09 21:30

Pyrus

Hardknock life

PHP:
1
2
$content=str_replace("{username}", $session->username, $template);
print $content;


:?

LinkedIn


Acties:
  • 0 Henk 'm!

  • ilovetechno
  • Registratie: Oktober 2001
  • Laatst online: 17:06
Sorry.. maar ik gebruik zoals vermeld templatepower...

Je dient daar variabelen naar mijn weten als volgt te declareren om binnen de template te gebruiken

$tpl->assign("username", $session->username);

Bovenstaande werkt dus helaas niet.

Wanneer ik jouw code in mijn index.php zet krijg ik: Notice: Undefined variable: session in c:\program files\easyphp1-8\www\ilt_cms2\index.php on line 4

Acties:
  • 0 Henk 'm!

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Ik ben bang dat je $_SESSION moet gebruiken; maar een gebrek aan context kan deze tip nutteloos doen zijn. Waarom begin je zelf niet met debuggen; waarom zouden wij moeten weten hoe templatepower werkt; danwel wat jij in je session.php hebt staan? :)

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Acties:
  • 0 Henk 'm!

  • ilovetechno
  • Registratie: Oktober 2001
  • Laatst online: 17:06
Ik snap dat het niet de bedoeling is dat jullie mijn hele code gaan debuggen.
Maar templatepower wordt veel gebruikt. Er staan ook tal van topics op GoT over templatepower.

Een templatesysteem zoals templatepower is bedoeld om je HTML en PHP te scheiden. Het lijkt me dat je in je index gewoon variabelen uit andere php bestanden moet kunnen declareren voor gebruik in templates. Als ik hier een antwoord op heb ben ik erg geholpen.

Acties:
  • 0 Henk 'm!

  • Mafkees
  • Registratie: Oktober 2003
  • Niet online
http://templatepower.codo...nction.assign.php?lang=en

En nog veel meer moois over dit systeem :) http://templatepower.codocad.com/manual/index.php

[ Voor 41% gewijzigd door Mafkees op 01-10-2006 16:51 ]


Acties:
  • 0 Henk 'm!

  • Patriot
  • Registratie: December 2004
  • Laatst online: 16-09 13:49

Patriot

Fulltime #whatpulsert

Hoezo 'het werkt niet'? Dat is echt iets waar we helemaal niks mee kunnen. Krijg je gewoon niets, een witte pagina, een error?

Begin eens met het plaatsen van error_reporting(E_ALL) na de PHP open tag. Krijg je dan wel een error?

Acties:
  • 0 Henk 'm!

  • ilovetechno
  • Registratie: Oktober 2001
  • Laatst online: 17:06
Dit stuk heb ik ook gelezen. Maar waar staat er hoe ik een normale PHP variable omzet naar een TPL variabele ? Door $tpl->assign( "name", "Ron" ); te gebruiken is ht natuurlijk geen variable
Patriot schreef op zondag 01 oktober 2006 @ 16:55:
Hoezo 'het werkt niet'? Dat is echt iets waar we helemaal niks mee kunnen. Krijg je gewoon niets, een witte pagina, een error?

Begin eens met het plaatsen van error_reporting(E_ALL) na de PHP open tag. Krijg je dan wel een error?
Dit is een TPL file.
HTML:
1
2
3
4
5
6
7
8
9
10
<TABLE BORDER=1 BORDERCOLOR=BLACK width="100%">
<tr><td>
Je bent ingelogd als <b>{blaat}</b>
</td></tr>
<tr><td>
<a href=userinfo.php?user={blaat}>Profiel weergeven</a> 
</td></tr>
<tr><td>
<a href=useredit.php>Profiel wijzigen</a>
</td></tr>


Als ik $tpl->assign( "blaat", "TEST" ); gebruik komt er gewoon TEST te staan waar ik {blaat} gebruik.

Maar als ik $tpl->assign("username", $session->username); gebruik wordt de site wel gewoon weergegeven maar staat op de blaats waar ik {blaat} gebruik niets 8)7

edit: Na error_reporting(E_ALL); hetzelfde resultaat

Acties:
  • 0 Henk 'm!

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

ilovetechno schreef op zondag 01 oktober 2006 @ 17:08:
[...]

Maar als ik $tpl->assign("username", $session->username); gebruik wordt de site wel gewoon weergegeven maar staat op de blaats waar ik {blaat} gebruik niets 8)7
Staat de $tpl->assign op dezelfde plaats als waar eerst de
PHP:
1
echo "<b> $session->username</b>";
stond? Anders is $session ws gewoon niet gedefinieerd

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Acties:
  • 0 Henk 'm!

  • Mafkees
  • Registratie: Oktober 2003
  • Niet online
Zet eens commentaar voor wat je nu hebt en op een regel eronder een echo met dezelfde output... dat bedoel ik zo.. puur om even te testen:

PHP:
1
2
3
include("./include/session.php"); // ik ben overigens voorstander van require :P
//$tpl->assign("username", $session->username);
echo $session->username;


Alstie nou niets laat zien weet je waar het probleem ligt..
Pagina: 1