Fehlerbeschreibung:
Ich habe jetzt schon 2 drei mal in den buchungen verfolgen können,
das buchungen der werberprämie 2,3 oder ach 4 mal ausgeführt wurden.

hier die buchungen eines users:
HTML-Code:
10.03.2009   23:02   5.000,00   Werberprämie für User 131 
10.03.2009   23:02   5.000,00   Werberprämie für User 131      
10.03.2009   23:02   5.000,00   Werberprämie für User 131    
10.03.2009   22:59   5.000,00   Werberprämie für User 131
es werden je nach lust und laune manchmal 1 buchung manchmal 4 wies halt grad lust hat ausgeführt.

Anmelde.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['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!") {



$_POST['nachname'] = addslashes ($_POST['nachname']);
$_POST['vorname'] = addslashes ($_POST['vorname']);

//UID Bestimmen
$id =db_query ("SELECT count(uid) as idid FROM ".$db_prefix."_userdaten ");
$id2 = mysql_fetch_assoc($id);
$id3= $id2[idid]+1;

// 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>';


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']) < 6) $error .= 'Passwortlänge muss min. 8 Zeichen haben<br>';
if ($_POST['pin'] != $_SESSION['pin_anmeldung']) $error .= 'Sicherheitscode falsch!'; 
if ($_POST['agb'] != "ja") $error .= 'Du musst die AGBs bestädigen!<br>';
if ($id3 == $_SESSION['werber']) $error .= 'Du kannst Dich nicht selber werben<br>';



// User mit der Datenbank abgleichen
if (!$error) {
$_POST['nickname'] = mysql_real_escape_string(ucfirst($_POST['nickname']));
$nickname_check =db_query ("SELECT `nickname` FROM ".$db_prefix."_userdaten WHERE nickname='".$_POST['nickname']."'");
$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($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>';
}

//Anmeldebonus
$req=mysql_query("SELECT werberpraemie, startguthaben FROM ".$db_prefix."_start_praemie");
while ($row = mysql_fetch_array($req)) {
$werberpraemie=$row['werberpraemie'];
$startguthaben=$row['startguthaben'];
}
kontobuchung ('+',$werberpraemie,$_SESSION['werber']);
$buchungs_id = create_code(14); 
db_query("INSERT INTO ".$db_prefix."_buchungen (uid,buchungszeit,buchungs_id,buchungsmenge,verwen dungszweck) VALUES (".$_SESSION['werber'].",".time().",'".$buchungs_id."','".$werberpraemie ."','Werberprämie für User ".$id3."')");


// User eintragen
if (!$error) {
db_query("INSERT INTO ".$db_prefix."_kontodaten (uid,passwort,status,hinweis,kontostand) VALUES ('".$id3."','".md5($_POST['passwort_1'])."','0','','$startguthaben')");
db_query("INSERT INTO ".$db_prefix."_emaildaten (uid,emailadresse,freigabe_fuer) VALUES ('".$id3."','".$_POST['emailadresse']."','".$_POST['newsletter']."')");
db_query("INSERT INTO ".$db_prefix."_userdaten (uid,nickname,vorname,nachname,angemeldet_seit) VALUES ('".$id3."','".$_POST['nickname']."','".$_POST['vorname']."','".$_POST['nachname']."','".time()."')");
db_query("INSERT INTO ".$db_prefix."_werberdaten (uid,werber,umsatz,zuordnungszeit) VALUES ('".$id3."','".$_SESSION['werber']."','0','".time()."')");

}

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

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


?>

<center><b>Neuanmeldung</b></center>
<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="<?=$_POST['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>Newsletter:</b></td>
<td class="main"><select name="newsletter"><option value="1" <? if ($_POST['newsletter'] == "1") { echo 'selected';}?>>Ja</option><option value="0" <? if ($_POST['newsletter'] != "1") { echo 'selected';}?>>Nein</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"><b><img src="pin_image.php"></b></td>
<td class="main"><input type="text" name="pin"></td>
</tr> 
<tr>
<td class="main" align="center" colspan="2">
Vor dem Anmelden lese bitte die <a href="?content=/intern/agbs">AGB`s</a> !<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>
Joschi<br>

<?foot();?>
<? } ?>
MFG Lokutos