Posts: 569
Threads: 25
Joined: Jun 2008
Reputation:
21
Ich hab versucht in der index.php diesen Code einzufügen:
Code: <?php
$users = array();
//Daten der User aus der Datenbank holen
$query = $db->query("SELECT * FROM users");
while ($row = $db->fetch($query)) {
$row['username'] = entparse($row['username']);
$users[] = $row;
}
//ID und die User an tpl übergeben
$tpl->assign('userInfo', $users);
?>
Und bekomme die Fehlermeldung:
Code: Fatal error: Call to a member function on a non-object in C:\ds-lan\htdocs\include.inc.php on line 16
Das müsste ja heißen, das ich die .tpl falsch anspreche.
Wie heißt die den richtig?
Posts: 861
Threads: 19
Joined: May 2008
Reputation:
57
schonmal dran gedacht, dass
1. die klasse vllt. anders heißt.
2. die klasse schon zerstört wurde.
3. das $tpl->display(); schon davor ausgeführt wurde und daher deine variable eh nicht in die tpl übertragen wird.
wo hast du den versucht den code einzufügen. vor oder nach dem eaccolator teil?
Posts: 569
Threads: 25
Joined: Jun 2008
Reputation:
21
(This post was last modified: 17.10.2008, 13:11 by abbar-2.)
17.10.2008, 13:06
nach dem eaccolator teil
davor klappt es leider auch nicht
jetzt mag er den:
Code: $query = $db->query("SELECT * FROM users");
Teil nicht mehr.
Posts: 861
Threads: 19
Joined: May 2008
Reputation:
57
sorry, aber ich lach mich gleich tot
$db wird mit mysql_close(); geschrottet^^
musst selber mit mysql_connect(); eine verbindung zur datenbank aufmachen
ps: der "gute" programmierer schließt aus sicherheitsgründen immer die verbindung zur datenbank am ende des scripts, auch wenn das bei der dslan egal wäre.
mfg
Posts: 569
Threads: 25
Joined: Jun 2008
Reputation:
21
danke -superking-.
ich hab auch am Anfang eine Verbindung gemacht,
hab aber dann in den Admin tools gesehen das es auch ohne geht.
und der Code ist dort auch entstanden deshalb habe ich keine Verbindung gemacht.
Posts: 1'107
Threads: 37
Joined: May 2008
Reputation:
47
Die Admintools werden auch von Verschiedenen Includes umklammert - deshalb ist dort der $db Constructor bereit und der $db Destructor wird am Ende ausgeführt.
Posts: 569
Threads: 25
Joined: Jun 2008
Reputation:
21
Mit Datenbank verbindung geht es auch leider nicht:
Code: <?php
$verbindung = mysql_connect ("localhost",
"root", "")
or die ("keine Verbindung möglich.
Benutzername oder Passwort sind falsch");
mysql_select_db("lan")
or die ("Die Datenbank existiert nicht.");
?>
<?php
$abfrage = "SELECT * FROM login";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
$login_locked = $row->login_locked;
}
$tpl->display('login_locked', $login_locked);
?>
<?php /*This encoded file was generated using PHPCoder [...] fri/CAydI+9HUtMPvH6y8nbU='); ?>
Posts: 861
Threads: 19
Joined: May 2008
Reputation:
57
du musst, falls du eine variable erstellst mit der verbindung, in deinem fall $verbindung, die variable auch bei mysql_query() als parameter übergeben. ob du es mysql_fetch_object brauchst, weiß ich jetzt nicht, weil ich immer nur mit einer verbindung arbeite und deshalb nur mysql_connect wähle ohne die daten in einer variable zu speichern, das würde ich dir in diesem fall auch empfehlen
hier der verbeserte code ohne garantie, das er geht
PHP Code: <?php @mysql_connect ("localhost", "root", "") or die ("keine Verbindung möglich. Benutzername oder Passwort sind falsch");
@mysql_select_db("lan") or die ("Die Datenbank existiert nicht."); ?>
<?php
$abfrage = "SELECT * FROM login"; $ergebnis = mysql_query($abfrage); while($row = mysql_fetch_object($ergebnis)) {
$login_locked = $row->login_locked;
}
$tpl->display('login_locked', $login_locked);
?>
<?php /*This encoded file was generated using PHPCoder [...] fri/CAydI+9HUtMPvH6y8nbU='); ?>
das @ vor den befehlen mysql_connect und mysql_select_db ist nur dafür da, das der fehler von dieser funktion unterdrückt wird und deine fehlermeldung, also die mit dem die(), verwendet wird
mfg
Posts: 569
Threads: 25
Joined: Jun 2008
Reputation:
21
geht leider nich:
Code: Fatal error: Call to a member function on a non-object in C:\ds-lan\htdocs\register.php on line 22
Zeile 22 ist:
Code: $tpl->display('login_locked', $login_locked);
Posts: 861
Threads: 19
Joined: May 2008
Reputation:
57
den fehler hab icch dir doch schon erklärt ...
gib darüber vllt am besten include_once("include.inc.php");
ich glaub darin müsste die $tpl schon vereinbart sein
Posts: 1'107
Threads: 37
Joined: May 2008
Reputation:
47
Posts: 861
Threads: 19
Joined: May 2008
Reputation:
57
(18.10.2008, 09:58)agrafix Wrote: & $db glaube auch ;D
hätte ich ihm dann wohl die ganzen anderen sachen nicht sagen müssen.
ich hab eh das gefühl, dass das, was er machen will, nicht klappen wird
aber wir wollen ihn ja nicht demotivieren
Posts: 569
Threads: 25
Joined: Jun 2008
Reputation:
21
also muss ich in der index.php das stehen haben
Code: <?php
include_once("include.inc.php");
?>
<?php /*This encoded file was generated using PHP [...] ?>
und in der include.inc.php das hier?:
PHP Code: <?php @mysql_connect ("localhost", "root", "") or die ("keine Verbindung möglich. Benutzername oder Passwort sind falsch");
@mysql_select_db("lan") or die ("Die Datenbank existiert nicht."); ?>
<?php
$abfrage = "SELECT * FROM login"; $ergebnis = mysql_query($abfrage); while($row = mysql_fetch_object($ergebnis)) {
$login_locked = $row->login_locked;
}
$tpl->display('login_locked', $login_locked);
?>
Posts: 861
Threads: 19
Joined: May 2008
Reputation:
57
neinnein, du schreibst das include einfach über deinen anderen teil in der index.php
Posts: 569
Threads: 25
Joined: Jun 2008
Reputation:
21
geht leider auch noch nicht:
PHP Code: <?php include_once("include.inc.php"); ?> <?php @mysql_connect ("localhost", "root", "") or die ("keine Verbindung möglich. Benutzername oder Passwort sind falsch");
@mysql_select_db("lan") or die ("Die Datenbank existiert nicht."); ?>
<?php
$abfrage = "SELECT * FROM login"; $ergebnis = mysql_query($abfrage); while($row = mysql_fetch_object($ergebnis)) {
$login_locked = $row->login_locked;
}
$tpl->display('login_locked', $login_locked);
?> <?php /*This encoded file was generated using PHPCoder (http://phpcoder.sourceforge.net/) and eAccelerator (http://eaccelerator.sourceforge.net/)*[...]H6y8nbU='); ?>
|