PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit Bonusaktion Addon



Compy
30.09.2009, 17:41
Hallo liebe leute,
ich hab ein problem mit dem Bonusaddon (http://www.designerscripte.net/downloads.php?do=file&id=17)

Die Installation verlief erfolgreich und datenbanken wurden auch erstellt.
Wenn Ich jetzt eine Aktion erstelle, wird sie auch in der Datenbank eingetragen
Doch wenn ich auf Anzeigen oder Bestätigen klicke steht nur die Überschrift (Bonusaktionen anzeigen)
Danach ist ein Leeres Feld. Genauso bei "Bestätigen"

Im Memberbereich steht: "Keine Bonusaktionen vorhanden".

ich hoffe mit kann jemand helfen Danke!:yes:

PS: ich benutze VMS 1.2

jpwfour
30.09.2009, 20:49
Hast du einen Timestamp der in der Zukunft liegt, eingetragen?

Also beim erstellen (Admin):


Bis ( Timestamp ):Dann sollte ja folgender Text kommen:


Die Bonusaktion wurde erfolgreich erstellt! (Gültig bis: j.n.Y, G:i )Sollte das Datum in der Vergangenheit liegen, wird die in den anderen dateien gar nicht mehr angezeigt.

Achja die Menge muss natülich auch größer 0 sein, aber das sollte klar sein.

Compy
30.09.2009, 23:20
ja, dies trifft alles zu. Doch das Problem ist immernoch nicht gelöst. :-/

Das Merkwürdige ist ja, das im Adminbereich nur die Funktion erstellen funktioniert. Wenn man auf Anzegie klickt erscheint nur die Überschrift, nichtmla ein "keine aktionen aktiv" oder änhliches einfach nichts.
aber im Membereich schon.
Wobei da nie eine Bonsuaktion angezeigt wird egal ob abgelaufen oder nicht, da steht immer "Keine Bonusaktionen vorhanden".

Ich hoffe ihr könnt mir helfen :thumb:

jpwfour
01.10.2009, 13:24
a)

In der Anleitung im SQL Befehl ist ein Fehler (fehlendes Semikolon):


CREATE TABLE vms_bonusaktionen (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
url VARCHAR(255),
description TEXT,
verguetung DOUBLE(10,2),
bis INT,
menge INT,
restmenge INT
);

CREATE TABLE vms_bonusaktionen_ok (
uid INT,
aktionid INT,
namenick VARCHAR(255),
ok ENUM('true','false')
);

Der ganze Rest passt bei mir, hast du ein $db_prefix was anders ist als "vms" ?

Compy
01.10.2009, 16:41
ich hab die datenbanken gelöscht und in der nochmal neu erstellt (mit deinem Code). Problem ist immernoch da.
Mein $db_prefix ist "vms".

Und ich wollt noch hinzufügen, ich benutz das VMS ohne Klammanbindung!
Vielleich hat das ja was damit zu tun, was ich aber schwez glaube.

jpwfour
01.10.2009, 16:51
Ok, also wenn du eine eingetragen hast, dann ist die definitiv in der DB vorhanden?

Dann geh mal im Admin in die Datei anzeigen.php:


$query = db_query("SELECT * FROM ".$db_prefix."_bonusaktionen WHERE bis > '$time' AND restmenge > 0");ersetzen mit:

$query = db_query("SELECT * FROM ".$db_prefix."_bonusaktionen");Jetzt sollte dann auf jeden fall auch hier die eingetragene Aktion ausgegeben werden?

Compy
01.10.2009, 19:37
Ja, es funktioniert! :thumb:
die Aktion wird angezeigt. Aber natürlich nur unter "Anzeigen" im Admincenter.
Jetzt fehlt nur noch "Bestätigen"
und das im Memberberich die Aktionen angezeigt werden.
Wie gesagt da steht immernoch "Keine aktionen vohanden" o.ä.

Ps. ich habe gerade gesehen, ich benutze das Timestamp (http://www.01-scripts.de/timestamp.php) script. Und wenn ich den code kopiere (mit anderem Datum) dann steht in der Anzeige immer, das Datum und die Zeit in der die Bonusaktion erstellt wurde. Beispiel

est (Verdienst: 10.00 Lose) dsfdsfds Besuchen (http://www.designerscripte.net) / Löschen (http://www.test.de) (Gültig bis: 01.10.2009, 19:36, noch 100 von 100 verfügbar)

jpwfour
01.10.2009, 23:03
Ok dann liegts wohl doch an dem Timestamp, ist eh blöd das so zu machen als Eingabe.

Umbau der admin -> erstellen.php :

Suche:

$bis = $_POST[bis];ersetze mit:

$bis = strtotime("".$_POST['bis_monat']."/".$_POST['bis_tag']."/".$_POST['bis_jahr']." ".$_POST['bis_stunde']." hours ".$_POST['bis_minute']." minutes 0 seconds");Dann suchen:


Bis (<a href='http://www.01-scripts.de/timestamp.php' target=blank>Timestamp</a>): <input type="text" name="bis"><br>Und ersetzen mit:

G&uuml;ltig bis:
<select name="bis_stunde" size="1">
<?
$vorlauf = 24*60*60; // 1 tag / 24 stunden
for($x=0;$x<24;$x++){
if ($x <= 9) {$y = '0'.$x;} else {$y = $x;}
if (date("H") == $y) {$select = ' selected';} else {$select = '';}
echo '<option value="'.$x.'"'.$select.'>'.$y.'</option>';
}
?>
</select>
<select name="bis_minute" size="1">
<?
for($x=0;$x<60;$x++){
if ($x <= 9) {$y = '0'.$x;} else {$y = $x;}
if (date("i") == $y) {$select = ' selected';} else {$select = '';}
echo '<option value="'.$x.'"'.$select.'>'.$y.'</option>';
}
?>
</select>
&nbsp;-&nbsp;
<select name="bis_tag" size="1">
<?
for($x=1;$x<32;$x++){
if ($x <= 9) {$y = '0'.$x;} else {$y = $x;}
if (date("d",time()+$vorlauf) == $y) {$select = ' selected';} else {$select = '';}
echo '<option value="'.$x.'"'.$select.'>'.$y.'</option>';
}
?>
</select>
<select name="bis_monat" size="1">
<?
for($x=1;$x<13;$x++){
if ($x <= 9) {$y = '0'.$x;} else {$y = $x;}
if (date("m",time()+$vorlauf) == $y) {$select = ' selected';} else {$select = '';}
echo '<option value="'.$x.'"'.$select.'>'.$y.'</option>';
}
?>
</select>
<select name="bis_jahr" size="1">
<?
for($x=2009;$x<2012;$x++){
if ($x <= 9) {$y = '0'.$x;} else {$y = $x;}
if (date("Y",time()+$vorlauf) == $y) {$select = ' selected';} else {$select = '';}
echo '<option value="'.$x.'"'.$select.'>'.$y.'</option>';
}
?>
</select>
<br>

Der $vorlauf dient dazu, dass beim Aufruf der Datei schon ein Zeitpunkt ausgewählt ist (aktuelles Datum + 1 Tag).

Die Änderung in der anzeigen.php kannst du lassen, so dass du abgelaufene Aktionen löshen kannst, oder du lädst die Originale hoch, und erstellst dir eine 2. Datei nur für abgelaufene oder so

Compy
03.10.2009, 02:38
Alles klar jetzt funktioniert alles! :thumb:
Vielen Dank :cool: