[PHP] Interface, Reloadsperre beibehalten

IamTheDj

Programmierer
4 Oktober 2006
1.738
105
Hallo!

Ich verwende für meine Seite ein paar Interface.

Nur leider löscht das Interface alle Banner immer raus und ladet sie neu in die Datenbank.
Dadurch ist die Reloadsperre trotzdem aktiv über das Sponsorennetzwerk und meine User können trotzdem drauf klicken weil ja die Reloadsperre auf meiner Seite mit dem neu reinladen rausgelöscht wurde.

Kann ich dies irgendwie so machen, dass er mir nur neue Banner reinlädt und die abgelaufenen Kampagnen bei dem Sponsorennetzwerk rauslöscht?

mfg
 
Kann ich dies irgendwie so machen, dass er mir nur neue Banner reinlädt und die abgelaufenen Kampagnen bei dem Sponsorennetzwerk rauslöscht?
Kurz ja ;)

Was willst du wissen ? Natürlich geht das.
Es löscht ja nicht das Interface die Daten, sondern du löscht sie vorher, fragst dann über das Interface ab und trägst wieder ein.

Abgelaufene Einträge kannst du z.B. aufspüren, indem du ne zusätzliche Spalte einrichtest. Vor der Abfrage setzt du die Spalte SET flag=0. Jeder Eintrag, der über das Interface kommt, wird mit SET flag=1 notiert. Bist du fertig, hast du mit allen Einträgen mit flag=0 die Einträge, die das Interface nicht geliefert hat, also die du löschen willst. DELETE WHERE flag=0.

Nur neue Banner einladen ? Wenn die Indizes entsprechend gesetzt sind, kannst du mit REPLACE INTO bzw INSERT IGNORE INTO arbeiten, um doppelte Einträge zu ersetzen bzw. vermeiden.

Ich hoff, meine Antworten bringen dir was. Richtig konkret hast du ja nix gepostet, wie es bei dir aussieht.
 
Naja, gebracht hat sie mir mal überhaupt nichts.

Hier mal mein ganzer IF Code (ich hoffe ich darf das hier posten)

PHP:
<?php
include("**");
//  Variablen festlegen
$uidhp="******"; ## User ID
$upwhp="******"; ## User Password
$sidhp="*******"; // SeitenID - Unter Seitenverwaltung ersichtlich
// Forced-Klick Parameter
$verguetunghp="1"; ## MIN. Vergütung
$reloadhp="24"; ## MAX Reload
$uebrighp="100"; ## MIN. Übrig
$sizehp="468x60"; ## Bannergröße / "other" für alle
// Variablen festlegen
// Sponsoren zuordnung (Muss einmalig sein)
$sponidhp="55";
// Wieviele Punkte bekommt ein Paidbanner % Angabe was der User erhalten soll
$punktehp="75";
// AB HIER NICHTS MEHR ÄNDERN
// alte Kampagen löschen 
mysql_query("DELETE FROM klicks WHERE spid='$sponidhp'");
$fphp=@fopen("https://www.hplose.de/lose/interface/output_kampagne.php?pw=$upwhp&id=$uidhp&s_id=$sidhp&art=forcedclick&verguetung=$verguetunghp&reload=$reloadhp&uebrig=$uebrighp&size=$sizehp","r");
if($fphp)
{
 while($linehp=fgets($fphp,1000))
 {
    $filehp.=$linehp;
 }
     fclose($fphp);
}
$code2hp = explode("|", $filehp);
$fieldshp = count($code2hp);
$fieldshp = $fieldshp / 7;
 
$ihp = 0; // Für die bestimmten Array-Felder
for($counthp = 1; $counthp < $fieldshp; $counthp++)
{
    $idhp = $code2hp[$ihp];
    $ihp++;
    $namehp = $code2hp[$ihp];
    $ihp++;
    $verguetunghp = $code2hp[$ihp];
    $ihp++;
    $uebrighp = $code2hp[$ihp];
    $ihp++;
    $bidhp = $code2hp[$ihp];
    $ihp++;
    $reloadhp = $code2hp[$ihp];
    $ihp++;

     //// NICHT ÄNDERN ////
 $bannerurlhp="https://www.hplose.de/lose/viewbanner.php?id=$uidhp&bid=$bidhp&aid=$sidhp";
 $zielurlhp="https://www.hplose.de/lose/clickbanner.php?id=$uidhp&bid=$bidhp&aid=$sidhp";
 $reloadhp=$reloadhp*3600;
 $vergUserhp=$verguetunghp/100*$punktehp;;
echo "ad";
    // Eintrag in DB //
        $sqlhp = "INSERT INTO klicks (spid, bannerurl, clickurl, ips, vgut, anz) VALUES ('$sponidhp','$bannerurlhp', '$zielurlhp','$reloadhp', '1', '$uebrighp')";

   $okhp=mysql_query ($sqlhp) or die(mysql_error());
  if ($okhp)
  {
   echo " $idhp  - Kampagne $namehp mit $uebrighp ForcedKlicks einbuchen...<br>";
  }
  else
  {
   echo"Fehler DB";
  }
   // Eintrag in DB //

    
}
?>
 
Da ja HPLose das gleiche Basis-Script wie Webmasterlose hat, reicht es wenn du einfach die KID und in dem Fall deine SponsorNetzwerkID in die Reload-Tabelle speicherst dann kannst du auch jedes Mal alle Kampagnen des Sponsors löschen oder :biggrin:?
 
Grad mal das Script bemängeln ;)

Zeile 4)
PHP:
$uidhp="******"; ## User ID

Wenn die Userid eine Zahl ist, wieso speicherst du sie als String? Schreibe

PHP:
$uidhp = 1234;

Zeile 6)
Seitenid ebenfalls wenn es eine Zahl ist, nicht als String speichern...

Zeile 8,9,10,14,16)
das gleiche ;)

Zeile 56)
In einem query auch Zahlen nicht als String schreiben ;) statt
PHP:
mysql_query("INSERT INTO tabelle (zahl) VALUES ('1')");
wieder ohne ''
PHP:
mysql_query("INSERT INTO tabelle (zahl) VALUES (1)");

Was ist das:
PHP:
   $okhp=mysql_query ($sqlhp) or die(mysql_error());
  if ($okhp)
  {
   echo " $idhp  - Kampagne $namehp mit $uebrighp ForcedKlicks einbuchen...<br>";
  }
  else
  {
   echo"Fehler DB";
  }
Du willst einen Query an mysql senden, wenn dabei ein Fehler auftritt brichst du das Script ab, und gibst die Fehlermeldung aus. Was bringt dann aber die nachfolgende If Abfrage? Garnichts.... denn das Script wurde abgebrochen und die if Abfrage wird nicht mehr beachtet.

Sind jetzt mal paar Sachen die mir auf den ersten Blick aufgefallen sind ;)

Gruß
Gremlin
 
Zu Zeile 4 & Zeile 6 hab ich nur * gemacht damit man meine Daten nicht sieht.

Das Script ist nicht von mir geschrieben wurden, daher steht auch oben dabei, dass ich hoffe das ich das hier posten darf.

mfg