Man kann Gutscheine mit gleichen Namen erstellen. Das ist doof, denn lösche ich einen sind alle mit gleichen Namen weg. Und dem User wird nur einer gutgeschrieben wieder.
Und ist es normal zweimal die selbe ($menge) Variable zu nutzen. (ich weiss nicht)
Im SQL ist aber nix mit aMenge wohin soll er das denn packen.PHP-Code:
db_query("Insert Into vms_gutschein
(Uid,Gutschein,aMenge,Menge,Wert) values ('".$_SESSION['uid']."','".$schein."','".$menge."','".$menge."','".$wert."');
Danke für den Hinweis und sorry für die Fehler hab es jetzt oben verbessert .
Und aMenge muss man noch in der Datenbank hinzufügen.
Hier der Befehl:
und die Änderungen in der Gutschein.php sind:Code:ALTER TABLE `vms_gutschein` ADD `aMenge` INT( 10 ) NOT NULL
unter die Zeile :
das einfügen:PHP-Code:
$kontodaten = mysql_fetch_array(db_query("SELECT `kontostand` FROM ".$db_prefix."_kontodaten WHERE uid=".$_SESSION['uid']." LIMIT 1"));
dann unter der Zeile :PHP-Code:
$check=db_query("SELECT Gutschein FROM ".$db_prefix."_gutschein WHERE Gutschein='".$name."'");
das einfügen :PHP-Code:
if ($_POST['erstellen']){
PHP-Code:
if (mysql_num_rows($check)) {
$error.= "Es existiert bereits ein Gutschein mit dem Namen überlege dir bitte einen anderen Namen!<br />";
}
Wieso soll er beim eintragen in die Db zweimal das gleiche Eintragen ($menge) ???PHP-Code:
db_query("Insert Into vms_gutschein
(Uid,Gutschein,aMenge,Menge,Wert) values ('".$_SESSION['uid']."','".$schein."','".$menge."','".$menge."','".$wert."');
Also in die Spalte aMenge um zu wissen wie viele Gutscheine es mal waren und Menge eben wie viele es noch gibt .
Zwei Sachen hab ich nun noch gefunden. Man kann als User soviel Gutscheine einlösen wie da sind.
Und es wird keine Meldung ausgeben das der Gutschein eingelöst wurde.
Danke nochmal und hier die Lösung:
db_befehl:
dann nach der Zeile:Code:CREATE TABLE IF NOT EXISTS `vms_benutzte_gutscheine` ( `Uid` INT NOT NULL , `Gutschein` TEXT NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
dasPHP-Code:
$Gutschein_check=db_query("Select Gutschein from ".$db_prefix."_gutschein where
Gutschein='". $einloesen."'");
dann nach der Zeile:PHP-Code:
$eingeloest=db_query("Select Uid from ".$db_prefix."_benutzte_gutscheine where
Gutschein='". $einloesen."'");
dies:PHP-Code:
if ($test2['Uid'] == $_SESSION['uid']) $error .= 'Du kannst nicht deine eigenen Gutscheine
einlosen!<br />';
einfügenPHP-Code:
if (mysql_num_rows($eingeloest)) $error .="Du hast diesen Gutschein schon eingelöst
<br />";
unten unter der Zeile:
dies einfügen:PHP-Code:
db_query("Update ".$db_prefix."_gutschein set Menge=Menge -1 where Gutschein='".
$einloesen."'");
so das war das der User ein Gutschein nur einmal einlösen kann:PHP-Code:
db_query("INSERT INTO ".$db_prefix."_benutzte_gutscheine (Uid,Gutschein) VALUES ('".$_SESSION['uid']."','".$einloesen."')");
$info.="Gutschein eingelöst!";
Hier für die Info :
Nach der Zeile:
PHP-Code:
if (!isset($error)) $error = "";
einfügenPHP-Code:
if (!isset($info)) $info = "";
dann weiter unten unter
dasPHP-Code:
db_query("INSERT INTO ".$db_prefix."_benutzte_gutscheine (Uid,Gutschein) VALUES ('".$_SESSION['uid']."','".$einloesen."')");
und ganz unten vor dem ?>PHP-Code:
$info.="Gutschein eingelöst!";
das
einfügenPHP-Code:
if ($info){
head("Information");
echo '
<font color="#cc0000">'.$info.'</font>';
foot();
}