ich will euch heute eine Erweiterung des Registers der Stefan Pfeifer HP geben.
Warum Stefan Pfeifer HP?
Erstens nutzen nur die Personen diese HP, die das nicht selber können und zweitens hatte ich einfach keine Lust selber eines zu coden.
Also fangen wir an.
DB:
Code:
ACCOUNT_DBF -> ACCOUNT_TBL -> rechtsklick und auf entwerfen klicken Dort fügt ihr das hinzu: frage (Datentyp: int) antwort (Datentyp: text)
Code:
<?php include('./inc/header.php'); ?> <div class="main"> <img src="img/main_head.png" alt="" /> <div class="site"> <h1>Registration</h1> <?php if(!isset($_POST['reg_username'])) $_POST['reg_username'] = ''; if(!isset($_POST['reg_email'])) $_POST['reg_email'] = ''; odbc_exec($mssql, 'USE [ACCOUNT_DBF]'); $checkacc = odbc_exec($mssql, 'SELECT COUNT(*) as count FROM [ACCOUNT_TBL] WHERE account=\''.mssql_escape_string($_POST['reg_username']).'\''); $checkmail = odbc_exec($mssql, 'SELECT COUNT(*) as count FROM [ACCOUNT_TBL_DETAIL] WHERE email=\''.mssql_escape_string($_POST['reg_email']).'\''); $errors = array(); if(empty($_POST['reg_username']) || empty($_POST['reg_password']) || empty($_POST['reg_confirmpw']) || empty($_POST['reg_email']) || empty($_POST['reg_confirmmail']) || empty($_POST['reg_antwort'])) $errors[] = 'Du musst alle Felder ausfüllen!'; if(!empty($_POST['reg_username']) && odbc_result($checkacc, 'count') > 0) $errors[] = 'Der Benutzername existiert bereits!'; if(!empty($_POST['reg_email']) && odbc_result($checkmail, 'count') > 0) $errors[] = 'Die E-Mail Adresse existiert bereits!'; if(!empty($_POST['reg_username']) && (strlen($_POST['reg_username']) > 10 || strlen($_POST['reg_username']) < 4)) $errors[] = 'Dein Benutzername muss 4 - 10 Zeichen enthalten!'; if(!empty($_POST['reg_password']) && (strlen($_POST['reg_password']) > 12 || strlen($_POST['reg_password']) < 6)) $errors[] = 'Dein Passwort muss 6 - 12 Zeichen enthalten!'; if((!empty($_POST['reg_password']) && !empty($_POST['reg_confirmpw'])) && $_POST['reg_password'] != $_POST['reg_confirmpw']) $errors[] = 'Deine Passwort Wiederholung stimmt nicht!'; if(!empty($_POST['reg_email']) && !preg_match('/^[a-zA-Z0-9-_.]+@[a-zA-Z0-9-_.]+\.[a-zA-Z]{2,4}$/', $_POST['reg_email'])) $errors[] = 'Die E-Mail Adresse ist nicht valide'; if((!empty($_POST['reg_email']) && !empty($_POST['reg_confirmmail'])) && $_POST['reg_email'] != $_POST['reg_confirmmail']) $errors[] = 'Deine E-Mail Wiederholung stimmt nicht!'; if(isset($_POST['reg_submit'])) { if(count($errors) > 0) { echo '<div class="fail">'; foreach($errors as $error) { echo $error.'<br/>'; } echo '</div>'; } else { odbc_exec($mssql, 'INSERT INTO [dbo].[ACCOUNT_TBL] (account, password, isuse, member, id_no1, id_no2, realname, reload, OldPassword, TempPassword, cash, lastvote1, lastvote2, lastvote3, votepoints, frage, antwort) VALUES (N\''.mssql_escape_string($_POST['reg_username']).'\', N\''.mssql_escape_string(md5($_CONFIG['pwdsalt'].$_POST['reg_password'])).'\', N\'T\', N\'A\', NULL, 0, N\'P\', NULL, 0, NULL, 0, NULL, NULL, NULL, 0, \''.mssql_escape_string($_POST['frage']).'\', \''.mssql_escape_string($_POST['reg_antwort']).'\')'); odbc_exec($mssql, 'INSERT INTO [dbo].[ACCOUNT_TBL_DETAIL] (account, gamecode, tester, m_chLoginAuthority, regdate, BlockTime, EndTime, WebTime, isuse, secession, email) VALUES (N\''.mssql_escape_string($_POST['reg_username']).'\', N\'A000\', N\'2\', N\'F\', \''.mssql_escape_string(date('Ymd H:i:s')).'\', N\'20010101\', N\'20990101\', N\'20050101\', N\'O\', NULL, N\''.mssql_escape_string($_POST['reg_email']).'\')'); echo '<div class="success">Dein Account wurde erfolgreich erstellt!</div>'; } } ?> <form method="post"> <form method="post"> <table> <tr> <td>Accountname:</td> <td><input type="text" name="reg_username" maxlength="10" /></td> </tr> <tr> <td>Passwort:</td> <td><input type="password" name="reg_password" maxlength="11" /></td> </tr> <tr> <td>Wdh. Passwort:</td> <td><input type="password" name="reg_confirmpw" /></td> </tr> <tr> <td>E-Mail:</td> <td><input type="text" name="reg_email" /></td> </tr> <tr> <td>Wdh. E-Mail:</td> <td><input type="text" name="reg_confirmmail" /></td> </tr> <tr> <td>Geheimfrage:</td> <td> <select name="frage"> <?php foreach($ghf as $id => $frage) { echo '<option value="'.$id.'">'.$frage.'</option>'; } ?> </select> </td> </tr> <tr> <td>Geheimantwort:</td> <td><input type="text" name="reg_antwort" /></td> <tr> <td></td> <td><input type="submit" name="reg_submit" value="Account erstellen" /></td> </tr> </table> </form> </form> </div> <img src="img/main_foot.png" alt="" /> </div> <?php include('./inc/footer.php'); ?>
Code:
Unter den PSC values: // Geheimfragen $ghf = array( 1 => 'Dein favorisiertes Schulfach ist ...?', 2 => 'Dein Geburtsort war ...?', 3 => 'Dein Lieblingsverein ist ...?', 4 => 'Der Name deines ersten Haustieres war ...?', 5 => 'Dein erstes Computerspiel war ...?', 6 => 'Deine absolute Lieblingsfarbe ist ...?' );
Wenn ihr noch das skript für das ändern der Geheimfrage und -antwort im User Panal haben wollt, meldet euch einfach.
Bei Problemen könnt ihr euch auch gerne melden.
Lg
Ein großes Dankeschön an Xxl3lubbs, der mir einen Verbesserungsvorschlag geschickt hat.