Ergebnis 1 bis 10 von 19

Thema: Gutscheinaddon

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer
    Registriert seit
    06.10.2010
    Beiträge
    21

    Gutscheinaddon

    Ich habe ein Gutscheinaddon geschrieben.
    Der User kann Gutscheine erstellen und die Gutscheine dann zum Werben benutzen also bei der Anmeldung habe ich ein Feld Gutschein gemacht wenn der User jetzt dort den Gutschein eintippt wird aus der Datenbank die Uid ausgelesen und dann wird diese als Werber eingetragen und der User bekommt dann den Wert des Gutscheines z.b. 50 Cent als Startguthaben.

    Zuerst das in der Datenbank nacheinander ausführen:
    Code:
    CREATE TABLE IF NOT EXISTS `vms_gutschein` (
    `Uid` int(10) DEFAULT NULL,
    `Gutschein` text NOT NULL,
    `aMenge` int(10) NOT NULL,
    `Menge` int(10) NOT NULL,
    `Wert` double(10,2) NOT NULL,
    KEY `Uid` (`Uid`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
    Code:
    CREATE TABLE IF NOT EXISTS `vms_benutzte_gutscheine` (
    `Uid` INT NOT NULL ,
    `Gutschein` TEXT NOT NULL 
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
    Dann in der anmelden.php nach:
    PHP-Code:
    if ($_POST['agb'] != "ja"$error .= 'Du musst die AGBs bestätigen!<br>'
    das hier einfügen:
    PHP-Code:
    //Gutscheinprüfungen
    $schein ucfirst($_POST['Gutschein']);
    $Gutschein_check=db_query("Select Gutschein from ".$db_prefix."_gutschein where
    Gutschein='"
    $schein."'");
    $menge=mysql_fetch_assoc(db_query("Select Menge from ".$db_prefix."_gutschein where
    Gutschein='"
    $schein."'"));
    if (
    $_POST['Gutschein']!=""){
    if (
    $menge['Menge'] <= 0$error .= 'Der Gutschein ist verbraucht!<br />';
    if (
    mysql_num_rows($Gutschein_check)==0$error .="Dieser Gutschein existiert
    nicht!"
    ;
    }
    //Ende Gutscheinprüfungen
    //Abfrage
    $gutschein=mysql_fetch_assoc(db_query("SELECT Uid,Gutschein,Menge,Wert FROM ".
    $db_prefix."_gutschein where Gutschein='"$schein."'"));
    // Abfrage Ende 
    weiter unten das :
    PHP-Code:
     db_query("INSERT INTO ".$db_prefix."_kontodaten (uid,passwort,status,hinweis,kontostand) VALUES ('".$_POST['uid']."','".md5($_POST['passwort_1'])."','0','','0')"); 
    und das:
    PHP-Code:
    db_query("INSERT INTO ".$db_prefix."_werberdaten (uid,werber,umsatz,zuordnungszeit)
    VALUES ("
    .$uid.",'".$_SESSION['werber']."','0','".time()."')"); 
    löschen.

    Dafür dann oben Bei vms ohne Klammanbindung unter
    PHP-Code:
    $uid mysql_insert_id();
    //Bitte beachten das über dieser Variablen der mysql eintrag für die Userdaten vorhanden sein muss. 
    dies einfügen:
    PHP-Code:
    //Gutschein
    if ($_POST['Gutschein']==""){
    db_query("INSERT INTO ".$db_prefix."_werberdaten
    (uid,werber,umsatz,zuordnungszeit) VALUES ("
    .$uid.",'".$_SESSION['werber']."','0','".time()."')");
    db_query("INSERT INTO ".$db_prefix."_kontodaten
    (uid,passwort,status,hinweis,kontostand) VALUES
    ("
    .$uid.",'".md5($_POST['passwort_1'])."','0','','0')");
    }else{
    db_query("INSERT INTO ".$db_prefix."_werberdaten (uid,werber,umsatz,zuordnungszeit)
    VALUES ("
    .$uid.",'".$gutschein['Uid']."','0','".time()."')");
    db_query("UPDATE vms_gutschein set Menge=Menge-1 where Gutschein='".$schein."'");
    db_query("INSERT INTO ".$db_prefix."_kontodaten
    (uid,passwort,status,hinweis,kontostand) VALUES
    ("
    .$uid.",'".md5($_POST['passwort_1'])."','0','','".$gutschein['Wert']."')");

    und Bei vms mit Klammanbindung unter:
    PHP-Code:
    if ($_POST['newsletter'] == and $_POST['paidmails'] == 1$mailstatus 3
    dies einfügen:
    PHP-Code:
    //Gutschein
    if ($_POST['Gutschein']==""){
    db_query("INSERT INTO ".$db_prefix."_werberdaten
    (uid,werber,umsatz,zuordnungszeit) VALUES ('"
    .$_POST['uid']."','".$_SESSION['werber']."','0','".time()."')");
    db_query("INSERT INTO ".$db_prefix."_kontodaten
    (uid,passwort,status,hinweis,kontostand) VALUES
    ('"
    .$_POST['uid']."','".md5($_POST['passwort_1'])."','0','','0')");
    }else{
    db_query("INSERT INTO ".$db_prefix."_werberdaten (uid,werber,umsatz,zuordnungszeit)
    VALUES ('"
    .$_POST['uid']."','".$gutschein['Uid']."','0','".time()."')");
    db_query("UPDATE vms_gutschein set Menge=Menge-1 where Gutschein='".$schein."'");
    db_query("INSERT INTO ".$db_prefix."_kontodaten
    (uid,passwort,status,hinweis,kontostand) VALUES
    ('"
    .$_POST['uid']."','".md5($_POST['passwort_1'])."','0','','".$gutschein['Wert']."')");
    }
    //Gutschein 
    und das unten bei den anderen Feldern:
    HTML-Code:
    <tr>
    <td class="main"><b>Gutschein:</b></td>
    <td class="main"><input name="Gutschein" type="text" value="<?=$_POST['Gutschein'];?
    >"></td>
    </tr>
    an beliebiger stelle einbauen.

    Datei content/konto/Gutschein.php erstellen und das hier einfügen:
    PHP-Code:
    <?
    if (!isset($_POST['name'])) $_POST['name'] = '';
    if (!isset($_POST['menge'])) $_POST['menge'] = '';
    if (!isset($_POST['wert'])) $_POST['wert'] = '';
    if (!isset($error)) $error = "";
    if (!isset($info)) $info                 = "";
    $name= mysql_real_escape_string($_POST['name']);
    $menge= mysql_real_escape_string($_POST['menge']);
    $wert= mysql_real_escape_string($_POST['wert']);
    //Der Maximale Gutschein Wert
    $max_wert=2;

    $test= $menge * $wert;
    $muster1="=^[a-zäöüß]+$=i";
    $kontodaten = mysql_fetch_array(db_query("SELECT `kontostand` FROM ".
    $db_prefix."_kontodaten WHERE uid=".$_SESSION['uid']." LIMIT 1"));
    $check=db_query("SELECT Gutschein FROM ".$db_prefix."_gutschein WHERE Gutschein='".$name."'");
    $schein = ucfirst($name);

    if (mysql_real_escape_string($_GET['name'])){
    $restwert=mysql_fetch_assoc(db_query("SELECT * FROM ".$db_prefix."_gutschein where Gutschein='".mysql_real_escape_string($_GET['name'])."' and Uid='".$_SESSION['uid']."'"));
    $rest=$restwert['Menge'] * $restwert['Wert'];
    kontobuchung ('+',$rest,$_SESSION['uid']);
    buchungsliste (create_code(14),+$rest,''.$menge.' Restwert von Gutschein '.mysql_real_escape_string($_GET['name']).'',$_SESSION['uid']);
    db_query("Delete From ".$db_prefix."_gutschein where Gutschein='".mysql_real_escape_string($_GET['name'])."' and Uid='".$_SESSION['uid']."'");
    db_query("Delete From ".$db_prefix."_benutzte_gutscheine where Gutschein='".mysql_real_escape_string($_GET['name'])."'");
        $meldung="Gutschein gel&ouml;scht<br />
    und Restwert gutgeschrieben!
    ";
    }

    if ($_POST['erstellen']){
    if($wert<0) {
    $error.= "Keine Minusbeträge!"; 
    }
    if($wert>=$max_wert) {
    $error.= "Der Gutscheinwert darf h&ouml;chstens ".$max_wert." Euro betragen!<br />";    
    }
    if (mysql_num_rows($check)) {
    $error.= "Es existiert bereits ein Gutschein mit dem Namen überlege dir bitte einen anderen Namen!<br />";    
    }
    if ($name == "" or $menge == "" or $wert == "") $error .=
    'Bitte f&uuml;lle alle Felder aus!<br />';
    if ($test >= $kontodaten['kontostand']) $error .= 'Du hast nicht genug Geld';
    if (preg_match("/^\d*$/",$menge)==0)  {
      $error= 'Nur Ziffern bei der Menge<br/>';
    }  
    if (!$wert == "" && !is_numeric($wert)) $error= 'Bitte nur Zahlen bei dem Wert eingeben<br/>';
    if (preg_match($muster1, $name)==0){
        $error .= 'Bitte nur Buchstaben als Gutscheinname<br>';    
        }
    if (!$error){
    kontobuchung ('-',$test,$_SESSION['uid']);
    buchungsliste (create_code(14),-$test,''.$menge.' Gutschein(e) erstellt im Wert von je '.$wert.' '.$waehrung.'',$_SESSION['uid']);        
    db_query("Insert Into vms_gutschein
     (Uid,Gutschein,aMenge,Menge,Wert) values ('".$_SESSION['uid']."','".$schein."','".$menge."','".$menge."','".$wert."');
     ");
     echo "<head><meta http-equiv=\"refresh\"content=\"0;?content=/konto/gutschein\";></head>"; 
    //gutschein mit eurem Dateinamen ersetzen
    }
    }

    if ($error){
    head("Eingabefehler");
    echo '<font color="#cc0000">'.$error.'</font>';
    foot();
    }
    head("Gutschein erstellen");?>
    <table width="300" border="0">
    <form action="" method="post">
    <tr>
    <td><label for="name">Gutscheinname</label></td>
    <td><input type="text" name="name" id="name" /></td>
    </tr>
    <tr>
    <td><label for="menge">Menge</label></td>
    <td><input type="text" name="menge" id="menge" /></td>
    </tr>
    <tr>
    <td><label for="wert">Wert</label></td>
    <td><input type="text" name="wert" id="wert" /></td>
    </tr>
    <tr>
    <td>Senden</td>
    <td><input type="submit" name="erstellen" value="Senden"></td>
    </tr>
    </form>
    </table>
    <?foot();
    head("Gutscheine");?>
    <table width="100%" cellpadding="1" cellspacing="1" border="0" bgcolor="#187BDF">
    <tr bgcolor="#1839DF">
    <td width="5%" align="center"><b>Gutscheinname</b></td>
    <td width="20%" align="center"><b>Menge</b></td>
    <td width="20%" align="center"><b>Wert</b></td>
    <td width="20%" align="center"><b>L&ouml;schen</b></td>
    </tr>

    <?
    $platz2 = db_query("SELECT Gutschein,Menge,aMenge,Wert FROM 
       ".$db_prefix."_gutschein 
       where uid='".$_SESSION['uid']."'");
    while ($nickg = mysql_fetch_assoc($platz2)){
    echo '
    <tr bgcolor="#FFFFFF">
    <td align="center">'.$nickg['Gutschein'].'</td>
    <td align="center">'.number_format($nickg['Menge'],0,",",".").' von '.number_format($nickg['aMenge'],0,",",".").' &uuml;brig</a></td>
    <td align="center">'.number_format($nickg['Wert'],2,",",".").'</td>
    <td align="center"><a href="?content=/konto/gutschein&amp;name='.$nickg['Gutschein'].'" target="_self">x</a></td>
    </tr>
    ';//gutschein durch euren Dateinamen ersetzen
    }
    ?>
    </table>
    <?php echo $meldung;
    foot();
    head("Gutscheine einlösen");?>
    <form action="" method="POST">
    <input name="einlösen" type="text" id="einlösen" value="Gutscheinname"/>
    <input name="gutname" type="submit" value="Gutschein einlösen!" />
    </form>
    <?foot();

    $einloesen=mysql_real_escape_string($_POST['einlösen']);
    $menge=mysql_fetch_assoc(db_query("Select Menge from ".$db_prefix."_gutschein where
    Gutschein='".$einloesen."'"));
    $test1= mysql_fetch_assoc(db_query("Select Wert from ".$db_prefix."_gutschein where
    Gutschein='".$einloesen."'"));
    $test2= mysql_fetch_assoc(db_query("Select Uid from ".$db_prefix."_gutschein where
    Gutschein='".$einloesen."'"));
    $Gutschein_check=db_query("Select Gutschein from ".$db_prefix."_gutschein where
    Gutschein='". $einloesen."'");
    $eingeloest=db_query("Select Uid from ".$db_prefix."_benutzte_gutscheine where
    Gutschein='". $einloesen."'");

    if ($_POST['gutname']){
    if ($einloesen == "" or $einloesen == "Gutscheinname") $error .= 'Bitte
    gib einen Gutscheinnamen ein!<br />';
    if (mysql_num_rows($Gutschein_check)==0) $error .="Dieser Gutschein existiert nicht!
    <br />";
    if ($menge['Menge'] <= 0) $error .= 'Der Gutschein ist verbraucht!<br />';
    if ($test2['Uid'] == $_SESSION['uid']) $error .= 'Du kannst nicht deine eigenen Gutscheine
    einlosen!';
    if (mysql_num_rows($eingeloest)) $error .="Du hast diesen Gutschein schon eingel&ouml;st
    <br />";
    if (!$error){
    kontobuchung('+',$test1['Wert'],$_SESSION['uid']);
    buchungsliste (create_code(14),+$test1['Wert'],'Gutschein eingel&ouml;st',
    $_SESSION['uid']);
    db_query("Update ".$db_prefix."_gutschein set Menge=Menge -1 where Gutschein='".
    $einloesen."'");
    db_query("INSERT INTO ".$db_prefix."_benutzte_gutscheine (Uid,Gutschein) VALUES ('".$_SESSION['uid']."','".$einloesen."')");
    $info.="Gutschein eingel&ouml;st!";
    }}
    if ($info){
    head("Information");
    echo '
    <font color="#cc0000">'.$info.'</font>';
    foot();
    }
    ?>
    und natürlich noch in lib/menue_links.php oder menue_rechts.php einbinden.
    Wünsche euch viel Spaß am Addon und sollten Fehler drin sein oder es funktioniert nicht oder ihr habt Verbesserungsvorschläge bitte hier schreiben.

  2. #2
    Erfahrener Benutzer Avatar von WaechterMedia
    Registriert seit
    02.10.2008
    Beiträge
    172
    Bischn spät, was mir direkt auffällt du sicherst die eingabe des User in die db überhaupt nicht ab ich könnte da reinschreiben was ich will und das ist nicht gut :/

    Ansonsten nett das du es kostenfrei zu verfügung stellst

  3. #3
    Neuer Benutzer
    Registriert seit
    06.10.2010
    Beiträge
    21
    Zitat Zitat von WaechterMedia Beitrag anzeigen
    Bischn spät, was mir direkt auffällt du sicherst die eingabe des User in die db überhaupt nicht ab ich könnte da reinschreiben was ich will und das ist nicht gut :/

    Ansonsten nett das du es kostenfrei zu verfügung stellst
    Stimmt da hast du recht.Hab es jetzt mal bisschen bearbeitet.
    Hoffe das es so besser ist.

  4. #4
    Erfahrener Benutzer
    Registriert seit
    23.04.2009
    Beiträge
    155
    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)

    PHP-Code:
    db_query("Insert Into vms_gutschein
     (Uid,Gutschein,aMenge,Menge,Wert) values ('"
    .$_SESSION['uid']."','".$schein."','".$menge."','".$menge."','".$wert."'); 
    Im SQL ist aber nix mit aMenge wohin soll er das denn packen.

  5. #5
    Neuer Benutzer
    Registriert seit
    06.10.2010
    Beiträge
    21
    Zitat Zitat von CeleronD Beitrag anzeigen
    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)

    PHP-Code:
    db_query("Insert Into vms_gutschein
     (Uid,Gutschein,aMenge,Menge,Wert) values ('"
    .$_SESSION['uid']."','".$schein."','".$menge."','".$menge."','".$wert."'); 
    Im SQL ist aber nix mit aMenge wohin soll er das denn packen.
    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:
    Code:
    ALTER TABLE `vms_gutschein` ADD `aMenge` INT( 10 ) NOT NULL
    und die Änderungen in der Gutschein.php sind:
    unter die Zeile :
    PHP-Code:
    $kontodaten   mysql_fetch_array(db_query("SELECT `kontostand` FROM ".$db_prefix."_kontodaten WHERE uid=".$_SESSION['uid']." LIMIT 1")); 
    das einfügen:
    PHP-Code:
    $check=db_query("SELECT Gutschein FROM ".$db_prefix."_gutschein WHERE Gutschein='".$name."'"); 
    dann unter der Zeile :
    PHP-Code:
    if ($_POST['erstellen']){ 
    das einfügen :
    PHP-Code:
    if (mysql_num_rows($check)) {
    $error.= "Es existiert bereits ein Gutschein mit dem Namen überlege dir bitte einen anderen Namen!<br />";    


  6. #6
    Erfahrener Benutzer
    Registriert seit
    23.04.2009
    Beiträge
    155
    PHP-Code:
    db_query("Insert Into vms_gutschein 
     (Uid,Gutschein,aMenge,Menge,Wert) values ('"
    .$_SESSION['uid']."','".$schein."','".$menge."','".$menge."','".$wert."'); 
    Wieso soll er beim eintragen in die Db zweimal das gleiche Eintragen ($menge) ???

Ähnliche Themen

  1. Frage zu "Gutscheinaddon"
    Von riwasch im Forum Support zu Addons & Erweiterungen
    Antworten: 4
    Letzter Beitrag: 03.07.2008, 09:29
  2. Gutscheinaddon VMS 1
    Von adau im Forum Scripte
    Antworten: 31
    Letzter Beitrag: 12.06.2008, 16:35
  3. [S] Gutscheinaddon & Interfaces
    Von MaxY im Forum Scripte
    Antworten: 1
    Letzter Beitrag: 09.04.2007, 18:26

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •