ilch Forum » Ilch Clan 1.1 » Module und Modifikationen » Ilch mit Ilch verbinden ( User )

Geschlossen
  1. #1
    User Pic
    Treicio gelöschter User
    So seid Ewigkeiten mal wieder ein Post :-)
    Ich wollte mal fragen wie ich die User Tabellen von 2 Seiten die Ilch nutzen verbinden kann.

    ( Beide Seiten laufen momentan noch auf meinem Computer da ich diese noch fertig machen wollte.)

    Eine Seite nutzt den Präfix ic1_ und die andere Seite ic2_ in der selben Datenbank.
    Ich möchte es jetzt gerne so haben das man sich nur einmal registrieren muss um sich auf beiden Seiten einloggen zu können.

    Edit: Das alle User in der Mitglieder Liste gezeigt werden wäre auch noch ganz toll :-)

    Schonmal danke im vorraus :-)

    betroffene Homepage: treicio.de.vu/


    Zuletzt modifiziert von Treicio am 27.01.2011 - 22:20:34
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    she Mitglied
    Registriert seit
    13.11.2010
    Beiträge
    1.115
    Beitragswertungen
    82 Beitragspunkte
    Bei deinem 2 Ilch (ic2) kannst du folgendes machen.

    include/include/func/db/mysql.php
    db_query()

    function db_query ($q) {
    
      global $count_query_xyzXYZ;
      $count_query_xyzXYZ++;
    
      if (preg_match ("/^UPDATE `?prefix_\S+`?\s+SET/is", $q)) {
        $q = preg_replace("/^UPDATE `?prefix_(\S+?)`?([\s\.,]|$)/i","UPDATE `".DBPREF."\\1`\\2", $q);
      } elseif (preg_match ("/^INSERT INTO `?prefix_\S+`?\s+[a-z0-9\s,\)\(]*?VALUES/is", $q)) {
        $q = preg_replace("/^INSERT INTO `?prefix_(\S+?)`?([\s\.,]|$)/i", "INSERT INTO `".DBPREF."\\1`\\2", $q);
      } else {
        $q = preg_replace("/prefix_(\S+?)([\s\.,]|$)/", DBPREF."\\1\\2", $q);
      }
    
      return (db_check_error(@mysql_query($q, CONN), $q));
    }


    in

    function db_query ($q) {
    
      global $count_query_xyzXYZ;
      $count_query_xyzXYZ++;
    
      if (preg_match ("/^UPDATE `?prefix_\S+`?\s+SET/is", $q)) {
        $q = preg_replace("/^UPDATE `?prefix_(\S+?)`?([\s\.,]|$)/i","UPDATE `".DBPREF."\\1`\\2", $q);
      } elseif (preg_match ("/^INSERT INTO `?prefix_\S+`?\s+[a-z0-9\s,\)\(]*?VALUES/is", $q)) {
        $q = preg_replace("/^INSERT INTO `?prefix_(\S+?)`?([\s\.,]|$)/i", "INSERT INTO `".DBPREF."\\1`\\2", $q);
      } else {
        if (preg_match ("=prefix_user=", $q))) { $q = preg_replace("/prefix_user/","ic1_user",$q); }
        $q = preg_replace("/prefix_(\S+?)([\s\.,]|$)/", DBPREF."\\1\\2", $q);
      }
    
      return (db_check_error(@mysql_query($q, CONN), $q));
    }


    Nun müsste alles was in der Tabelle des Users auf die ic1_user umgeleitet werden.

    *EDIT* Code
    Thx gORDon_vdLg


    Zuletzt modifiziert von she am 28.01.2011 - 18:15:48
    Google+ shelfinger.eu
    Das Wissen verfolgt mich - doch ich bin schneller!
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Treicio gelöschter User
    danke aber jetzt steht überall:

    ZitatZitat
    Warning: preg_match() expects at least 2 parameters, 1 given in C:\Users\TreicioX\Server\htdocs\Demo\include\includes\func\db\mysql.php on line 47


    und einmal über dem logo
    ZitatZitat
    Warning: Cannot modify header information - headers already sent by (output started at C:\Users\TreicioX\Server\htdocs\Demo\include\includes\func\db\mysql.php:47) in C:\Users\TreicioX\Server\htdocs\Demo\include\includes\class\design.php on line 23


    <edit> Funktioniert leider immer noch nicht traurig </edit>


    Zuletzt modifiziert von Treicio am 28.01.2011 - 16:44:42
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    gORDon_vdLg gelöschter User
    Bei dem preg_match in Zeile 11. musste noch $q als zweiten Parameter angeben. Also quasi so:
    #
      } else {
        if (preg_match ("=prefix_user=", $q)) { $q = preg_replace("/prefix_user/","ic1_user",$q); }
        $q = preg_replace("/prefix_(\S+?)([\s\.,]|$)/", DBPREF."\\1\\2", $q);
      }
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Treicio gelöschter User
    wenn ich mein gordon nicht hätte ... :-)
    Schanke döööööönnn nochmal ^^
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    gORDon_vdLg gelöschter User
    bedank dich bei she^^
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Treicio gelöschter User
    hab jetzt doch noch was gefunden.. als erstes funktioniert das ändern des profils und die registrierung nur auf der seite die ic1_ nutzt und wenn ich im forum schreibe steht bei mir: "gelöschter User"

    kann man das noch ändern?

    MfG,
    Treicio :-)
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    she Mitglied
    Registriert seit
    13.11.2010
    Beiträge
    1.115
    Beitragswertungen
    82 Beitragspunkte
    Du hättest den Code auf dem ic2 eingeben müssen. ic1 bleibt unberührt.
    Google+ shelfinger.eu
    Das Wissen verfolgt mich - doch ich bin schneller!
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Treicio gelöschter User
    hab ich :-) ich kann mich nun bei der seite die standart ic2_ nutzt mit den daten von ic1_ einloggen.. aber wenn ich dort mitch registriere dann schreibt er dies in die ic2_user .. und wenn ich mit nem user von ic1_user iin dem forum von ic2_ poste steht da "gelöschter User"
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    she Mitglied
    Registriert seit
    13.11.2010
    Beiträge
    1.115
    Beitragswertungen
    82 Beitragspunkte
    Ja das liegt daran das die Abfrage nur auf SELECT befehl beläuft. Wenn du alles haben möchtest musst du den Code einfach weiter oben hinsetzen.

    z.B.

    <?php
    
    function db_query ($q) {
       global $count_query_xyzXYZ;
      $count_query_xyzXYZ++;
       if (preg_match ("=prefix_user=", $q))) { $q = preg_replace("/prefix_user/","ic1_user",$q); }
       if (preg_match ("/^UPDATE `?prefix_\S+`?\s+SET/is", $q)) {
        $q = preg_replace("/^UPDATE `?prefix_(\S+?)`?([\s\.,]|$)/i","UPDATE `".DBPREF."\\1`\\2", $q);
      } elseif (preg_match ("/^INSERT INTO `?prefix_\S+`?\s+[a-z0-9\s,\)\(]*?VALUES/is", $q)) {
        $q = preg_replace("/^INSERT INTO `?prefix_(\S+?)`?([\s\.,]|$)/i", "INSERT INTO `".DBPREF."\\1`\\2", $q);
      } else {
        $q = preg_replace("/prefix_(\S+?)([\s\.,]|$)/", DBPREF."\\1\\2", $q);
      }
       return (db_check_error(@mysql_query($q, CONN), $q));
    }


    Sollte nun alle Abfragen die an ic*_user geht an die ic1_user ersetzt. Vorsicht noch nicht Getestet.
    Google+ shelfinger.eu
    Das Wissen verfolgt mich - doch ich bin schneller!
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Treicio gelöschter User
    jetzt kommt:
    ZitatZitat
    Parse error: syntax error, unexpected ')' in C:\Users\TreicioX\Server\htdocs\Demo\include\includes\func\db\mysql.php on line 40


    <edit> schon gelöst^^ </edit>


    Zuletzt modifiziert von Treicio am 28.01.2011 - 18:46:28
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Module und Modifikationen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten