[Homepage] register Frage

  • Hallo com, ich habe in meine register.php ein Captcha eingebaut.

    PHP
    <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
    <?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&uuml;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:.

  • Du musst wohl erst mal ne Session erstellen welches dein Captcha speichert
    z.b. -> Dein Captcha (Bild) hat folgende Zahlen/Buchstaben Kombi: ABC123
    dann erstellst so sozusagen eine SESSION mit ABC123
    und lässt die Session dann mit der eingabe im Captcha Feld vergleichen so sollte es wohl am einfachsten gehen

    [COLOR=#000000][COLOR=#FF8000][CENTER]
    [/CENTER]
    [/COLOR][/COLOR]

  • Wieso fragst du doppelt?

    Im anderen Thread ist es bereits beantwortet.

    Und nein man macht es nicht mit Session..... Es wird einfach per POST mit gesandt oO

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!