Ergebnis 1 bis 5 von 5

Thema: Probleme mit Useranmeldung beim VMS ohne Klammanbindung

  1. #1
    Benutzer Avatar von erik3009
    Registriert seit
    09.12.2012
    Beiträge
    39

    Frage Probleme mit Useranmeldung beim VMS ohne Klammanbindung

    Hallo,

    ich habe auf meiner Seite ein Problem. Ich nutze das Vms ohne Klammanbindung. Von Zeit zu Zeit kommt es bei den Neuanmeldungen von Usern zu folgendem Problem:

    Der User meldet sich an und bekommt eine 6 Stellige UserID zugeteilt. Diese wird in der Datenbank gespeichert. Allerdings werden keine weiteren Daten des Users gespeichert sowie NICK, das PW die Mailadresse und so weiter. Der User kann sich somit auch nicht auf der Seite einloggen bzw den Aktivierungslink benutzen.

    Damit die Anmeldungen wieder funktionieren muss ich jedesmal wenn so etwas vorgefallen ist in die Datenbank und unter vms_kontodaten bei Operationen im auto_increment die Daten wieder um eins höher als die letzte reguläre Anmeldung stellen. Also wenn der letzte "Normale" User die 130 hatte muss ich es auf 131 stellen. Somit ist aber der Neu angemeldete User welcher sich versucht hat anzumelden aber weg.

    Wie kann ich verhindern das sich dass immer wieder von alleine umstellt?
    Der-Loseklicker
    ^^^^^^^^^^
    Dein Klick zum Glück

  2. #2
    Erfahrener Benutzer Avatar von jpwfour
    Registriert seit
    06.02.2008
    Beiträge
    3.717

    AW: Probleme mit Useranmeldung beim VMS ohne Klammanbindung

    Benutzt du das aus dem Downloadbereich?
    Evtl. stell mal deine anmelden.php hier rein, und schau mal, ob die anderen Tabellen (vms_userdaten, vms_emaildaten, vms_werberdaten, ...) auch die Spalte uid auf auto_increment haben.
    Kill one man, and you are a murderer.
    Kill millions of men, and you are a conqueror.
    Kill them all, and you are a god.
    - Jean Rostand, Thoughts of a Biologist (1939)

  3. #3
    Benutzer Avatar von erik3009
    Registriert seit
    09.12.2012
    Beiträge
    39

    AW: Probleme mit Useranmeldung beim VMS ohne Klammanbindung

    Ja es ist das Script hier aus dem Downloadbereich. Bei den anderen Tabellen steht die Spalte uid auch auf auto_increment. Hier mal meine anmelden.php
    PHP-Code:
    <?
    // Variabel vordefinieren!
    if (!isset($_POST['anmelden']))        $_POST['anmelden']            = "";
    if (!isset($_POST['nickname']))        $_POST['nickname']            = "";
    if (!isset($_POST['nachname']))        $_POST['nachname']            = "";
    if (!isset($_POST['vorname']))        $_POST['vorname']            = "";
    if (!isset($_POST['emailadresse']))    $_POST['emailadresse']        = "";
    if (!isset($_POST['passwort_1']))    $_POST['passwort_1']        = "";
    if (!isset($_POST['passwort_2']))    $_POST['passwort_2']        = "";
    if (!isset($_POST['uid_passwort']))    $_POST['uid_passwort']        = "";
    if (!isset($_POST['uid']))            $_POST['uid']                = "";
    if (!isset($_POST['agb']))            $_POST['agb']                = "";
    if (!isset($_POST['newsletter']))    $_POST['newsletter']        = "1";
    if (!isset($_POST['paidmails']))    $_POST['paidmails']            = "1";
    if (!isset($error))                    $error                        = "";
    if (!isset($anmeldeok))                $anmeldeok                    = "";
    if (!isset($ak))                    $ak                            = "";

    if ($_POST['anmelden'] == "Jetzt anmelden!") {

        // SecVMS change begin
        $_GET['nachname'] = addslashes ($_GET['nachname']);
        $_GET['vorname'] = addslashes ($_GET['vorname']);
        $_POST['nickname'] = htmlspecialchars ($_POST['nickname']);
        // SecVMS change end


        $schnittstelle = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_schnittstelle LIMIT 1")) or die("Userinfo");
        $tag = strtotime("".date("m")."/".date("d")."/".date("Y")." 0 hours 0 minutes 0 seconds");
        $s_verbrauch = mysql_num_rows(db_query("SELECT * FROM ".$db_prefix."_schnittstelle_anfragen WHERE zeit='".$tag."' and uid='0'"));
        // Auf Eingabefehler prüfen
        if(!$_POST['nachname'] || !$_POST['vorname'] || !$_POST['emailadresse'] || !$_POST['passwort_1'] || !$_POST['passwort_2'] || !$_POST['nickname']) $error .= 'Bitte fülle alle benötigten Felder aus!<br>';
        
        // Pruefen, ob man sich mit der eMail-Domain anmelden darf
        $denied = explode(';', $pageconfig['denied_domains']);
            foreach ($denied AS $nr => $emaildomain) if (($nr < (count ($denied)-2) || strlen ($emaildomain) >= 5) && strpos ($_POST['emailadresse'], $emaildomain) !== FALSE) $error .= 'E-Mail-Adressen mit der Domain "<i>'.$emaildomain.'</i>" sind bei uns nicht erlaubt!<br>';

        if(!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}$",$_POST['emailadresse'])) $error .= 'Der Emailsyntax ist falsch!<br>';
        if ($_POST['passwort_1'] != $_POST['passwort_2']) $error .= 'Passwörter stimmen nicht überein!<br>';
        if (strlen($_POST['passwort_1']) < 8) $error .= 'Passwortlänge muss min. 8 Zeichen haben<br>';
        if (ereg("[^0-9]", $_POST['uid'])) $error .= 'Bei der Klamm Id nur Zahlen!<br>';
        if ($_POST['agb'] != "ja") $error .= 'Du musst die AGBs bestädigen!<br>';
        if ($schnittstelle['anfragen_tag'] != 0 and $schnittstelle['anfragen_tag'] <= $s_verbrauch) $error = 'Die Schnittstellenanfragen sind für heute verbraucht!!!<br>';

        // User mit der Datenbank abgleichen
        if (!$error) {
        $nickname = ucfirst($_POST['nickname']);
        $nickname_check =db_query ("SELECT `nickname` FROM ".$db_prefix."_userdaten WHERE nickname='".$nickname."'");
        $user_check = db_query ("SELECT `uid` FROM ".$db_prefix."_kontodaten WHERE uid='".$_POST['uid']."'");
        $mail_check    = db_query ("SELECT `emailadresse` FROM ".$db_prefix."_emaildaten WHERE emailadresse='".$_POST['emailadresse']."'");
        $black_check= db_query ("SELECT * FROM ".$db_prefix."_userblacklist WHERE uid='".$_POST['uid']."' and zeit >='".time()."'");
        $sperre = mysql_fetch_array($black_check);
        if ($sperre['zeit'] != 99999999999) {
        $sperrtext = 'Du bist für eine Neuanmeldung noch bis <b>'.date("d.m.Y - H:i:s",$sperre['zeit']).'</b> gesperrt!<br>';
        } else {
        $sperrtext = '<b><i>Du bist für diese Webseite komplett gesperrt!</i></b>';
        }
        if (mysql_num_rows($user_check)) $error .= 'Du bist bereits bei uns angemeldet!<br>';
        if (mysql_num_rows($mail_check)) $error .= 'Diese Emailadresse ist schon im System!<br>';
        if (mysql_num_rows($black_check)) $error = $sperrtext;
        if (mysql_num_rows($nickname_check)) $error .='Der Nickname ist schon vergeben!<br>';
        }

        
        // User eintragen
        if (!$error) {
        if ($_POST['newsletter'] == 0 and $_POST['paidmails'] == 0) $mailstatus = 0;
        if ($_POST['newsletter'] == 1 and $_POST['paidmails'] == 0) $mailstatus = 1;
        if ($_POST['newsletter'] == 0 and $_POST['paidmails'] == 1) $mailstatus = 2;
        if ($_POST['newsletter'] == 1 and $_POST['paidmails'] == 1) $mailstatus = 3;
         $req=mysql_query("SELECT werberpraemie, startguthaben FROM ".$db_prefix."_start_praemie");
    while ($row = mysql_fetch_array($req)) {
    $werberpraemie=$row[werberpraemie];
    $startguthaben=$row['startguthaben'];
    }
      db_query("INSERT INTO ".$db_prefix."_kontodaten (uid,passwort,status,hinweis,kontostand) VALUES ('".$_POST['uid']."','".md5($_POST['passwort_1'])."','0','','$startguthaben')");
        db_query("INSERT INTO ".$db_prefix."_emaildaten (uid,emailadresse,freigabe_fuer) VALUES ('','".$_POST['emailadresse']."','".$mailstatus."')");
        db_query("INSERT INTO ".$db_prefix."_userdaten (uid,nickname,vorname,nachname,angemeldet_seit) VALUES ('','".$nickname."','".$_POST['vorname']."','".$_POST['nachname']."','".time()."')");
        $ws = db_query("SELECT * FROM ".$db_prefix."_werberdaten WHERE uid='".$_POST['uid']."'");
        db_query("INSERT INTO ".$db_prefix."_werberdaten (uid,werber,umsatz,zuordnungszeit) VALUES ('','".$_SESSION['werber']."','0','".time()."')");
        $ak = md5($_POST['uid'].''.time());
        db_query("INSERT INTO ".$db_prefix."_aktivierungen (uid,ak) VALUES ('','".$ak."')");
        kontobuchung ('+',$werberpraemie,$_SESSION['werber']);
        $buchungs_id = create_code(14);     
        db_query("INSERT INTO ".$db_prefix."_buchungen (uid,buchungszeit,buchungs_id,buchungsmenge,verwendungszweck) VALUES (".$_SESSION['werber'].",".time().",'".$buchungs_id."','".$werberpraemie."','Werberprämie für User ".$_POST['uid']."')");
      $email_message = 'Hallo, '.$_POST['nickname'].'
        Du hast Dich soeben erfolgreich bei '.$seitenname.' angemeldet.

        Bitte aktiviere jetzt Deinen Account, klicke dazu bitte auf den
        Aktivierungslink: '.$domain.'/?content=/intern/aktivieren&ak='.$ak.'

        ----------------------------------------------------------
        Nickname: '.$_POST['nickname'].'
        Passwort: '.$_POST['passwort_1'].'
        ----------------------------------------------------------

        Nach der Aktivierung kannst Du dich sofort einloggen und bei
        uns teilnehmen.

        Mit freundlichen Grüßen
        Das '.$seitenname.' Team
        ';
        @mail($_POST['emailadresse'], "$seitenname Accountaktivierung", $email_message, "FROM: $seitenname <$betreibermail>");
        $anmeldeok = "true";
        }

    }

    if ($error){
    head("Anmeldefehler");
    echo '<font color="#cc0000">'.$error.'</font>';
    foot();
    }
    ?>

    <? if ($anmeldeok != "true") { ?>
    <?head("$seitenname - Neuanmeldung");?>

      <table width="100%" cellpadding="3" cellspacing="0" border="0">
      <form action="" method="post">
       <tr>
        <td class="main"><b>Nickname:</b></td>
        <td class="main"><input type="text" name="nickname" value="<?=$nickname;?>"></td>
       </tr>
       <tr>
        <td class="main"><b>Nachname:</b></td>
        <td class="main"><input type="text" name="nachname" value="<?=$_POST['nachname'];?>"></td>
       </tr>
       <tr>
        <td class="main"><b>Vorname:</b></td>
        <td class="main"><input type="text" name="vorname" value="<?=$_POST['vorname'];?>"></td>
       </tr>
       <tr>
        <td class="main"><b>Emailadresse:</b></td>
        <td class="main"><input type="text" name="emailadresse" value="<?=$_POST['emailadresse'];?>"></td>
       </tr>
       <tr>
        <td class="main">Werber:</td>
        <td class="main"><? if($_SESSION['werber'] == 0) {echo '<b>keinen</b>';} else {echo $_SESSION['werber'];}?></td>
       </tr>
       <tr>
        <td class="main"><b>Passwort:</b></td>
        <td class="main"><input type="password" name="passwort_1"></td>
       </tr>
       <tr>
        <td class="main"><b>Passwortbestätigung:</b></td>
        <td class="main"><input type="password" name="passwort_2"></td>
       </tr>
       <tr>
        <td class="main"><b>Paidmails empfangen:</b></td>
        <td class="main"><select name="paidmails"><option value="1" <? if ($_POST['paidmails'] == 1) { echo 'selected';}?>>Ja</option><option value="0" <? if ($_POST['paidmails'] != 1) { echo 'selected';}?>>Nein</option></select></td>
       </tr>
       <tr>
        <td class="main"><b>Newsletter:</b></td>
        <td class="main"><select name="newsletter"><option value="1" <? if ($_POST['newsletter'] == "1") { echo 'selected';}?>>Ja</option></select></td>
       </tr>
       <tr>
        <td class="main"><b>AGB`s gelesen und akzeptiert:</b></td>
        <td class="main"><select name="agb"><option value="ja" <? if ($_POST['agb'] == "ja") { echo 'selected';}?>>Ja</option><option value="nein" <? if ($_POST['agb'] != "ja") { echo 'selected';}?>>Nein</option></select></td>
       </tr>
       <tr>
       <td class="main" align="center" colspan="2">
       Vor dem Anmelden lese bitte die AGB`s!<br><br>
       <input type="submit" name="anmelden" value="Jetzt anmelden!">
       </td>
       </tr>
       </form>
      </table>
    <?foot();?>
    <?} else {?>
    <?head("$seitenname - Anmeldung erfolgreich!");?>
    Deine Anmeldung bei <?=$seitenname;?> war erfolgreich, Du bekommst jetzt eine Email mit Deinen Daten und einen Aktivierungslink.
    Sobald Du deinen Account aktiviert hast kannst Du dich bei uns einloggen und diese Seite im vollen Umfang nutzen.<br>
    <br>
    Bitte beachte dass es auch etwas dauern kann bis die Aktivierungsmail bei Dir ankommt, dieses ist anhängig von Deinem Emailanbieter.<br>
    <br>
    Mit freundlichen Grüßen<br>
    Das <?=$seitenname;?> Team<br>

    <?foot();?>
    <? } ?>
    Der-Loseklicker
    ^^^^^^^^^^
    Dein Klick zum Glück

  4. #4
    Erfahrener Benutzer Avatar von jpwfour
    Registriert seit
    06.02.2008
    Beiträge
    3.717

    AW: Probleme mit Useranmeldung beim VMS ohne Klammanbindung

    Die Zeile (vermtulich Startguthaben Addon):
    PHP-Code:
    db_query("INSERT INTO ".$db_prefix."_kontodaten (uid,passwort,status,hinweis,kontostand) VALUES ('".$_POST['uid']."','".md5($_POST['passwort_1'])."','0','','$startguthaben')"); 
    muss angepasst werden in:
    PHP-Code:
    db_query("INSERT INTO ".$db_prefix."_kontodaten (uid,passwort,status,hinweis,kontostand) VALUES ('','".md5($_POST['passwort_1'])."','0','','$startguthaben')"); 
    Bei der Prämie für den Werber könnte es sein, dass der Buchungstextt nicht die richtige UserID anzeigt (da diese bei der Anmeldung ja erst vergeben wird, evtl auf Nicknamen abändern oder so.
    Kill one man, and you are a murderer.
    Kill millions of men, and you are a conqueror.
    Kill them all, and you are a god.
    - Jean Rostand, Thoughts of a Biologist (1939)

  5. #5
    Benutzer Avatar von erik3009
    Registriert seit
    09.12.2012
    Beiträge
    39

    AW: Probleme mit Useranmeldung beim VMS ohne Klammanbindung

    Das werde ich mal testen. Danke dir erstmal ich gucke mal obs klappt und meld mich dann.
    Der-Loseklicker
    ^^^^^^^^^^
    Dein Klick zum Glück

Ähnliche Themen

  1. VMS Klammanbindung ohne EF
    Von Basell im Forum Support zu Addons & Erweiterungen
    Antworten: 1
    Letzter Beitrag: 28.06.2012, 17:51
  2. Datenbankfehler beim VMS ohne Klammanbindung
    Von DSC_JUERGEN im Forum [HD] Programmieren
    Antworten: 5
    Letzter Beitrag: 31.07.2011, 18:49
  3. VMS ohne Klammanbindung
    Von nanos im Forum Support zum VMSone
    Antworten: 11
    Letzter Beitrag: 15.03.2009, 22:18
  4. Antworten: 16
    Letzter Beitrag: 31.05.2008, 20:31

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •