Hallo com, ich habe in meine register.php ein Captcha eingebaut.
und hier einmal die abfragen:
meine Frage ist jetzt, wie ich das machen kann, dass er angibt, das der Captcha Falsch ist und das der Captcha Ausgefüllt werden muss?
Freue mich auf antworten
MfG
.:Flyff:.
PHP-Quellcode
- <form method="post"> <table> <tr> <td>Benutzername:</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><img src="./inc/captcha.php" /></td> <td><input type="text" name="reg_captcha" maxlength="5" /></td> </tr> <td></td> <td><input type="submit" name="reg_submit" value="Account erstellen" /></td> </tr> </table> </form>
und hier einmal die abfragen:
PHP-Quellcode
- <?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_captcha'])) $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(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 , votepoints) 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, 0)'); 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>'; } } ?>
meine Frage ist jetzt, wie ich das machen kann, dass er angibt, das der Captcha Falsch ist und das der Captcha Ausgefüllt werden muss?
Freue mich auf antworten
MfG
.:Flyff:.