Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [PHP] Instanz zurückgeben (https://www.delphipraxis.net/88467-%5Bphp%5D-instanz-zurueckgeben.html)

Neutral General 15. Mär 2007 19:32


[PHP] Instanz zurückgeben
 
Hi,

Ich fange grade mit PHP an und hab mir ne Funktion gebaut.
Delphi-Quellcode:
function InitializeSmarty()
{
    $smarty = new Smarty;
    $smarty->template_dir = 'templates';
    $smarty->compile_dir = 'templates/build';
    return $smarty;
}
Vielleicht kennen ja ein paar leute die Smarty-Klasse.. Is ein Template System. Aber das spielt ja eigentlich keine Rolle.. jedenfalls ruf ich das ganze so auf:

Delphi-Quellcode:
$mysmarty = InitializeSmarty();
// Weitere Aktionen
Aber da gibts Fehler auf der Seite

Zitat:

Fatal error: Call to a member function on a non-object in /usr/export/www/vhosts/funnetwork/hosting/lyeelia/Index.php on line 39
Wie macht mans richtig?

Gruß
Neutral General

mkinzler 15. Mär 2007 19:57

Re: [PHP] Instanz zurückgeben
 
Was steht den in Zeile 39?
Ich würde eine eigen Smarty-Klasse ableiten
Hast du auch alles notwendige eingebunden:
Code:
require(Smarty.class.php);
?

r2c2 15. Mär 2007 20:05

Re: [PHP] Instanz zurückgeben
 
Hallo :hi:
habs extra nochmal nachgebaut. Bei mir funktionierts. Ohne Probleme. ==> muss wo anders dran liegen. Zeig mal etwas mehr Code...

BTW: IMHO besser: require_once

mfg

Christian

Neutral General 15. Mär 2007 20:05

Re: [PHP] Instanz zurückgeben
 
Hab alle includiert :mrgreen:

Hier ist mal der komplette Quelltext...

Delphi-Quellcode:
<?
include('smarty/Smarty.class.php');

function InitializeSmarty()
{
    $smarty = new Smarty;
    $smarty->template_dir = 'templates';
    $smarty->compile_dir = 'templates/build';
    return $smarty;
}

$DatabaseHost = XXXX;
$DatabaseUser = XXXX;
$DatabasePassword = XXXX;
$Database = XXXX;
$Tab = "`User`";

$DatabasePointer = mysql_connect($DatabaseHost, $DatabaseUser, $DatabasePassword);

mysql_select_db($Database, $DatabasePointer);

$mysmarty = InitializeSmarty();

$mysmarty->assign('name', 'Michael');
$mysmarty->assign('address', 'DelphiPraxis');

$query = "SELECT * FROM $Tab WHERE Username='" .$_POST['user'] . "' AND Password='".$_POST['pw']."'";
if(mysql_num_rows(mysql_query($query, $DatabasePointer))==1)
{
   session_start();
   $smarty->display('index.tpl');
}
 else
 { 
    echo "Falsches Kennwort!";
 }
?>
Gruß
Neutral General

mkinzler 15. Mär 2007 20:09

Re: [PHP] Instanz zurückgeben
 
Es sollte besser so:
Code:
require_once('smarty/libs/Smarty.class.php');
heißen.
Was sagt der Log?

r2c2 15. Mär 2007 20:12

Re: [PHP] Instanz zurückgeben
 
Code:
   $smarty->display('index.tpl');
Da liegt der Hase im Pfeffer...

mfg

Christian

Neutral General 15. Mär 2007 20:20

Re: [PHP] Instanz zurückgeben
 
Danke... Manchmal steht man einfach auf der Leitung und ist blind :wall:

generic 16. Mär 2007 16:12

Re: [PHP] Instanz zurückgeben
 
mein vortrag von phpug-hannover (http://www.phpug-hannover.de)
passt an dieser stelle ganz gut:

Dreamteam - Pear DB und Smarty
http://www.quantendrehung.de/cms/index.php?id=36


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:56 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz