Paid 4 Start + Premium-User

CMSascha

WWW.SN-W.DE
ID: 452663
L
19 Dezember 2013
291
0
Es geht um das Addon Paid4Start und Premium-User.

Derzeit beträgt die Wartezeit, bis man wieder Geld bekommt für P4S 60 Minuten. Wenn man einen Premium-Account hat, soll dies aber nur noch 45 Minuten dauern. Sprich -900 Sekunden. Das ist eingetragen und wird mit diesem Code ausgegeben:
PHP:
$mainconfig['prem_start']

Nachfolgend ist der Code, der die Reloadzeit in die Datenbank einträgt. Dort soll nun aber noch abzüglich der 900 Sekunden stehen (abzgl. $mainconfig['prem_start'])

PHP:
if ($userdaten['aktivpunkte_prem'] >= $mainconfig['prem_punkte']){
$reloadQuery = $db->query("SELECT * FROM equinox_".$pageconfig['install_nr']."_reloads WHERE ip = '".$_SERVER['REMOTE_ADDR']."' AND kampagnen_id = '".$p4sKampId."' AND zusatz = '".$p4sZusatz."' AND reload_bis > '".time()."' LIMIT 1");
}else{
$reloadQuery = $db->query("SELECT * FROM equinox_".$pageconfig['install_nr']."_reloads WHERE ip = '".$_SERVER['REMOTE_ADDR']."' AND kampagnen_id = '".$p4sKampId."' AND zusatz = '".$p4sZusatz."' AND reload_bis > '".time()."' LIMIT 1");
}

Mein Vorschlag wäre dieser, aber der funktioniert nicht:

PHP:
if ($userdaten['aktivpunkte_prem'] >= $mainconfig['prem_punkte']){
$reloadQuery = $db->query("SELECT * FROM equinox_".$pageconfig['install_nr']."_reloads WHERE ip = '".$_SERVER['REMOTE_ADDR']."' AND kampagnen_id = '".$p4sKampId."' AND zusatz = '".$p4sZusatz."' AND reload_bis > '".time()-$mainconfig['prem_start']."' LIMIT 1");
}else{
$reloadQuery = $db->query("SELECT * FROM equinox_".$pageconfig['install_nr']."_reloads WHERE ip = '".$_SERVER['REMOTE_ADDR']."' AND kampagnen_id = '".$p4sKampId."' AND zusatz = '".$p4sZusatz."' AND reload_bis > '".time()."' LIMIT 1");
}
 
[...]
Nachfolgend ist der Code, der die Reloadzeit in die Datenbank einträgt.
[...]
PHP:
if ($userdaten['aktivpunkte_prem'] >= $mainconfig['prem_punkte']){
$reloadQuery = $db->query("SELECT * FROM equinox_".$pageconfig['install_nr']."_reloads WHERE ip = '".$_SERVER['REMOTE_ADDR']."' AND kampagnen_id = '".$p4sKampId."' AND zusatz = '".$p4sZusatz."' AND reload_bis > '".time()."' LIMIT 1");
}else{
$reloadQuery = $db->query("SELECT * FROM equinox_".$pageconfig['install_nr']."_reloads WHERE ip = '".$_SERVER['REMOTE_ADDR']."' AND kampagnen_id = '".$p4sKampId."' AND zusatz = '".$p4sZusatz."' AND reload_bis > '".time()."' LIMIT 1");
}
[...]
Das stimmt nicht. Dieses Codefragment holt Daten mit SELECT aus der Datenbank, üblicherweise schreibt man Daten mit UPDATE oder INSERT. Möchtest du deine Selectabfrage auf die geänderten Bedingungen anpassen oder tatsächlich einen angepassten ReloadWert eintragen?

Bei ersterem versuche so etwas einzubauen (Hochkommas und Anführungszeichen ggf. überarbeiten):

PHP:
if ($userdaten['aktivpunkte_prem'] < $mainconfig['prem_punkte']){
    $reloadBis = time();
}else{
    $reloadBis = time() - $mainconfig['prem_start'];
}
$reloadQuery = $db->query("
    SELECT * FROM  equinox_".$pageconfig['install_nr']."_reloads 
    WHERE ip = ".$_SERVER['REMOTE_ADDR']." 
        AND kampagnen_id = ".$p4sKampId." 
        AND  zusatz = ".$p4sZusatz." 
        AND reload_bis > ".$reloadBis." 
    LIMIT 1");

Bei letzterem bedenke:
Mit SELECT wählt man nur aus. Suche und modifiziere den Code mit dem die Reloadzeit eingetragen wird.
Datenmanipulation: SELECT, INSERT, UPDATE, DELETE

Gruß
eaxo
 
Hmmpf, verstehe das bitte als grobe Richtung und nicht als fertige Lösung.

Die kann ich nicht bieten da ich das Script nicht habe...

tapatalk-signatur.png
 
Zuletzt bearbeitet: