PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [S] Schnippsel Banner einzeln anklickbar



Roadstar
10.11.2007, 17:03
Hallo,

suche einen Schnippsel mit dem Banner nur einzeln geklickt werden können.

Wer hat sowas?

Vielen lieben Dank schonmal!

Gruß, Roadstar

mine321
15.08.2015, 11:19
Mal hoch hol, hab das ganze Forum durchforstet, ich weiss es gab mal nen Thread zu dem Thema, aber das find ich nicht mehr

Kraemer84
15.08.2015, 13:03
Max Forcedbanner auf 1 setzen und aus dem Userprofil die Einstellungen dafür entfernen ? wäre jetzt das einfachste

ansonsten wäre das eine framegeschichte ..

siehe als bsp hier:

- beim topframeaufruf wird eine extra id gespeichert ala insert into vms_user/konto _daten wo auch immer man will kann man ja auch mit create code einen extra erstellen

- wird jetzt ein weiterer frame aufgerufen und die id nicht wieder auf 0 gesetzt wurde dann "Aufruf fehlerhaft" oder wie auch immer man das nennen will

- wenn die kampagne abgelaufen ist dann wird die id wieder auf 0 gesetzt und ist bereit für die nächsten aufruf

mine321
15.08.2015, 13:34
Nein, dass ebe nicht, sonst hätte ich hier nicht den alten Thread ausgekramt.

Wie ich den nächsten banner frei gebe weiss ich, also 1 zu 0, aber wie bzw wo muss ich was eintragen das aus der 0 eine 1 wird? genauso fehlt ja dann die abfrage wenn 1 " keine vergütung "

Kraemer84
15.08.2015, 19:10
das aus der 0 eine 1 wird?

die kontodaten um ein feld erweitern das nennst du dann active_banner oder wie auch immer dann beim aufruf der topframe die zeile


UPDATE vms_kontodaten SET active_banner = 1 WHERE uid = '".$_SESSION['uid'];



das aus der 0 eine 1 wird? genauso fehlt ja dann die abfrage wenn 1 " keine vergütung "

hier wenn der javascript countdown timer abgelaufen ist da muss dann ajax sowie die message in die klammer rein ala



$.ajax({
type: "POST",
url: die url zum verarbeiten
data: '".$_SESSION['uid'],
});


hier auch der typ post, die url zum verarbeiten der funktion und als data einfach die session uid

hier die php zum verarbeiten



<?php

$uid = $_GET['uid'];

UPDATE vms_kontodaten SET active_banner = 0 WHERE uid = '".$_SESSION['uid'];


kann jetzt auch sein das es nicht ganz korrekt vom syntax her ist da ich mitten im umzug steck und es am pc nicht abgleichen kann

ja und nicht mysql_real_escape_string vergessen dann ist das eine saubere sache


achja und um anzuzeigen das ein fehlerhafteraufruf entstanden ist eine einfache if schleife um den kompletten php krempel in der topframe der prüft ob 1 oder 0

mine321
17.08.2015, 11:12
active_banner = 1

active_banner = 0

sind beides kein Problem, dass Problem ist eher die if abfrage

if ($_SESSION['uid'] >= 1 AND $pruefung['tlinks'] = $pruefung['prlinks'] ) {
< vergütet nichts
> vergütet nichts
= vergütet nichts
== vergütet alles

Kraemer84
17.08.2015, 19:21
if ($_SESSION['uid'] >= 1 AND..

Ich glaub du hast da einen Denkfehler drin

Es muss ja nicht die Session uid geprüft werden sondern den wert von der jeweiligen uid

also wäre die if abfrage eher so..




// Hier erhalten wir die 1 oder 0 der jeweiligen Session
$data = mysql_query ("SELECT active_banner FROM vms_kontodaten WHERE uid = '".$_SESSION['uid']."'");
$data_id = mysql_fetch_assoc['.$data.'];





// Hier prüfen wir jetzt ob der user aktiv ist oder noch gesperrt
if ($data_id > 0)
{
$msg= 'Fehler es wird nur ein Banner pro Ablauf gewährt';
}
else
{
// Regulärer Ablauf des Topframes
}

mine321
19.08.2015, 14:02
Das Problem war nicht die IF-Abfrage in der Topframe sondern das Eintragen in die DB vorher. Aber habe es gelöst

SebbyPHM2
03.02.2016, 14:34
Es gibt etwas viiiiiel simpleres für den Frame.


if (isset ($_SESSION['nextFrameTime']) && time() < (int)$_SESSION['nextFrameTime']) { die('Man soll nur einen Banner aufrufen.'); /** hier die fehlermeldung in einem die oder ähnliches */ }
$_SESSION['nextFrameTime'] = time()+$wartezeit; // $wartezeit entsprechend ersetzen

So musst du dich nicht mit 1 und 0 und Zwischenspeicherung und all das beschäftigen ;-).