ilch Forum » Allgemein » HTML, PHP, SQL,... » include 'XYZ'; soll mit ilch arbeiten

Geschlossen
  1. #1
    User Pic
    Anarchy 90210 Mitglied
    Registriert seit
    15.05.2007
    Beiträge
    578
    Beitragswertungen
    1 Beitragspunkte
    Heyho!

    ich include soeben einige PHP Dateien, welche jedoch eine Datenbankverbindung zur Ilch Datenbank aufbauen müssen. (User Recht usw...)

    Zu allererst kennen diese natürlich kein db_query.

    Wie kann ich diesen Dateien sagen, dass sie mit Ilch laufen sollen?

    MfG
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Tr3icio gelöschter User
    Wenn du sie in Ilch aufrufst, also in Ilch einbindest ( im Content ) kennen sie alle Ilch Funktionen und können alle Variablen und Konstanten nutzen.

    Und sonst wenn sie von außerhalb aufgerufen wird:

    define('main', true);
    require_once('PFAD ZU ILCH/include/includse/config.php');
    $C = file_get_contents('PFAD ZU ILCH/include/includse/loader.php');
    $C = str_replace(array('<?php', '?>'), '', $C);
    $C = str_replace('include/', 'PFAD ZU ILCH/include/', $C);
    eval($C);


    Schon ist Ilch geladen.
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Anarchy 90210 Mitglied
    Registriert seit
    15.05.2007
    Beiträge
    578
    Beitragswertungen
    1 Beitragspunkte
    1. $C kann ich doch auch zu $E ändern oder?

    2. Im Ilch Content habe ich ein PHP Script included, welches über include weitere PHP Dateien läd. Diesen PHP Dateien möchte ich einige SQL Abfragen aus der ilch Datenbank beibringen.

    3. btw, ich glaub ich bin grade zu doof. Ich muss den absoluten Pfad nehmen? Denn egal wie ich den Pfad ausdrücke, es kommt immer failed open stream.


    4. Damit man sich das ganze besser vorstellen kann, poste ich mal die betroffene Datei:

    <?php
    // Abfrage der Serverdaten über SQL
    define('main', true);
    require_once('/include/includes/config.php');
    $E = file_get_contents('include/includes/loader.php');
    $E = str_replace(array('<?php', '?>'), '', $E);
    $E = str_replace('include/', '/include/', $E);
    eval($E);
    
    	$abf = 'SELECT SIP,SEPORT,SRCONPASS FROM `prefix_user` WHERE id = "'.$_SESSION['authid'].'"';
    	$erg = db_query($abf);
    	  $row = db_fetch_assoc($erg);
    $row['SIP'] = $server_ip;
    $row['SEPORT'] = $server_port;
    $row['SRCONPASS'] = $server_rconpass;
    
    
    //$server_ip = 'xyz';
    //$server_port = 666;
    //$server_rconpass = 'zyx';
    
    $server_timeout = 10;
    $server_buffer = 2048;
    $server_buffer_results = 4096;
    $server_extra_wait = false;
    $server_extra_footer = true;
    
    ?>



    Zuletzt modifiziert von Anarchy 90210 am 15.09.2011 - 23:12:54
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Tr3icio gelöschter User
    Falsch falsch falsch ...

    Du meinst deine Datei ist in Ilch und wird später über MEINEDOMAIN.de/index.php?blablabla aufgerufen ode rso?

    ALLE DATEIN DIE IN ILCH GELADEN SIND KENNEN DIE FUNKTIONEN VON ANFANG AN UND BRAUCHEN DIESE NICHT LADEN!

    Und hier sowas:

    /include/


    ist Müll!

    Wenn die Datei von einem Verzeichnis außerhalb von Ilch aufgerufen wird müsste es beispielsweise so aussehen:

    ../../Ilch/include/


    Und alle Datein in Ilch brauchen nur ein simples:

    include/


    Ohne Slash davor!

    define('main', true);
    require_once('/include/includes/config.php');
    $E = file_get_contents('include/includes/loader.php');
    $E = str_replace(array('<?php', '?>'), '', $E);
    $E = str_replace('include/', '/include/', $E);
    eval($E);


    LÖSCHEN! Wenn du die Datei ni Ilch aufrufst brauchst du das nicht, wie ich erklärt habe, außer du willst das der Server extra Arbeit macht!

    Und noch ein Tipp: Wenn die Datei in Ilch geladen wird MUSS die erste Zeile Code ( nach dem <?php ) so aussehen:

    defined('main') or die('No direct Access to this File!');
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Anarchy 90210 Mitglied
    Registriert seit
    15.05.2007
    Beiträge
    578
    Beitragswertungen
    1 Beitragspunkte
    ich hab mich schlecht ausgedrückt:

    1. ILCH ... index.php?rcon
    diese läd eine init.inc.php
    die init.inc.php läd daraufhin eine games.inc.php in welche steht, dass die init.inc.php letztendlich die

    "myserver.inc.php" laden soll. und jene datei ist oben. Wenn ich in diese eine einfache Ilch Datenbankabfrage reinhaue, geht das nicht.

    Wenn ich eine Abfrage getrennt von Ilch reinhaue, dann kann es natürlich den Ilch Cookie nicht lesen.

    MfG
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Tr3icio gelöschter User
    Ilch Cookie?
    Ilch hat nur einen Cookie: Login Name und Login PasswortHash!

    Beispiel

    Datei 1
    - lädt -> Datei 2
    - lädt -> - lädt -> Datei 3
    - lädt -> - lädt -> - lädt -> Datei 4

    Nun kann Datei 4 alles was Datei 1 kann!
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Jan Hall Of Fame
    Registriert seit
    17.01.2007
    Beiträge
    3.646
    Beitragswertungen
    54 Beitragspunkte
    ZitatZitat geschrieben von Anarchy 90210
    Wenn ich in diese eine einfache Ilch Datenbankabfrage reinhaue, geht das nicht.

    Vielleicht einfach ein Fehler in deiner Abfrage.
    Magst du die mal posten?

    Liebe Grüße
    Jan
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    oink Mitglied
    Registriert seit
    23.09.2010
    Beiträge
    740
    Beitragswertungen
    227 Beitragspunkte
    ZitatZitat geschrieben von jankrug
    Vielleicht einfach ein Fehler in deiner Abfrage.
    Magst du die mal posten?


    und deine anschrift und bankverbindung damit wir uns wenns klappt (oder nicht) "bedanken" können :>
    before creation there must be destruction
    1 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Tr3icio gelöschter User
    Echt .. ohne unseren ForenTroll wäre es langweilig :-P
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Anarchy 90210 Mitglied
    Registriert seit
    15.05.2007
    Beiträge
    578
    Beitragswertungen
    1 Beitragspunkte
    Soo... ich hatte letztens noch paar andere Probleme, jetzt wieder zu diesem:

    <?php	$abf = 'SELECT SIP,SEPORT,SRCONPASS FROM `prefix_user` WHERE id = "'.$_SESSION['authid'].'"';
    	$erg = db_query($abf);
    
    	  $row = db_fetch_assoc($erg);
    $row['SIP'] = $server_ip;
    $row['SEPORT'] = $server_port;
    $row['SRCONPASS'] = $server_rconpass;?>


    das wär dann die Abfrage. Das Problem an der sache wäre halt nur, dass der dann schon über db_query meckert, weil er das halt nicht kennt.
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    GeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    Evtl schau dir auch mal die Dokumentation für Entwickler an zwinker
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Anarchy 90210 Mitglied
    Registriert seit
    15.05.2007
    Beiträge
    578
    Beitragswertungen
    1 Beitragspunkte
    Durchgelesen und abgehakt.

    Soo, wenn ich nun in die Datei oben einfüge:
    defined('main') or die('No direct Access to this File!');


    Dann wird natürlich auf der Seite angezeigt "No direct Access to this File!"

    Ihr könnt euch das auch gerne mal anschaun:

    gamezclub.de/index.php?phprcon

    Dafür bitte im Content auf "Aktualisieren" klicken.
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    GeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    die Zeile kannst du natürlich entfernen, wenn das Script nicht über die index.php aufgerufen wird
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    Anarchy 90210 Mitglied
    Registriert seit
    15.05.2007
    Beiträge
    578
    Beitragswertungen
    1 Beitragspunkte
    gesagt - getan und nun

    Fatal error: Call to undefined function db_query() in /home/gamezdbt/www.gamezclub.de/include/contents/rcon/servers/myserver.inc.php on line 6
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    Tr3icio gelöschter User
    Datein eingebunden ? Nein
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    GeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    wird die index.php nicht verwendet müssen die Klassen und Funktionen, welche benötigt werden, manuell eingetragen werden.
    Allerdings kann man es auch über die index.php machen, also als Content-Seite, wie ein Modul und nur die Design-class weglassen
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    Anarchy 90210 Mitglied
    Registriert seit
    15.05.2007
    Beiträge
    578
    Beitragswertungen
    1 Beitragspunkte
    also, da meine datei in /include/contents/rcon liegt, müsste ich theoretisch dann folgendes includen?

    include '../../includes/loader.php';
    include '../../includes/config.php';

    Wenn ich das mache, dann kommt anstelle der richtigen Anzeige gar nix


    Zuletzt modifiziert von Anarchy 90210 am 21.09.2011 - 09:22:04
    0 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    Tr3icio gelöschter User
    Wenn deine Datein Datein in /include/contents/rcon liegen werden die Wahrscheinlich über eine Datei mit z.B. dem namen include/contents/rcon.php geladen, welche dann über MEINEDOMAIN.de/index.php?rcon aufgerufen wird. Oder?

    Sollte dies der Fall sein brauchst du nichts laden.
    0 Mitglieder finden den Beitrag gut.
  19. #19
    User Pic
    Anarchy 90210 Mitglied
    Registriert seit
    15.05.2007
    Beiträge
    578
    Beitragswertungen
    1 Beitragspunkte
    da gehts ja aber dann nicht!
    0 Mitglieder finden den Beitrag gut.
  20. #20
    User Pic
    Tr3icio gelöschter User
    Wenn die Datein über die index.php geladen werden haben diese alle Ilch Funktionen. Wenn nicht machst du was falsch.
    0 Mitglieder finden den Beitrag gut.
  21. #21
    User Pic
    Anarchy 90210 Mitglied
    Registriert seit
    15.05.2007
    Beiträge
    578
    Beitragswertungen
    1 Beitragspunkte
    Wie im link oben zu sehen, lade ich sie über Ilch!

    gamezclub.de/index.php?phprcon

    alle Dateien, die meine phprcon.php included können keine Funktionen von Ilch ausführen!
    0 Mitglieder finden den Beitrag gut.
  22. #22
    User Pic
    Tr3icio gelöschter User
    Wenn ich eine Datei mache die über require_once eine Datei lädt ( require ist sinnvoller als include und durch das _once wird die Datei egal wie oft die Funktion aufgerufen wird nur ignesamt 1 mal geladen ) dann hat diese alle Funktionen von Ilch!

    Sonst machst du was falsch.
    Alle Datein im Ordner /include/contents haben alle Funktionen von Ilch, es sei denn du machst was falsch, wobei mir keine Möglichkeit einfällt dabei was falsch zu machen.
    0 Mitglieder finden den Beitrag gut.
  23. #23
    User Pic
    GeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    naja die phprcon.php muss auch im contents-ordner liegen und nicht in einem unterverzeichnis
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    0 Mitglieder finden den Beitrag gut.
  24. #24
    User Pic
    Anarchy 90210 Mitglied
    Registriert seit
    15.05.2007
    Beiträge
    578
    Beitragswertungen
    1 Beitragspunkte
    tut sie auch, alle anderen Dateien liegen in einem Unterverzeichnis.
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten