ilch Forum » Ilch Clan 1.1 » Allgemein » Erstellen einer neuen Box / Chatlogin

Geschlossen
  1. #1
    User Pic
    kugelschubs Mitglied
    Registriert seit
    09.02.2006
    Beiträge
    83
    Beitragswertungen
    0 Beitragspunkte
    Hi,

    ich bastel derzeit an einer Box um sich in einen Chat einloggen zu können.
    Der Chat selbst besitzt bereist eine php Datei die einen externen Login ermöglicht, hier der Quelltext:

    <?php
    session_start();
    //*****************************************************************************
    // Für die Realisierung der Anbindung des Chats an Ihr Userverwaltungssystem aus einem
    // Forum, CMS, usw. müssen Sie lediglich die unten stehenden Sessionvariablen
    // in Ihrem System mit dem Usernamen belegen und den User mit einem
    // Link auf diese Datei führen. Beachten Sie dass dabei der Username ohne Passwort übertragen wird. 
    // Sie dürfen also in Chat keine Passwörter für Admins und Mods anlegen. Für einen  Chatbenutzer ist die
    // Übergabe des Usernamen über die Sessionvar. $_SESSION['etchat_username'] aus Ihrem
    // System ausreichend.
    
    // $username = $_SESSION['etchat_username'];
    // $gender = $_SESSION['etchat_gender']; //[optional] 'f' or 'm' system default 'n' if unset
    
    // Die Admins und Mods sollen ohne PW im Chat angelegt werden!
    // Die class/Index.class.php soll gelöscht werden, damit niemand unbefugt als Afmin rein kann!
    
    //---------------------------------------------------------------------------
    // oder als GET oder POST Übergabe, jedoch unsicher und sollte kodiert werden
    $username = $_REQUEST['etchat_username'];
    $gender = $_REQUEST['etchat_gender'];
    //---------------------------------------------------------------------------
    
    // Weiterleitung nach dem Logout(die Session bleibt bestehen,
    // da sonst der User aus Ihrem System rausfliegt.)
    
    // WICHTIG!!!  '...db1_...'  sollte dem Tabellenprefix in der config.php ($prefix) entsprechen!!!
    
    $_SESSION['etchat_db1_logout_url']="http://chattest-du.de.vorschau.dehamd059.configcenter.info/index.php?close";
    
    ##############################################################
    # DO NOT EDIT BELOW ###############################################
    ##############################################################
    
    function __autoload($class_name) {
    		require_once ('class/'.$class_name.'.class.php');		
    }
    
    // initialise
    new CheckUserName(true, $username, $gender);
    
    ?>


    Und so sieht die Box aus die ich bis jetzt erstellt habe:

    <script language = "javascript">
        function check(){
            if(document.chatlogin.chattestducheck.checked == false){
                alert("Bitte Chatregeln akzeptieren!");
                return false;
            }
        }
    </script>
    
    <?php
    
    
    echo "
    
      <form name=\"chatlogin\" id=\"chatlogin\" method=post action=\"chat/Zusatztool_Anbindung_an_Fremduserverwaltung.php\" target=\"_top\"  onSubmit=\"return check()\">
        Dein Name:<br />
        <input type=text name=\"etchat_username\" value=\"\" maxlength=100>
        <br />
        <br />
        <div>
          Geschlecht:<br />
          <select name=\"etchat_gender\" size=1>
            <option value=\"n\">keine Angabe</option>
            <option value=\"m\">männlich</option>
            <option value=\"f\">weiblich</option>
          </select>
          <br /><br />
        </div>
        <input type=checkbox name=\"chattestducheck\" value=\"akzeptiert\" checked> 
        Ich akzeptiere die <a href=\"http://www.chattestdu.de/chatregeln.htm\" title=\"Chatregeln\" alt=\"Chatregeln\">Chatregeln</a>
        <br /><br />
        <input type=submit name=\"go\" value=\"Los Geht´s!\">
      </form>
    
    ";
    
    
    ?>


    Ich denke mir das das bis jetzt sehr unsicher ist was ich da "gebastelt habe".
    Ich habe folgende Idee die ich aber nicht alleine umsetzen kann:
    Es soll eine Abfrage stattfinden ob der Name der in meine Chatlogin Box eingegeben wird bereits im ilch vorhanden ist, d.h. sobald der exakte Name im ilch bereits exisitiert, soll man sich mit diesem Namen auch nicht einloggen können.
    Mein erster und sicherlich auch ausbaufähiger Ansatz dazu:
    if(db_result(db_query("SELECT COUNT(*) FROM prefix_user WHERE name = '"+$etchat_username+"'"),0)>0){


    Ich wäre dankbar für jede Hilfe.
    Derzeit verwende ich ja auch die unsichere Request Methode, vielleicht hat auch jemand eine Idee wie ich das über die Sessions laufen lassen kann?

    LG
    Peter
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    kugelschubs Mitglied
    Registriert seit
    09.02.2006
    Beiträge
    83
    Beitragswertungen
    0 Beitragspunkte
    Keiner eine Idee ?
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    kugelschubs Mitglied
    Registriert seit
    09.02.2006
    Beiträge
    83
    Beitragswertungen
    0 Beitragspunkte
    Hab heute nacht noch etwas getüftelt und das ist bei rausgekommen....

    <?php
    //*********************************************************************
    //
    // Schritt 1) Prüfen ob Username bereits in CMS vorhanden
    //
    //*********************************************************************
    if ( empty ($_POST['step']) ) {
    ?>
    //
    // --> Hier muss halt irgendwie ne Datenbankabfrage rein ob User bereits 
    // --> existiert. Nur das bekomme ich alleine nicht hin.....
    // --> Es soll abgefragt werden: User vorhanden?
    // --> Wenn ja, mit Fehlermeldung zurück (Username existiert bereits)
    // --> Wenn nein, weiter zu Schritt 2)
    // --> Es sollen nur exakte Übereinstimmungen gesucht werden
    // --> Keine Ähnlichkeiten
    //
    <form action="" method="POST" name="namecheck">
    <input type=hidden name="step" value="2" />
        Dein Name:<br />
        <input type=text name="chatnickname" value="Nickname" maxlength=100>
        <br />
        <br />
    <input type="submit" value="Prüfen ob Nickname verfügbar">
    </form>
    
    
    <?php
    //*********************************************************************
    //
    // Schritt 2) Nickname wird an Loginformular übergeben
    //
    //*********************************************************************
    } elseif ($_POST['step'] == 2) {
    ?>
    
    <script language = "javascript">
        function check(){
            if(document.login.chattestducheck.checked == false){
                alert("Bitte Chatregeln akzeptieren!");
                return false;
            }
        }
    </script>
    
    <?php
    echo "
    
      <form name=\"login\" id=\"login\" method=post action=\"chat/Zusatztool_Anbindung_an_Fremduserverwaltung.php\" target=\"_top\"  onSubmit=\"return check()\">
        Dein Name:<br />
        <input type=text name=\"etchat_username\" value=\"$_POST[chatnickname]\" maxlength=100 style=\"color: #CDCDCD\" readonly>
        <br />
        <br />
        <div>
          Geschlecht:<br />
          <select name=\"etchat_gender\" size=1>
            <option value=\"n\">keine Angabe</option>
            <option value=\"m\">männlich</option>
            <option value=\"f\">weiblich</option>
          </select>
          <br /><br />
        </div>
        <input type=checkbox name=\"chattestducheck\" value=\"akzeptiert\" checked> 
        Ich akzeptiere die <a href=\"http://www.chattestdu.de/chatregeln.htm\" title=\"Chatregeln\" alt=\"Chatregeln\">Chatregeln</a>
        <br /><br />
        <input type=submit name=\"go\" value=\"Los Geht´s!\">
      </form>
    
    ";
    
    } 
    ?>



    Zuletzt modifiziert von kugelschubs am 22.02.2011 - 14:28:54
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    oink Mitglied
    Registriert seit
    23.09.2010
    Beiträge
    740
    Beitragswertungen
    227 Beitragspunkte
    [13:52:41] <@annemarie`> errr
    [13:52:43] <@annemarie`> kugelschubs
    [13:52:54] <@annemarie`> wieso hast du das html der box in ein echo gepackt
    [13:53:00] <@annemarie`> das ist alles statisches html
    [13:53:05] <@annemarie`> da brauchst du kein php
    [13:53:15] <@annemarie`> und musst auch keine gänsefüßchen escapen
    [13:53:16] <kugelschubs> ok, geht ja schnell ändern :)
    [13:53:21] <@annemarie`> außerdem
    [13:53:24] <kugelschubs> bin php noob 
    [13:53:32] <@annemarie`> leg n form postmode fest, get oder post
    [13:53:47] <@annemarie`> und frag get/post im zielscript gezielt ab
    [13:53:50] <kugelschubs> ich versteh nur Bahnhof 
    [13:53:52] <@annemarie`> nicht nur $_REQUEST
    [13:54:21] <@annemarie`> dann prüf deine variablen ob die gültige inhalte enthalten bevor du damit dei klasse initialisierst
    [13:54:25] <kugelschubs> sorry aber ich kann nicht gut php, ich hab nicht viel verstanden von dem was Du gesagt hast
    [13:54:43] <@annemarie`> kugelschubs, GeCk0 hilft dir doch gerne ;)
    [13:55:22] <kugelschubs> solange es nicht unter seine GeCk0 Lizenz fällt :)
    [13:56:18] <kugelschubs> nehm ich die Hilfe gerne an ^^
    [13:56:31] <@GeCk0> erst wird bier getrunken
    [13:56:44] <kugelschubs> jetzt um die Zeit ?
    [13:56:51] <@GeCk0> du sollst
    [13:56:55] <@GeCk0> steht doch in meiner lizenz
    [13:57:13] <kugelschubs> lol hab sie mir nicht genau durchgelesen ^^
    [13:57:38] <kugelschubs> ich habe da aufgehört wo stand das man werbung nicht entfernen darf
    before creation there must be destruction
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    kugelschubs Mitglied
    Registriert seit
    09.02.2006
    Beiträge
    83
    Beitragswertungen
    0 Beitragspunkte
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    kugelschubs Mitglied
    Registriert seit
    09.02.2006
    Beiträge
    83
    Beitragswertungen
    0 Beitragspunkte
    Nochmal vielen vielen Dank Mairu für die echt klasse Arbeit / Hilfe!!!
    Ohne Dich hätte ich es nie hinbekommen.
    TOP!
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Allgemein

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten