Ergebnis 1 bis 6 von 6

Thema: Account register Page Frage

  1. #1
    HTML Newbie
    Registriert seit
    29.09.2007
    Beiträge
    2
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Account register Page Frage

    habe da ein kleines problem mit meiner acc register page
    hoffe mir kann da wer behilflich sein
    ich selbst habe nicht wirklich viel ahnung in sachen php

    zur zeit sieht es so aus wenn ich einen acc erstelle schaut er in die db ob der username schon existiert
    dieses möchte ich auch für die e-mail adresse machen
    und das er durchsucht ob die ip schonmal benutzt wurde
    also man soll maximal einmal die selbe e-mail benutzen können und maximal 2 mal die selbe ip
    ist das möglich?
    hoffe mir kann hier wer helfen


    also meine sql datenbank sieht so aus
    INSERT INTO accounts
    (`acct`, `login`, `password`, `gm`, `banned`, `lastlogin`, `lastip`, `email`, `flags`)
    VALUES
    (18, 'test', 'test', '', 0, "9/29/2007 16:24:59", 'xx.xxx.xxx.xx', 'xxxx@xxxxxx.de', ;
    so und hier der php code für die page
    <?php

    #################
    # #
    # #
    # Enjoy! #
    # #
    # #
    #################

    include("config.php");

    error_reporting(E_ALL ^ E_NOTICE);

    session_start();

    $msg = Array();
    $error = Array();

    function addUser(){
    if (empty($_POST)) return false;
    global $config, $msg, $error;
    if (empty($_POST['login'])) $error[] = 'Error, You forgot to enter a account name!';
    if (empty($_POST['password'][0]) || empty($_POST['password'][1])) $error[] = 'Error, You forgot to enter a password!';
    if ($_POST['password'][0] !== $_POST['password'][1]) $error[] = 'Password does not match!';
    if (empty($_POST['email'])) $error[] = 'Please fill in a valid email adress!';
    if (!empty($error)) return false;
    $db = @mysql_connect($config['mysql_host'], $config['mysql_user'], $config['mysql_pass']);
    if (!$db) return $error[] = 'Database: '.mysql_error();
    if (!@mysql_select_db($config['mysql_dbname'], $db)) return $error[] = 'Database: '.mysql_error();
    $query = "SELECT `acct` FROM `accounts` WHERE `login` = '".mysql_real_escape_string($_POST['login'])."'";
    $res = mysql_query($query, $db);
    if (!$res) return $error[] = 'Database: '.mysql_error();
    if (mysql_num_rows($res) > 0) return $error[] = 'Username already in use.';
    $query = "INSERT INTO `accounts` (`login`,`password`,`lastip`, `email`, `flags`) VALUES ('".mysql_real_escape_string($_POST['login'])."', '".mysql_real_escape_string($_POST['password'][0])."', '".$_SERVER['REMOTE_ADDR']."', '".mysql_real_escape_string($_POST['email'])."', '8')";
    $res = mysql_query($query, $db);
    if (!$res) return $error[] = 'Database: '.mysql_error();
    $msg[] = 'The Account <span style="color:#00FF00">'.htmlentities($_POST['login']).'</span> has been created!';
    $msg[] = 'In about 1-2 minutes you will be able to log in.';
    $msg[] = 'In ca. 1-2 minuten kannst du dich einloggen.';
    mysql_close($db);
    return true;
    }
    {
    addUser();
    }

    ?>


    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
    <title>Account Creation Page</title>
    <meta http-equiv="Pragma" content="no-cache"/>
    <meta http-equiv="Cache-Control" content="no-cache"/>
    <style type="text/css" media="screen">@import url(server_stats.css);</style>
    <!--[if lt IE 7.]>
    <script defer type="text/javascript" src="pngfix.js"></script>
    <![endif]-->
    </head>
    <body>
    <center>
    <div class="logo"></div>
    <div style="width:300px">
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
    <table width="100%" border="0" cellspacing="1" cellpadding="3">
    <tr class="head"><th colspan="2">Account Creation</th></tr>
    <tr>
    <th>Username: </th><td align="center"><input class="button" type="text" name="login" size="30" maxlength="16"/></td>
    </tr>
    <tr>
    <th>Password: </th><td align="center"><input class="button" type="password" name="password[]" size="30" maxlength="16"/></td>
    </tr>
    <tr>
    <th>Retype Password: </th><td align="center"><input class="button" type="password" name="password[]" size="30" maxlength="16"/></td>
    </tr>
    <tr>
    <th>E-mail: </th><td align="center"><input class="button" type="text" name="email" size="30" maxlength="30"/></td>
    </tr>
    </table>
    <input type="button" class="button" value="Back" onClick="history.go(-1)" />
    <input type="submit" value="Create" class="button"/>
    </form>

    <?php
    if (!empty($error)){
    echo '<table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td class="error" align="center">';
    foreach($error as $text)
    echo $text.'</br>';
    echo '</td></tr></table>';
    };
    if (!empty($msg)){
    echo '<table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td align="center">';
    foreach($msg as $text)
    echo $text.'</br>';
    echo '</td></tr></table>';
    exit();
    };
    ?>

    </div>
    <div class="footer">
    Original design by mmorpg4free.com, styling by NoriaC
    </div>
    </center>
    </body>
    </html>
    mfg Totatis
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    König(in)
    Registriert seit
    06.06.2007
    Ort
    Bi
    Beiträge
    1.015
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    $check = mysql_query("SELECT * FROM accounts WHERE email = '".$email."' ");

    $exists = mysql_fetch_row($check);

    if($exists) return "existiert";

    edit:

    oder was effektiver ist wie phpfan unten gesagt hat


    $check = mysql_query("SELECT * FROM accounts WHERE email = '".$email."' ");

    $exists = mysql_rows_rows($check);

    if($exists != 0) return "existiert";


    Die meisten IPs sind dynamisch, daher ist das für eine IP-Sperre schwachsinn
    Sämtlicher Code erhebt keinen Anspruch auf syntaktische Korrektheit geschweige denn Ausführbarkeit und ist für die Implementation außerhalb der Beispiele nicht geeignet.

    Kein Support für kommerzielle Scripts | Kein kostenloser Support via ICQ

  3. #3
    phpfan
    Gast

    Standard

    AUTSCH!!! Warum nicht mysql_num_rows und wieso "Select *"

    @Tota
    Du solltest dir angewöhnen, den Quellcode ordentlich einzurücken, denn so eine Buchstabenwüste ist unlesbar!

  4. #4
    HTML Newbie
    Themenstarter

    Registriert seit
    29.09.2007
    Beiträge
    2
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    mit der ip geht mir eigentlich nur darum das man nicht gleich hintereinander tausende acc's machen kann und somit meine datenbanken zu flooden

    und sorry wenn ich so doof frage aber wo muss ich diesen code eintragen den du da geschrieben hast?
    bin totaler boon in sachen php XD


    sorry wusste nicht das das so durcheinander ist habe einfach die komplette datei gepostet
    ich verstehe von dem code sogut wie gar nix
    kann höchstens noch ein paar texte einfügen

  5. #5
    Azubi(ne)
    Registriert seit
    11.04.2007
    Beiträge
    85
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Zitat Zitat von K.Y.L.T.
    $check = mysql_query("SELECT * FROM accounts WHERE email = '".$email."' ");
    Nur für eine Count Abfrage gleich Alle Selecten?? Ein Eintrag würd genügen oder es gibt sogar irgendein count...

  6. #6
    Kaiserliche Hoheit
    Registriert seit
    04.03.2007
    Ort
    BäRLIN
    Alter
    31
    Beiträge
    1.857
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    <offtopic>
    Sorry das MUSS jetzt sein :
    Ich freu mich schon auf den WoW-Privatserver ... wenn die Admins selbst mit sowas schon Probleme haben wird der Server ne katastophe
    Das is doch ein fertiges Script was du da hast ..
    </offtopic>

    Ihr könntet doch einfach eines der zahlreichen Free-Scripts nehmen und das zunächst einsetzten, bzw das als vorlage nehmen ?

    ich nehme an du willst vorhandensein prüfen. auch das ist in den vorhandenen scripten schon drin meistens ...
    Jeder hat das Recht dumm zu sein. Einige mißbrauchen dieses Recht leider ständig!
    Weder meine ICQ-Nummer noch meine MSN-Adresse oder meine eMailadresse sind für Bestellungen, Sponsoringanfragen oder Support !

    ploppGROUP Internetservices - IT-Partner für Geschäfts-/Großkunden
    mit Rechenzentren in Berlin, Hannover und bald auch FFM

Ähnliche Themen

  1. Account-Verkaufweb.de.vu
    Von im Forum Eure Homepages und Foren - Vorstellung und Bewertungen
    Antworten: 0
    Letzter Beitrag: 21.07.2007, 03:32
  2. Tab bzw. Register
    Von Baggo1 im Forum HTML & CSS Forum
    Antworten: 3
    Letzter Beitrag: 06.11.2006, 09:07
  3. register-system funzt nicht so wirklich...
    Von SonicChriz im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 8
    Letzter Beitrag: 17.12.2005, 20:30

Stichworte

Berechtigungen

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