kostenloser Webspace werbefrei: lima-city


Suche auf lima-city

  • in: Iframe integration mit Benutzerübergabe in Seite

    geschrieben von jippyx

    /Chatsystem handelt es sich denn eigentlich?

    Das ist kein System von der Stange sondern wurde mal vor einiger Zeit speziell programmiert.

    So ich bin aber auch selbst etwas weiter gekommen. Zumindest schon deutlich weiter als vorher :)
    Ich habe nun ein button über das Chat Frame gesetzt: Das wäre dann dieser:

    <form action="https://chat.xyz.de/chat.php" method="post" name="user_trans" target="chatframe">
    	<p style="text-align: right;">
    		<input name="username" type="hidden" value="%user.Username%" /><button>Hier gehts in den Chat</button></p>
    </form>


    In das Frame darunter habe ich den folgenden Code getan:

    <script>
    function setIframeHeight() {
      var iFrameID = document.getElementById('iframe');
      if(iFrameID) {
        iFrameID.height = "";
        iFrameID.height = iFrameID.contentWindow.document.body.scrollHeight + "px";
      }
    }
    </script>
    <iframe frameborder="1" height="680" id="chatframe" marginheight="0px" marginwidth="0px" name="chatframe" onload="setIframeHeight();" scrolling="auto" src="https://chat.xyz.de/community.php" width="100%"></iframe></p>


    EDIT: Hab es über den Weg der Sandox im iframe lösen können, klappt nun alles wunderbar wie ich es mir vorgestellt habe :) Danke an alle die geholfen haben mit ihren Ideen und Vorschlägen !

    Das klappt auch soweit. Klicke ich auf den Button oben "hier gehts in den Chat" dann werde ich im Frame darunter in den Chat eingeloggt. Nach paar sekunden allerdings wechselt der Chat dann in Vollbild also die URL wird dann aus dem Frame heraus Voll aufgerufen. Kann man das unterbinden? - Ansonsten wäre das ja prinzipiell eine für mich akzeptable lösung so.

  • in: Iframe integration mit Benutzerübergabe in Seite

    geschrieben von jippyx

    Ich muss mal gerade um die Ecke denken. Sagen wir mal ich mache ganz nach links eine Textbox mit einer kleinen Navigation wo ich dieses Script einfüge

    <form method="post" action="/chat.php" name="user_trans">
       <input type="hidden" name="username" value="%user.Username%" />
       <a href="javascript:document.user_trans.submit()">Chat</a>
    </form>


    Rechts dann daneben ein iframe mit der gleichen ID oder name? (wobei der name ja schon mit user_trans belegt ist)
    müsste doch so auch gehen das der chat dann im Frame nebenan öffnet wenn es schon nicht direkt geht kann ich ja beim aufrufen im gleichen Frame vorab die Chattiquette anzeigen lassen oder?
  • in: Iframe integration mit Benutzerübergabe in Seite

    geschrieben von jippyx

    @prinz-und-gloeckner: Wenn ein User in der Navigation den Chat bewusst auswählt sehe ich ehrlich gesagt keinen Sinn darin ihn dann nochmals etwas bestätigen zu lassen. Mit aufruf der Chat Seite hat er ja schon seinen willen kund getan in den Chat zu wollen. Deshalb würde eine automatische aktion durchaus einen Sinn ergeben.


    Auch Bastellösungen sind gern gesehen wenn einer eine hat. Solange es funktioniert ist es mir laxx wie schmutzig es ist ^^
    Ich kann eben nur mit dem Arbeiten was da ist, ist halt leider so. Wäre halt nice wenn das irgendwie noch hinzubekommen wäre.
  • in: Iframe integration mit Benutzerübergabe in Seite

    geschrieben von jippyx

    Japp, ds system wandelt %user.Username% automatisch in den Benutzernamen des jeweilig eingeloggten um. Für den Chat braucht man normal schon ein kennwort, sofern man sich normal registriert. Da ich aber eine doppel Registrierung vermeiden möchte (Einmal Hauptseite und dann nochmal für den Chat) wurde es auch nicht zuletzt damit sich z.B der Holzkopp nicht als Zwernase etc Registriert mit Benutzerübergabe realisiert. Einzig und allein der Admin als auch die Moderatoren müssen sich auch aus Sicherheitsgründen immer einloggen, auch per Benutzerübergabe. Sicher kann man es per target="_blank" machen, ich möchte das ganze aber als einheitliches erscheinungsbild ohne zig neue Tabs/ Fenster aufmachen zu müssen Layoutkonform einbinden. Das war eben der Hintergrund des ganzen. Ehrlich gesagt dachte ich aber auch nicht das das im Jahr 2019 bei der ganzen Modernen Technick so schwierig sei das ganz zu realisieren. Oder es kommt mir nur so vor, ich weiß es grad nicht :)

    Alternativ könnte ich vorher noch so eine Art Chattiquette machen und mit bestätigen (ChatButton mit Übergabe) würde dann der Chat aufgerufen aber geht das in einem Frame auf der gleichen Seite?
  • in: Iframe integration mit Benutzerübergabe in Seite

    geschrieben von jippyx

    Danke erstmal soweit. Jetzt bin ich etwas verwirrt. Zum ersten kann dieses Haupt System leider nur html, auf PHP habe ich dort aufgrund eines Baukastensystems keinen Zugriff. Das kann auch nicht geändert werden. Die Variable %user.Username% gibt dort den Benutzernamen aus und ich kann diese nicht durch etwas sinnvolles anderes ersetzen, das geht ja nicht dann wird ja kein Benutzername mehr übergeben. Das heißt es muss sich alles innerhalb dieser leeren Seite auf dem Baukasten System abspielen. Ziel ist es ja gerade das zweimal klicken (einmal für die Seite im Baukasten System - - Chat Seite und das zweite mal das klicken für in den Chat, also der Login mit Benutzerübergabe zu vereinfachen. Es soll im prinzip nur die leere Seite im Baukastensystem aufgerufen werden und dort würde sich dann ohne weiteres klicken für irgendwas der der Chat eingeloggt mit dem Benutzernamen des Users präsentieren. Wenn man ohnehin noch etwas abschicken müsste könnte ich auch den jetzigen Link lassen das wäre ja in etwa das gleiche oder habe ich das nun alles falsch interpretiert? Ich hoffe doch nicht...
  • in: Iframe integration mit Benutzerübergabe in Seite

    geschrieben von jippyx

    Danke für die Antworten. Ich habe mal versucht das ganze in einen Code zu Packen, so ganz funktioniert es aber noch nicht. Für den Chat nutze ich einen extra Server der als Subdomain zur Hauptdomain via Arecord fungiert. Ich habe hier die URL mal absichtlich weggelassen da es derzeit ohnehin von außen nicht erreichbar ist.

    Mein Code wäre dieser:

    <form action="https://chat.xyz.de/chat.php" method="post" target="chatframe">
    <input name="usertrans" type="hidden" value="%user.Username%" /></form>
    <iframe height="500px" name="chatframe" src="https://chat.xyz.de/chat.php" width="100%" height="500px" ></iframe>


    Welches Attribut muss man denn in diesem Fall setzen, mal abgesehen davon das ich hoffe das ich das in dem Code jetzt richtig interpretiert habe wie es evtl gemeint war.

    Herzlichen Dank übrigens an alle die hier meine Wissenslücke füllen :)
  • in: Iframe integration mit Benutzerübergabe in Seite

    geschrieben von jippyx

    der chat ist recht einfach gehalten, hat keine auch keine Datenbank. Im Prinzip muss nur wie in meinem Code der Benutzername mit übergeben werden. Die Daten wie z.B Benutzer die sich z.B ohne Benutzerübergabe registrieren können werden in eine txt datein geschrieben. Was leider nicht geht ist den Benutzernamen über die Url mitzuschicken, was der einfachste aber wohl auch der nicht sicherste weg gewesen wäre. Wie gesagt im prinzip muss nichts ausgefüllt werden vom User. Man klickt derzeit auf Chat dann öffnet sich der chat und der Benutzername wird dann ohne Login Maske übergeben und man ist direkt mit seinem Benutzernamen im Chat. Gleiches möchte ich halt auch weiterhin erreichen nur das sich kein neues oder gleiches Fenster öffnet sondern ich den chat in die Seite einbauen kann das es als ein ganzes aussieht.
  • in: Iframe integration mit Benutzerübergabe in Seite

    geschrieben von jippyx

    Vielen Dank für Deine Antwort. Okay, also Iframe ist dann wohl raus, ich hatte es befürchtet. Das wäre für mich das einfachste gewesen, weil ich mich echt schwer tue mit diesen 100erten von Codes. Und Javajscript hab ich mal so gar keine große Ahnung von. Dieses Code Schnipsel aus meinem Beispiel habe ich gerade noch so hinbekommen und gehofft das ganze wäre so simple mit ein paar zusätzen etc. zu ergänzen. Wenn ich mir dein erstes Beispiel mit Javascript Post request anschaue dann sind dort so viele Beispiele bzw Code Schnipsel das es mir gerade davor graut. Der Chat muss ja in die Seite eingebunden werden, Daten müssen übergeben werden, all das geht mit Javascript? - Sorry für die Frage aber ich habe gerade ein Dickes Fragezeichen über meinem Kopf :(

  • in: Iframe integration mit Benutzerübergabe in Seite

    geschrieben von jippyx

    Hallo Lima Gemeinde,

    Ich habe ein kleines Problem für das ich keine zufriedenstellende Lösung habe. Ich möchte auf eine bestehende Webseite einen Chat einbinden. Dieses System was dort genutzt wird arbeitet allerdings mit Textboxen und kann somit nur HTML. Ich dachte mir nun das ich den Chat via Iframe oder evt Script einbinden könnte...

    Soweit ist das ja auch kein Problem. Der haken an dieser Sache ist das es natürlich den Benutzernamen mit übergeben soll an den Chat. Via Link oder Button auf der entsprechenden Seite klappt das auch mit diesem kleinen Script.

    <form method="post" action="/chat.php" name="user_trans">
       <input type="hidden" name="username" value="%user.Username%" />
       <a href="javascript:document.user_trans.submit()">Chat</a>
    </form>


    jedoch soll quasi wenn man die Seite aufruft direkt der Chat erscheinen ohne erst einen Button oder Link drücken zu müssen. Ob es da möglich wäre ein Iframe mit Benutzerübergabe oder evt ein Script zu basteln was dies macht? Wisst ihr rein zufällig was hier die beste lösung wäre in dem Fall bzw wie man das ganze am besten bewerkstelligt?

    Für Ideen und Lösungsvorschläge wäre ich euch sehr verbunden.

    Viele herzliche Grüße

  • in: In der Datenbank fehlen einige Indizes

    geschrieben von jippyx

    Nun Frage ich mich natürlich ob da wirklich ein Tippfehler in der Fehlermeldung ist oder hier nur falsch abgeschrieben/kopiert wurde?


    Da die Fehlermeldung nun weg ist kann ich es dir nicht mehr sagen. Allerdings habe ich mein Ausgangspost, weil ich ja ein Fauli Schlumpfi bin abkopiert. Also wenn das da falsch ist dann ist es ein Übersetzungsfehler.

    ORIGINAL FEHLERMELDUNG IN NEXTCLOUD WAR:

    In der Datenbank fehlen einige Indizes. Auf Grund der Tatsache, dass das hinzufügen von Indizes in großen Tabellen einige Zeit in Anspruch nehmen wird, wurden diese nicht automatisch erzeugt. Durch das Ausführen von "ooc db:add-missing-indices" können die fehlenden Indizes manuell hinzugefügt werden, während die Instanz weiter läuft. Nachdem die Indizes hinzugefügt wurden, sind Anfragen auf die Tabellen normalerweise schneller.
  • in: In der Datenbank fehlen einige Indizes

    geschrieben von jippyx

    Stimmt, ich hab es aber eigentlich aus der Fehlermeldung so kopiert gehabt. Naja egal das war es wirklich, es hat geklappt. Vielen Dank für Eure Hilfe, Operation beendet Patient lebt :)
  • in: In der Datenbank fehlen einige Indizes

    geschrieben von jippyx

    Also, Ich habe mich mittels dem is durchgewurschtelt und mir wird auch dann im Ordner eine OCC datei angezeigt. Dann bin ich in den Ordner gewechselt in dem ich das IS durch ein cd gewechselt habe. SSH zeigt mir auch das ich im ORdner bin. Gebe ich nun den befehl "./ooc db:add-missing-indices" ein dann sagt er mir feucht fröhlich ,
    -bash: ./ooc: No such file or directory
  • in: In der Datenbank fehlen einige Indizes

    geschrieben von jippyx

    Japp ich habe Premium und nach mühsamer friemelei auch so ein blöden ssh krams erstellt, bin in das Verzeichnis gewechselt, aber wenn ich das eingebe kommt das hier

    ooc db:add-missing-indices
    -bash: ooc: command not found

    Was will das ding mir sagen. Hätte ich Ahnung von Servern hätte ich einen eigenen, also echt umständlicher Murks
  • in: In der Datenbank fehlen einige Indizes

    geschrieben von jippyx

    Oh okay, vielen Dank. Ich dachte man müsste es als Datenbankbefehl ausführen. Da saß der Fehler ja mal wieder direkt vor dem PC. Dann will ich mal schauen wie ich mich mit SSH einloggen kann, danke für die Hilfe

    lg
  • in: In der Datenbank fehlen einige Indizes

    geschrieben von jippyx

    Hallo zusammen,

    in meiner Nextcloud wird mir folgender Fehler angezeigt:

    In der Datenbank fehlen einige Indizes. Auf Grund der Tatsache, dass das hinzufügen von Indizes in großen Tabellen einige Zeit in Anspruch nehmen wird, wurden diese nicht automatisch erzeugt. Durch das Ausführen von "ooc db:add-missing-indices" können die fehlenden Indizes manuell hinzugefügt werden, während die Instanz weiter läuft. Nachdem die Indizes hinzugefügt wurden, sind Anfragen auf die Tabellen normalerweise schneller.

    Das Ausführen des Befehls von ooc db:add-missing-indices in MYSQL führt zu einem Fehler:

    Fehler

    Statische Analyse:

    2 Fehler wurden während der Analyse gefunden.

    Unerwarteter Statement-Anfang. (near "ooc db:" at position 0)
    Unerkannte Statement-Typ. (near "add" at position 7)

    SQL-Befehl:

    ooc db:add-missing-indices

    MySQL meldet: Dokumentation
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ooc db:add-missing-indices' at line 1

    Kann mir hier einer weiterhelfen wie ich diesen Krams behoben bekomme?
    Danke im vorraus

    lg.
  • in: Trigger in MySQL erstellen

    geschrieben von jippyx

    Du müsstest dann noch die Bedingung anpassen an deinen Primarykey sonst haut es dir alles übern Haufen und erzeugt die Datenmüll.


    Erst mal vielen lieben Dank. Ich war selbst auch noch unterwegs deshalb ist das ja nicht so schlimm. Ich bin Dir ja sehr dankbar, das Du überhaupt die Zeit geopfert hast.

    Bevor ich mich nun daran mache und zerschieße meine Datenbak, noch eine Frage. Mein Freund das Internet hat mir bereichtet das ein Eindeutiger Primärschlüssel folgendes sei...

    Hierbei handelt es sich um einen eindeutigen Schlüssel der in einer Spalte der Tabelle gespeichert wird.

    Nun ist dieser schon von Haus aus festgelegt oder kann das zb auch der username sein? die ID würde weg fallen da die sowohl in accounts als auch in forumusers bei jedem User unterschiedlich ist.

    Und wenn ja, an welcher stelle muss der eingetragen werden, bei A_ID?

    Viele liebe Grüße
    Ronny
  • in: Trigger in MySQL erstellen

    geschrieben von jippyx

    Ist ja nicht schwer. Werde dann am Donnerstag / Freitag mich kurz dran machen. Wenn das hier der letzte Post sein sollte editiere ich den einfach.


    Hehe für mich schon etwas^^. Ja klar, danke so machen wir das.
    lg.
  • in: Trigger in MySQL erstellen

    geschrieben von jippyx

    Also, alles in einem trigger kannst du nicht lösen.
    Du brauchst für jede DML-Anweisung jeweils einen Trigger (update Insert und delete)


    Achso, okay das erklärt natürlich wieso das so nicht geht. Ich hab gestern den ganzen tag mit Beispielen, lesen und ausprobieren verbracht aber das bekomme ich ohne Hilfe noch nicht hin...

    Wenn ich wieder zuhause bin am Donnerstag könnte ich dir die Beispiele für die Tabellen accounts und forumusers hier zeigen.


    Das wäre echt bombe von Dir, solange hat das auch noch Zeit. Das Angebot würde ich dann gern annehmen :) Und vielen lieben Dank für Deine ganze Hilfe bislang, ich hätte echt nicht gedacht das es so umständlich und langwierig werden würde. Zumindest für so einen Frischling wie mich.
  • in: Trigger in MySQL erstellen

    geschrieben von jippyx

    Ganz so aufwendig musst du das nicht gestalten. Update tabellexyz Set variable='neuerwert', spalte2='neuerwert', Where eindeutigevariable=Benutzer
    
    Also bei Where benötigst du nur eine Information um die richtigen Datensatz zu finden. Da bietet sich ein alter Benutzername oder eine id an.
    
    Vom Rest (ich kenne mich nicht mit Triggern so wirklich aus) kann das ganze funktionieren.



    Ich hab das ganze mal probiert und er haut mir einen Fehler um die Ohren

    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UPDATE ON accounts
    FOR EACH ROW
    BEGIN
    UPDATE forumusers
    SET username=userna' at line 1

    Auffällig ist das er mir das username in userna gekürzt hat ?!
  • in: Trigger in MySQL erstellen

    geschrieben von jippyx

    Google ist schön und gut, allerdings verwirrt mich das eher mehr als das es bei mir Hilft. Meinen letzten geposteten Code habe ich versucht aus einem Google Code zu erstellen. Ich bin eben blöderweise davon ausgegangen, dass es sich selbst updatet. Problematisch ist es nun leider weil ich eine riesen Unordnung in die Datenbank bekomme wenn die Usernamen etc nachher nicht mehr stimmen und ich dann noch mehr Zeit aufwenden muss bis es wieder funst.

    Habe ja auch vor paar tagen schon gefragt ob du auch Updates und delete Statements mit triggern bearbeiten willst.


    Da haben wir wohl aneinander vorbei geredet, ich bin leider davon ausgegangen, dass dieser das auch selbst tut, aber Pustekuchen^^ - Also mein trigger code sah so aus

    --
    -- Trigger `accounts`
    --
    DROP TRIGGER IF EXISTS `copy_on_update_accounts`;
    DELIMITER //
    CREATE TRIGGER `copy_on_update_accounts` AFTER INSERT ON `accounts`
     FOR EACH ROW BEGIN
     INSERT into forumusers (username, email, password, group_id, language, realname, registered, last_visit)
     VALUES(new.username, new.email, new.password, 4, new.language, new.name, new.time, new.last_logged );
    END
    //
    DELIMITER ;


    Mit diesen Werten. Learning bei Doing ist für mich das beste, also nach und nach. Ihr habt mir hier diesen Code gepostet...


    UPDATE table_name
    SET column1=value, column2=value2,...
    WHERE some_column=some_value



    Wenn ich nun einen Denkfehler drin habe in meinem zusammengebastelten code dann korrigiert mich bitte. Ich habe nur die Werte genommen die auch geändert werden bei einem Update. Sachen wie Group_ID oder das Registrierungsdatum habe ich raus gelassen, da es sich ja nicht mehr ändert


    DELIMITER $$
    CREATE TRIGGER update_on_accounts UPDATE ON accounts
    FOR EACH ROW
    BEGIN
    UPDATE forumusers
    SET username = username, email=email, password=password, realname=name, last_visit=last_logged
    WHERE username = NEW.username, email=New.email, password=New.password, realname=New.name, last_visit=New.last_logged ;
    END;
    $$
    DELIMITER ;
  • in: Trigger in MySQL erstellen

    geschrieben von jippyx

    Es sollte klar sein, dass du keinen Datensatz doppelt anlegen kannst bzw solltest.
    Achtung der Update Befehl funktioniert anders als der Insert Befehl. bei der genauen Syntax hilft gern Google und ein wenig nachdenken :)


    Also ich hab lohischerweise mal überlegt und etwas zusammengestellt. das müsste dann in etwa so aussehen?


    CREATE TRIGGER trigger_account_changes
    AFTER UPDATE ON accounts
    FOR EACH ROW
    UPDATE INTO forumusers
    (username, email, password, group_id, language, realname, registered, last_visit)
    VALUES
    (OLD.username, OLD.email, OLD.password, 4, OLD.language, OLD.name, OLD.time, OLD.last_logged NOW());
  • in: Trigger in MySQL erstellen

    geschrieben von jippyx

    Nichts wildes, habe einen neuen Angelegt, der noch zusätzlich die ID, die IP und zuletzt online Zeit übergibt. Klappt bestens. Das einzige was mich etwas stutzig macht ist das der Trigger nicht updatet. Ein User hat den Benutzernamen geändert aber im Forum blieb der alte noch stehen. Brauch ich da ein neuen UPDATE Trigger für? Eigentlich doch nicht, oder?
  • in: Trigger in MySQL erstellen

    geschrieben von jippyx

    Also hat es funktioniert? Sehr gut :p nehme auch reale biere an ;)


    Ja bestens, ich konnte sogar noch andere Dinge damit Realisieren, echt perfekt ! Vielen Dank :)
  • in: Trigger in MySQL erstellen

    geschrieben von jippyx

    Hehe, recht hast Du, aber durch Deine Beispiele habe ich es tatsächlich verstanden wie es funktioniert. Learning bei Doing ist doch oftmals besser als reine Theorie. Ich danke Dir auf jeden Fall für Deine Hilfe, echt Top von Dir !!!

    Ich spendiere Dir mal nen virtuelles Bierchen :prost:
    lg.
  • in: Trigger in MySQL erstellen

    geschrieben von jippyx

    Und jetzt setzt du einen integer wert, ganzzahl, 1/2/3/4/5/6/oder höher je nachdem welcher Wert dafür steht statt group_id4 in den values ein, was folgendes liefern sollte. 
    
    BEGIN
    INSERT into forumusers (username, email, password, group_id, language)
    VALUES(new.username, new.email, new.password, 1/2/3/4 oder auch 5 oder höher  , new.language);
    END



    Vielen herzlichen Dank, das hat super geklappt. Jetzt wird alles bestens übergeben.
    Eine abschließende Frage habe ich aber noch.

    Werte aus unterschiedlichen Spalten kann man aber nicht übergeben, oder? - Beispielsweise wenn die Spate für den Vor und Nachnamen in der Tabelle accounts "name" heißt und in der Tabelle forumusers "realname" ? Der Typ wäre varchar(40). Das wäre noch so das perfekte non plus ultra, aber wenn nicht machbar ist es auch okay. Bin schon voll happy so. Echt noch mal dicken Dank bis hier her fürs helfen !!!
  • in: Trigger in MySQL erstellen

    geschrieben von jippyx

    Wenn es ein integer ist musst du auch eine ganzzahl übertragen und nicht wie du es hast als string.
    Jede deiner group-ids hat ja nen Wert und den musst du übertragen.


    Ich dachte mit der Angabe group_ID4 habe ich einen Wert übergeben. Man ist das kompliziert, lach. (Ja, ich weiß, wer sich damit auskennt für den ist es kein Hexenwerk aber für mich noch Böhmische Dörfer^^)

    Und wie löse ich das Problem jetzt am elegantesten? Hast du da eine Idee?
  • in: Trigger in MySQL erstellen

    geschrieben von jippyx

    Überträgst du es denn auch als integer? Ist es ein fester wert? Wenn du group_id Überträgst dann geht das ja auch nicht da es ein string ist.


    es gibt 4 Gruppen ID´s in dieser Foren Software. Group_ID2 = Gäste, Group_ID4=Mitglieder Group_ID3=Moderatoren und letztlich Group_ID1=Admin

    BEGIN
    INSERT into forumusers (username, email, password, group_id, language)
    VALUES(new.username, new.email, new.password, 'group_id4' , new.language);
    END


    Ich hatte ja in meinem Beispiel (siehe oben) gezeigt wie ich die Group_ID eingetragen hatte. Wie was nun übertragen wird, davon hab ich leider überhaupt keine große Ahnung. Ich sehe in der Datenbank, dass es integer ist, das wars aber auch schon. Wie gesagt die Spalte Group_ID gibt es in der Haupt Software leider nicht, weshalb ich sie auch nicht so wie z.B der username oder email einfach so übergeben kann. Vielmehr ist es hier ein fester Wert der übergeben werden muss da sich die Group ID ja nicht ändert und bei jedem neuen User gleich ist.

    Grundsätzlich soll aber immer ein fester Wert, also Group_ID4 im Trigger übergeben werden, da das Forum nur über die Hauptseite selbst zugänglich ist und zwar auch erst nur nach Registration bzw Login. Die Foren Software ist FluxBB falls Dir das weiter Hilft.
  • in: Trigger in MySQL erstellen

    geschrieben von jippyx

    Welcher Datentyp ist es denn? Integer oder varchar?


    Hallo,

    also es ist integer - "Typ: int(10)"
  • in: Trigger in MySQL erstellen

    geschrieben von jippyx

    Ohne Zugriff auf die db kann ich grade keine Ferndiagnose betreiben da ich das datenmodell nicht kenne.


    Keine Fehlermeldung, die Registration dreht sich ewig und es passiert nichts. Entferne ich das "group_id4"' wieder aus dem Trigger geht die Registrierung wieder einwandfrei
  • in: Trigger in MySQL erstellen

    geschrieben von jippyx

    Language im Trigger? Wie denn das? Oder meinst du einen String 'Deutsch' den du in eine Spalte language schreibst?


    Ja genau so meinte ich das auch. Ich Probiere das mal aus ob das klappt, das wäre super. Du wirst noch zu meinem persönlichen Held, Danke für Deine Hilfe :)

    hab es so abgeändert, hoffe das ist richtig so...

    BEGIN
    INSERT into forumusers (username, email, password, group_id, language)
    VALUES(new.username, new.email, new.password, group_id4, new.language);
    END

    Edit: wenn ich es so eintrage nimmt die Datenbank es zwar, aber Registrierungen gehen nicht mehr :(
  • in: Trigger in MySQL erstellen

    geschrieben von jippyx

    Gern geschehen :) ist ja kein Hexenwerk. :thumb:


    Wenn man sich mit auskennt dann nicht, lach


    Aber einen Schönheitsfehler hat das ganze mit dem Trigger im Live betrieb wie ich festgestellt habe.Obwohl die Standard Sprache Deutsch ist stellt er sie auf English. Das konnte ich fixen indem ich den Trigger um die language erweitert habe. Soweit sogut klappt das auch.

    ABER. Er legt alle als Gäste in der Datenbank an mit der Group_id2, im Registrierungsformular des Forums werden die User aber z.B. als group_id4 (Mitglieder) registriert. Kann man dem trigger auch diesen "festen" Wert group_id4 mitgeben für neu angelegte User? Im account Ordner des Haupt Systems gibt es leider die group_id nicht als Spalte. Hat zur folge das ich dennoch alle User manuell von Gast die Mitglieder Gruppe zuweisen muss, was auch nervig ist

    Geht das auch mit so einem Trigger?.
  • in: Trigger in MySQL erstellen

    geschrieben von jippyx

    Vielen herzlichen Dank für die tolle Hilfe. Es hat geklappt. Vielen Dank auch für das Aufzeigen anderer Lösungswege und Bedenken.

    Viele liebe Grüße
    Ronny
  • in: Trigger in MySQL erstellen

    geschrieben von jippyx

    Je nachdem, ob beide die selben Methoden zum Hashen von Passwörtern nutzen oder nicht.


    Das tun sie. Ich kopiere ja auch nur die Daten der Spalten der jeweiligen Tabelle mauell in die andere und ein Login Funktioniert bisher einwandfrei. Also das von Dir angesprochene Problem tritt hier nicht auf.

    Das Forum ist das FluxBB Forum und die Hauptsoftware ist eine abgewandelte Beta der Humhub Software
  • in: Trigger in MySQL erstellen

    geschrieben von jippyx

    Wie meinst du das genau? Es ist so, wenn du über die Datenbank oder über ein PHP Script Daten veränderst wie beispielsweise die Emailadresse dann würde der Trigger greifen und die Daten von Tabelle "accounts" in die tabelle "forumusers" schreiben. Wieso willst du es denn abgleichen wenn es sich geändert hat?


    Genau das meinte ich auch damit, ich habe mich nur doof ausgedrückt, sorry. Genau das brauche ich.
  • in: Trigger in MySQL erstellen

    geschrieben von jippyx

    Bei den Triggern könnte ich dir dann weiterhelfen, bräuchte dann nur nochmal ne exakte Auflistung der Datenbanktabellen die dort miteinander agieren sollen.
    Bedenke, MySQL kann keine Zirkelbezüge verarbeiten (zumindest kenne ich das noch so) d.h. du musst festlegen von welcher Tabelle die Daten in die andere geschrieben werden sollen. Du kannst nicht auf beiden Trigger erzeugen die jeweils in die andere die Daten kopieren dann biste in nem Deadlock.


    Vielen lieben Dank, das ist echt total nett von Dir.
    Also die Tabelle accounts ist die Haupttabelle wo die Spalten username, password und email relevant sind. Diese sollen automatisch in die Tabelle forumusers in die Spalten username, pasword und email geschrieben werden.

    Cool wäre auch das es sich automatisch abgleicht wenn man mal ein neues Passwort festlegt, aber keine Ahnung ob das geht. Also der Trigger in die eine Richtung reicht hier völlig aus, beidseitig bräuchte ich auch nicht da das Forum keine eigene Registrationsmöglichkeit für User hat, da ich die Daten bislang ja manuell eingetragen habe.
  • in: Trigger in MySQL erstellen

    geschrieben von jippyx

    Dann würde ich das Login System komplett anders machen. Schreib es einfach alles in eine Tabelle, dann ist es egal für welche Anwendung du die nutzt. Also dein Formular auf die gleiche Datenbank /Tabelle legen.

    Ist resourcen spaarender.


    Wie gesagt, es handelt sich hier um zwei unterschiedliche Systeme. Einmal die Hauptseite und zum anderen das Forum. Bei jedem Update würden diese Dateien wieder überschrieben und deshalb wäre mir der Weg des Triggers lieber, zumal ich dann auch ein System wie zb das Forum mal flexibel austauschen kann ohne Dateien groß wieder ändern zu müssen etc. Ein weiterer Grund ist das ich den ganzen gestrigen Tag schon damit verbracht habe, die entsprechende Datei zu finden die diese Anweisung enthält aber es ist bis jetzt mir nicht gelungen diese zu finden. Vieles enthält auch Scripte, so das es durchaus sein kann das es in ein Script ausgelagert ist.

    Ich möchte daraus kein Staatsakt machen und deshalb sehe ich die Möglichkeit des Triggers einfach als die bessere für mich an. Ich brauche einfach nur eine gute Möglichkeit die Daten immer von Tabelle 1 in Tabelle 2 zu bekommen sobald sich jemand Registriert. Ich bin jetzt leider mit Chron und MySQl nicht so wirklich fit.

    Oder einfacher, Tabelle in db2 leeren und komplett aus db1 kopieren. Allerdings gibt es dabei ne Verzögerung von der Registrierung bis dann dir Daten auch für den Foren Login da sind.


    Die Datenbank des Forums enthält auch noch andere Spalten die nicht mit der Ersten Software identisch sind. Nur username, email und passoword sind identisch mit der ersten Tabelle falls das Hilft. Deshalb möchte ich auch nur diese Werte übernehmen alles andere kann der User im Forenprofil selbst eintragen
  • in: Trigger in MySQL erstellen

    geschrieben von jippyx

    Wieso kopierst du nicht nur bei einer Registrierung? Da dann einfach erst in Tabelle 1 und dann in Tabelle 2 dir Werte schreiben. Das wäre die schnellste Variante. Ansonsten geht auch noch das mit nem Cron die DB auslesen und jeden Eintrag der noch nicht in db2 ist zu erstellen. Oder einfacher, Tabelle in db2 leeren und komplett aus db1 kopieren. Allerdings gibt es dabei ne Verzögerung von der Registrierung bis dann dir Daten auch für den Foren Login da sind.


    Hallo,

    danke für Eure Antworten. An diese Lösung dachte ich eben auch schon, da die Software die ich nutze aber noch recht neu ist und sehr viel immer noch verändert wird und schon wurde am Code würde bei jedem Update der Code wieder überschrieben werden. Hinzu kommt das es noch ein Facebook, Instagram und Twitter Login gibt. Hier ist mir dann einfach der Weg mittels Trigger lieber, auch muss ich dann bei Updates der Dateien nicht immer alles neu eintragen.

    Viele herzliche Grüße
    Ronny
  • in: Trigger in MySQL erstellen

    geschrieben von jippyx

    Hallo zusammen,

    gibt es hier jemanden der mir eine Trigger Anweisung zum erstellen eines Triggers in einer MySQL Datenbank erstellen kann? Kurz zur Erklärung:

    Ich habe eine Tabelle "accounts", dort sind die Registrierten User mit den Spalten username, email und password. Diese 3 Spalten in der Tabelle sollen automatisch auch ins externe Forum übernommen werden das die gleichen Spalten und Bezeichnungen führt. Eben nur in einer anderen Tabelle. Das Forum ist in der gleichen Datenbank aber die Tabelle heißt dort "forumusers". Leider bin ich absoluter Anfänger was MySql angeht. Hab die verschiedensten Beispiele gelesen etc aber bekomme es leider nicht hin. Bisher kopiere ich die Einträge noch manuell per Hand, was aber auch keine gute Lösung ist.

    Es wäre echt super, wenn sich da jemand auskennt und mir hier weiterhelfen könnte.

    Viele liebe Grüße
    Ronny

Login zum Webhosting ohne Werbung!