Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
index.php
#1
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?
[Image: create.php?uid=511]
Reply
#2
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?
Reply
#3
nach dem eaccolator teil
davor klappt es leider auch nicht
jetzt mag er den:

Code:
$query = $db->query("SELECT * FROM users");

Teil nicht mehr.
[Image: create.php?uid=511]
Reply
#4
sorry, aber ich lach mich gleich tot Smile


$db wird mit mysql_close(); geschrottet^^ Smile


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
Reply
#5
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.
[Image: create.php?uid=511]
Reply
#6
Die Admintools werden auch von Verschiedenen Includes umklammert - deshalb ist dort der $db Constructor bereit und der $db Destructor wird am Ende ausgeführt.
Reply
#7
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='); ?>
[Image: create.php?uid=511]
Reply
#8
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
Reply
#9
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);
[Image: create.php?uid=511]
Reply
#10
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
Reply
#11
& $db glaube auch ;D
Reply
#12
(18.10.2008, 09:58)agrafix Wrote: & $db glaube auch ;D

Big Grin

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 Smile

aber wir wollen ihn ja nicht demotivieren
Reply
#13
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);

?>
[Image: create.php?uid=511]
Reply
#14
neinnein, du schreibst das include einfach über deinen anderen teil in der index.php
Reply
#15
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='); ?>
[Image: create.php?uid=511]
Reply




Users browsing this thread: 5 Guest(s)