php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 06.07.2006, 13:53  
Erfahrener Benutzer
 
Registriert seit: 02.12.2003
Beiträge: 269
phpfortgeschrittener
phpfortgeschrittener eine Nachricht über ICQ schicken phpfortgeschrittener eine Nachricht über AIM schicken phpfortgeschrittener eine Nachricht über MSN schicken phpfortgeschrittener eine Nachricht über Yahoo! schicken
Standard Smarty-Prob.: Weiße Seite

Hallo,
ich lasse durch Smarty ein Template laufen, jedoch wird mir beim Frontend nichts weiter angezeigt.
Eine leere Seite taucht auf, weder Fehler noch Warnungen.
Hier mal der Code der index.php:
PHP-Code:
<?php

require ('libs/config.inc.php');
require (
'libs/MySQL.class.php');

$smarty = new Smarty_MySQL ($mysql["host"], $mysql["port"], $mysql["user"], $mysql["pass"], $mysql["db"]);

$smarty->query ("SELECT url, target, text FROM bbct_nav ORDER BY pos");
$smarty->assign('nav'$smarty->fetch());

$smarty->query ("SELECT timestamp, author, title, content FROM bbct_content WHERE is_news = '" . ($_REQUEST["site"] != "content" 0) . "' ORDER BY id DESC");
$smarty->assign('content'$smarty->fetch());

$smarty->display('index.html');

$smarty->close();

?>
Habe mal zum Test nur die display funktion stehen lassen, leider auch ohne Erfolg.
Hoffe ihr könnt mir sagen, was daran falsch ist.
Danke im voraus.
MfG,
WasserDragoon.

EDIT: ich denke ich poste auch nochmal ein stück meiner mysql.class.php:
PHP-Code:
<?php

require ('Smarty.class.php');

class 
Smarty_MySQL extends Smarty {
    
    var 
$querys     0;
    var 
$cfg        = array();
    var 
$connection NULL;
    var 
$connected  false;
    var 
$result     NULL;
    
    function 
Smarty_MySQL ($host$port$user$pass$db) {
        
$this->Smarty();
        
        
$this->template_dir 'templates/';
        
$this->compile_dir  'templates_c/';
        
$this->caching false;
...
?>
MfG
phpfortgeschrittener ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 06.07.2006, 15:08  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Wie wärs mal mit dem Smarty-Handbuch?

http://smarty.php.net/manual/en/chap...ng.console.php
PHP-Code:
<?php
$tpl
->debugging true;
?>
Zergling-new ist offline  
Alt 06.07.2006, 16:01  
Erfahrener Benutzer
 
Registriert seit: 02.12.2003
Beiträge: 269
phpfortgeschrittener
phpfortgeschrittener eine Nachricht über ICQ schicken phpfortgeschrittener eine Nachricht über AIM schicken phpfortgeschrittener eine Nachricht über MSN schicken phpfortgeschrittener eine Nachricht über Yahoo! schicken
Standard

hab ich nach dem $this->caching gemacht klappt aber nich kommt nix
phpfortgeschrittener ist offline  
Alt 06.07.2006, 16:17  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Deine Verwurstelung von MySQL und Smarty in einer Klasse ist übrigens Blödsinn.
Du musst dir eine Klassen-Vererbung vom Prinzip -> Fahrzeug -> Auto -> Porsche .. vorstellen, MySQL -> Smarty ergibt keinen Sinn, es sei denn du siehst Smarty als das die Darstellungs-Unterklasse deiner MySQL Datenbank. Wäre aber sehr weit hergeholt und da du query() und assign() explizit einzeln aufrufst, hast du eigentlich überhaupt keinen internen Zusammenhang zwischen MySQL und Smarty, der das rechtfertigen würde.


Dein Problem hatte ich glaube ich auch mal. Ich weiß aber nicht mehr woran es lag und ob ich es nicht doch mittels debugging und error_reporting gelöst hatte.

Wenn nicht, Pfade überprüfen ($_SERVER['PHP_SELF'] . 'templates/index.html' existiert?) und Template-Datei (index.html) und Template-Konfiguration (index.php) brutal kürzen, bis es klappt.
Zergling-new ist offline  
Alt 06.07.2006, 18:13  
Erfahrener Benutzer
 
Registriert seit: 02.12.2003
Beiträge: 269
phpfortgeschrittener
phpfortgeschrittener eine Nachricht über ICQ schicken phpfortgeschrittener eine Nachricht über AIM schicken phpfortgeschrittener eine Nachricht über MSN schicken phpfortgeschrittener eine Nachricht über Yahoo! schicken
Standard

Also meine query funktion schreibt den query in die variable $result, die innerhalb der klasse ist.
Wobei fetch dann $this->result "fetcht"
Daran liegt es aber nicht, da ich ja schon auskommentiert habe, sprich vor jeder zeile bis auf die requires, klassendefinition, display und close funktion ein # gesetzt habe und es ging trotzdem nicht.
ich werde es mal mit error_reporting versuchen ansonsten wüsste ich auch nicht mehr weiter.
mfg

EDIT: ne also error_reporting spuckt auch nichts aus ich weiß jetzt nicht mehr weiter.
phpfortgeschrittener ist offline  
Alt 06.07.2006, 18:15  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Zitat:
brutal kürzen
Debuggen, Vereinfachen, Fehler eingrenzen, ..

Das übliche Prozedere eben!
Zergling-new ist offline  
Alt 06.07.2006, 18:17  
Erfahrener Benutzer
 
Registriert seit: 02.12.2003
Beiträge: 269
phpfortgeschrittener
phpfortgeschrittener eine Nachricht über ICQ schicken phpfortgeschrittener eine Nachricht über AIM schicken phpfortgeschrittener eine Nachricht über MSN schicken phpfortgeschrittener eine Nachricht über Yahoo! schicken
Standard

ich denke mal dass es noch an der index.html liegen könnte, dass diese nicht smarty-konform ist
tut mir leid, aber ich muss mal eben leider den kompletten code geben:
Code:
<html>
<head>
<title>bass beatz car tuning hp</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
{literal}<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>{/literal}
{literal}<style type="text/css">
<!--
.Stil2 {color: #FFCC33}
-->
</style>{/literal}
</head>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<div id="Layer1" style="position:absolute; width:200px; height:115px; z-index:1; left: 182px; top: 2px;">
  <div id="Layer1" style="position:absolute; width:147px; height:290px; z-index:1; left: 653px; top: 158px;">
    <table width="98%" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td height="25" class="title"><div align="center"><font color="#CCCCCC">community</font></div></td>
      </tr>
      <tr>
        <td><table width="98%" border="0" cellspacing="0" cellpadding="2" align="center">
            <tr valign="middle">
              <td height="5"><span class="Stil2">%community%</span></td>
            </tr>
        </table></td>
      </tr>
    </table>
  </div>
  <div id="Layer2" style="position:absolute; width:145px; height:307px; z-index:1; left: 0px; top: 158px;">
    <table width="98%" border="0" cellspacing="0" cellpadding="0">
      <tr> </tr>
      <tr valign="top">
        <td><table width="98%" border="0" cellspacing="2" cellpadding="3" align="center">
{foreach key=id item=nav from=$nav}
	<tr valign="middle"><td>&raquo; {$nav.text}</td></tr>
{/foreach}
        </table></td>
      </tr>
      <tr>
        <td><table width="98%" border="0" cellspacing="0" cellpadding="2" align="center">
        </table></td>
      </tr>
    </table>
  </div><div class="Stil3" id="Layer3" style="position:absolute; width:479px; height:443px; z-index:1; left: 159px; top: 158px;">{foreach key=id item=content from=$content}
	<table width="100%" border="0" align="left" cellpadding="0" cellspacing="0">
		<tr><td>{$content.timestamp|date_format:"%d.%m.%y %H:%M"}</td></tr>
		<tr><td><u>von {$content.author} | {$content.title}</u></td></tr>
		<tr>
			<td>
				{$content.content}
			</td>
		</tr>
	</table>
{/foreach}</div>
  <table width="800" height="600" border="0" align="center" cellpadding="0" cellspacing="0" id="Tabelle_01">
    <tr>
      <td colspan="5">[img]templates/Design/bass-beatz-car-tuning-hp_01.jpg[/img]</td>
    </tr>
    <tr>
      <td>[img]templates/Design/bass-beatz-car-tuning-hp_02.jpg[/img]</td>
      <td>[img]templates/Design/bass-beatz-car-tuning-hp_03.jpg[/img]</td>
      <td>[img]templates/Design/bass-beatz-car-tuning-hp_04.jpg[/img]</td>
      <td>[img]templates/Design/bass-beatz-car-tuning-hp_05.jpg[/img]</td>
      <td>[img]templates/Design/bass-beatz-car-tuning-hp_06.jpg[/img]</td>
    </tr>
  </table>
</div>
</body>
</html>
phpfortgeschrittener ist offline  
Alt 06.07.2006, 18:33  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Also tut mir Leid, ich bekomme da ein Ergebnis und keine Smarty-Fehler:

test.tpl
unverändert deins von oben

test.php
PHP-Code:
<?php
require_once 'inc/constants.php';
require_once 
SMARTY_DIR 'Smarty.class.php';

$tpl = new Smarty();
$tpl->template_dir    S_TPL;
$tpl->compile_dir     S_TPLC;
$tpl->error_reporting E_ALL;
//$tpl->debugging       = true;
$tpl->display('test.tpl');
?>
Ausgabe im Quellcode von test.php:
Code:
<html>
<head>
<title>bass beatz car tuning hp</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>
<style type="text/css">
<!--
.Stil2 {color: #FFCC33}
-->
</style>
</head>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<div id="Layer1" style="position:absolute; width:200px; height:115px; z-index:1; left: 182px; top: 2px;">
  <div id="Layer1" style="position:absolute; width:147px; height:290px; z-index:1; left: 653px; top: 158px;">
    <table width="98%" border="0" cellspacing="0" cellpadding="0">
      <tr>

        <td height="25" class="title"><div align="center"><font color="#CCCCCC">community</font></div></td>
      </tr>
      <tr>
        <td><table width="98%" border="0" cellspacing="0" cellpadding="2" align="center">
            <tr valign="middle">
              <td height="5"><span class="Stil2">%community%</span></td>
            </tr>
        </table></td>

      </tr>
    </table>
  </div>
  <div id="Layer2" style="position:absolute; width:145px; height:307px; z-index:1; left: 0px; top: 158px;">
    <table width="98%" border="0" cellspacing="0" cellpadding="0">
      <tr> </tr>
      <tr valign="top">
        <td><table width="98%" border="0" cellspacing="2" cellpadding="3" align="center">



Notice:  Undefined index:  nav in C:\Programme\xampp\htdocs\nike\tpl\compiled\%%6D^6D7^6D7C5625%%test.tpl.php on line 48

        </table></td>
      </tr>
      <tr>
        <td><table width="98%" border="0" cellspacing="0" cellpadding="2" align="center">
        </table></td>

      </tr>
    </table>
  </div><div class="Stil3" id="Layer3" style="position:absolute; width:479px; height:443px; z-index:1; left: 159px; top: 158px;">

Notice:  Undefined index:  content in C:\Programme\xampp\htdocs\nike\tpl\compiled\%%6D^6D7^6D7C5625%%test.tpl.php on line 63

</div>
  <table width="800" height="600" border="0" align="center" cellpadding="0" cellspacing="0" id="Tabelle_01">
    <tr>

      <td colspan="5">[img]templates/Design/bass-beatz-car-tuning-hp_01.jpg[/img]</td>
    </tr>
    <tr>
      <td>[img]templates/Design/bass-beatz-car-tuning-hp_02.jpg[/img]</td>
      <td>[img]templates/Design/bass-beatz-car-tuning-hp_03.jpg[/img]</td>
      <td>[img]templates/Design/bass-beatz-car-tuning-hp_04.jpg[/img]</td>
      <td>[img]templates/Design/bass-beatz-car-tuning-hp_05.jpg[/img]</td>
      <td>[img]templates/Design/bass-beatz-car-tuning-hp_06.jpg[/img]</td>
    </tr>

  </table>
</div>
</body>
</html>
Zergling-new ist offline  
Alt 06.07.2006, 18:45  
Erfahrener Benutzer
 
Registriert seit: 02.12.2003
Beiträge: 269
phpfortgeschrittener
phpfortgeschrittener eine Nachricht über ICQ schicken phpfortgeschrittener eine Nachricht über AIM schicken phpfortgeschrittener eine Nachricht über MSN schicken phpfortgeschrittener eine Nachricht über Yahoo! schicken
Standard

ja dann wirds wohl an meiner mysql klasse irgendwo liegen...hmm nur wo
hab es wie in der smarty doku beschrieben mit extends Smarty und der "construct" funktion gemacht dort drin die klassenvariablen gesetzt und es ging schonmal aber irgendwie jetzt nicht.
leider nur gibt er mir null fehler aus nicht mal bei error_reporting
phpfortgeschrittener ist offline  
Alt 06.07.2006, 18:46  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Probiers halt ohne deine MySQL Klasse.
Zergling-new ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
CURL in Seite einloggen und einen Teil parsen Matt PHP Tipps 2008 8 03.09.2009 22:30
Bei richtiger Eingabe Daten an nächste Seite versenden xx_heidi_xx PHP Tipps 2008 49 27.05.2008 14:56
Seite nicht mehr gültig Igäl PHP Tipps 2006 3 25.05.2006 16:08
[Erledigt] Wetten automatisch von anderer Seite beziehen PHP Tipps 2006 11 03.03.2006 09:09
Formular - Daten für nächste Seite behalten NetLook PHP Tipps 2007 7 18.11.2005 13:21
Frame schließen und Smarty-Prob.: Weiße Seite workaholic HTML, Usability und Barrierefreiheit 2 06.09.2005 13:36
Kontaktformular, welches auf neue html Seite führt PHP Tipps 2005-2 4 20.07.2005 11:21
Smarty prob PHP Tipps 2005-2 7 10.07.2005 21:01
Seite in Seite PHP-Fortgeschrittene 3 15.03.2005 19:27
Mit post an weitere Seite oder 2 Seiten übergeben? PHP Tipps 2005 1 02.02.2005 12:16
Neue Seite an einer bestimmten Stelle aufrufen PHP Tipps 2005 3 13.01.2005 10:09
blätterfunktion-limit-letzte seite PHP Tipps 2004-2 2 20.12.2004 23:56
Eine 2te Seite auto matisch in neuem Fenster laden PHP Tipps 2004 4 25.08.2004 14:10

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
smarty leere seite, smarty weiße seite, smarty weisse seite, smarty zeigt leere seite, smarty leere ausgabe, smarty display leere seite, smarty javascript leere seite, smarty nur leere seite, smarty: seite ist leer, smarty nur weiße seite, smarty zur index.html seite, smarty ->display leere seite, weisse bildschirm smarty, php smarty berechtigung weiße seite, smarty upload weiße seite, smarty mysql abfrage, meinbrutalo seite weiß, smarty mysql.class.php, weiße seite keine fehlermeldung php smarty, php zeigt weiße seite

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:08 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.