Toon posts:

Smarty geeft blanco pagina

Pagina: 1
Acties:

Verwijderd

Topicstarter
Beste mensen,

Op het moment ben ik nieuw met Smarty en heb nu een probleempje. Kijken of iemand hier mij kan helpen?

Mijn situatie in het kort:
Ik ben een systeem aan het bouwen d.m.v. Smarty PHP template engine. Thuis werk ik met een Windows 98 systeem en alles werkt naar behoren. Upload ik mijn bestanden echter naar een linux systeem, dan werkt het niet meer. Ik krijg geen errors. De pagina's die geparsed worden zijn gewoon blanco.

Kent iemand dit probleem?

Alvast bedankt voor de moeite!


MikeyT

Verwijderd

Topicstarter
Nog even ter informatie...

met deze regels code ter debuginformatie:

echo "Voor de smarty-display() functie aanroep...<br>";
$smarty->display('superuser.login.tpl');
echo "NA de smarty-display() functie aanroep...<br>";


Krijg ik deze output:

Voor de smarty-display() functie aanroep...
NA de smarty-display() functie aanroep...


Ik krijg dus na de smarty-display() aanroep, geen output.... wat is er mis de display() functie van smarty? Of wat heb ik fout gedaan?


MikeyT

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

Spider.007

* Tetragrammaton

Je krijgt zowel op Windows als op Linux geen output van smarty-display? In hoeverre verschillen de configuraties op de 2 systemen? Heb je zelf de PHPinfos al vergeleken?

---
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


  • CyberSnooP
  • Registratie: Augustus 2000
  • Laatst online: 31-03 16:47

CyberSnooP

^^^^ schrijft --->

Waarschijnlijk 'configureer' je hem ergens verkeerd (bij het instancieren van de Smarty-class).
• Zet je error_reporting level op E_ALL en kijk of de extra foutmelding die dan eventueel verschijnt je helpt.
• Laat de template file zien die je gebruikt.
• Geef even het gehele minimale testscript wat bij jouw je probleem aangeeft.

|_____vakje______|


  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07-2025
het probleem is hoogst waarschijnlijk de naam van je files: Win98 is non-case sensitive, Linux is dat wel - ook moet je spul aan die files kunnen (ie access right moeten werken)

Verwijderd

Een nieuw regel in Windows is 1 byte, in Unix 2 bytes als ik mij niet vergis.

[ Voor 9% gewijzigd door Verwijderd op 20-04-2003 20:30 ]


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

Spider.007

* Tetragrammaton

Verwijderd schreef op 20 april 2003 @ 20:30:
Een nieuw regel in Windows is 1 byte, in Unix 2 bytes als ik mij niet vergis.
Windows is alleen \n
*nix is \r\n


Windows is \r\n
*nix is alleen \n

O-)

Maar wat dat hiermee te maken heeft :?

[ Voor 10% gewijzigd door Spider.007 op 20-04-2003 21:37 ]

---
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


  • CyberSnooP
  • Registratie: Augustus 2000
  • Laatst online: 31-03 16:47

CyberSnooP

^^^^ schrijft --->

Spider.007 schreef op 20 april 2003 @ 20:31:
Windows is alleen \n
*nix is \r\n
Om misverstanden uit de wereld te helpen: Het is precies andersom. Unix gebruikt alleen het newline character (\n, ascii code 10), Windows gebruikt het carrage return (\r, ascii code 13) gevolgd door het newline tekentje.

Het Smarty probleem verhelpen we alleen makkelijk als je eventjes antwoord geeft op de vragen uit m'n vorige post.

|_____vakje______|


Verwijderd

Topicstarter
Ik krijg helemaal geen errors, dat is het vreemde ook. Ook al zet ik de error_reporting level op E_ALL. Het geeft geen ander resultaat. Het probleem ligt waarschijnlijk toch aan de verschillende servers waarop ik het test. De smarty->display() functie reageert verschillend op elke server. Of het probleem de linux server is, weet ik niet. Smarty zou ook op linux server moeten werken neem ik aan.

Hier een voorbeeld van een template die ik gebruik:

{* Template for use in Smarty *}
<html>
<head>
<title>Panacee ICT: Superuser Authorisatie</title>
</head>
<body>
<h1>Voer gebruikersnaam en wachtwoord in</h1>
<form action="{$action_script}" method="POST">
<table border=0>
<tr><td>
Gebruikersnaam:</td><td><input type="text" name="{$frmUser}"></td>
</tr>
<tr><td>
Wachtwoord:</td><td><input type="password" name="{$frmPass}"></td>
</tr>
<tr><td colspan=2 align="right">
<input type="submit" name="submit" value="Inloggen"></td>
</tr>
</table>
</form>
</body>
</html>

Please help me

Verwijderd

Topicstarter
iemand een ideetje?

  • Harm
  • Registratie: Mei 2002
  • Niet online
Volgens mij moet je wel eerst wat assignen aan $smarty voordat je dmv smarty wat kunt weer laten geven. Dus als jij {$action_script} wilt gebruiken in je template, moet je het volgende doen:
PHP:
1
2
3
4
5
6
7
8
9
10
// zet hier een hoop PHP om je variabelen te vullen en eventueel nog wat andere dingen.

/* Assign variables to smarty */
$smarty->assign("action_script", $action_script);
$smarty->assign("frmUser", $frmUser);
$smarty->assign("frmPass", $frmPass);
// waarbij de eerste naam degene is die in je template beschikbaar is en de tweede variabele uit je PHP komt

/* Display things */
$smarty->display("superuser.login.tpl");

Bij mij werkt dit zo wel. :) Dus ik hoop ook bij jou. Als dit ook niet mocht werken laat dan nog even het stukje PHP zien wat jij gebruikt om te assignen en te displayen.

[ Voor 2% gewijzigd door Harm op 23-04-2003 16:27 . Reden: BTW ]


Verwijderd

Topicstarter
Hey eindelijk iemand die er verstand van heeft!

Dit was het probleem alleen niet.
Hieronder stukje van mijn code:

<?
$smarty->assign('action_script', $PHP_SELF );
$smarty->assign('frmUser', 'user' );
$smarty->assign('frmPass', 'pass' );

echo "Voor de smarty->display() functie aanroep...<br>";
$smarty->display('superuser.login.tpl');
echo "NA de smarty->display() functie aanroep...<br>";
?>

De variabelen had ik dus al wel toegewezen. Op mijn windows 98 computer werkt alles ook wel. Ik heb PHP versies op beide servers gecheckt en daar mag het niet aan liggen. Ook de case-sensitivity mag het probleem niet zijn. De rechten heb ik ook wel goed toegewezen (anders kreeg ik wel errors). Verder nog suggesties?


Groeten,
MikeyT

  • Harm
  • Registratie: Mei 2002
  • Niet online
Staat er wel iets in de broncode van je pagina? (View --> Source oid) Wat staat er in de gecachde templates van smarty? Gaat het initieren van de smarty-class wel goed? Is smarty bijvoorbeeld wel ge-upload en staan de verwijzingen naar smarty wel goed?

Verwijderd

Topicstarter
bron is leeg, dit krijg ik namelijk terug:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=windows-1252"></HEAD>
<BODY></BODY></HTML>

Lege html pagina dus... ik cache niet meer. Ik heb "compile" altijd op "true" staan. Is wel handig voor bij ontwikkeling van mijn systeem. Alles staat goed (qua instellingen en configuraties). Ik krijg toch ook geen errors?

Ik snap het nog steeds niet.

  • Harm
  • Registratie: Mei 2002
  • Niet online
Zet die caching dan weer eens aan en kijk eens wat er dan in je cache-mappen terecht komt. Ik heb even gekeken naar wat er gebeurt als je smarty.class.php niet hebt, verkeerd schrijft of een templatenaam verkeerd schrijft/niet bestaat. Je krijgt dan gewoon een error te zien en dat gebeurt bij jou dus ook niet. Daar zal het denk ik niet in zitten qua fouten.

Zou je mij de template en de PHP-pagina willen sturen? Ik wil wel eens zien wat je allemaal met je code doet.
Pagina: 1