kostenloser Webspace werbefrei: lima-city


Bannerrotation

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    fand

    Kostenloser Webspace von fand

    fand hat kostenlosen Webspace.

    Sers ich habe hier ein kleines Script geschrieben das bei jedem laden ein anderen Banner Anzeigt.
    Jetzt möchte ich jedoch das es einfach Jede 5 Sekunden ein anderen Banner Anzeigt.

    <?php
        $ads = array (
           array("Banner" => "Hier bekommst du jede Minute 4 Satoshi !!!<br><a target=\"_blank\" href=\"https://www.landofbitcoin.com/?r=JfDAFo6FQOaJLmE9\"><img src=\"http://static.landofbitcoin.com/img/instantly-lb.png\"></a>"),
           array("Banner" => "Hier bekommst du jede 5minuten 70 Satoshi !!!<br><a target=\"_blank\" href=\"http://moonbit.co.in/?ref=19ec8a34f34d\"><img src=\"img/mooncoin.gif\"></a>")
        );
        srand ((double)microtime()*100);
    	$i = 1;
        $maxwert = count($ads)-1;
    	$nr = rand(0,$maxwert);
    echo  $ads[$nr][Banner];
    ?>


    kind regards
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. sonok

    Moderator Kostenloser Webspace von sonok

    sonok hat kostenlosen Webspace.

    fand schrieb:
    Jetzt möchte ich jedoch das es einfach Jede 5 Sekunden ein anderen Banner Anzeigt.


    Gratulation!

    Ansonsten ist php serverseitig, dh nachdem es den Server verlassen hat übt der php-Code an sich keinen Einfluß mehr auf das Ergebnis beim Besucher aus.
    Den 5-Sek-Wechsel ist also eine Aufgabe für zB ...

    ... JavaScript
    ... Flash

    Eventuell kann man das auch mit den CSS3-Animationen lösen, aber das ist nur eine Vermutung.

    Alles sind jedoch Varianten, bei denen Du auch den php-Code ändern mußt, da Dein Script nur einen Bannerinhalt an den Browser zurücksendet, von dem jeweiligen nicht erwählten Banner weiß der Browser des Endanwenders gar nix und kann ihn dementsprechend nicht anzeigen.
  4. Du kannst deine Funktion eigentlich schon so verwenden. Nur füg sie nicht direkt in deine Seite ein, sondern speichre sie als andere .php Datei. Als Beispiel machst du dann einen Werbecontainer mit HTML:

    <div id="ad_container">
    
    </div>
    Und fügst dein Script via include ein. Da passiert eigentlich noch das gleiche, wie jetzt. Beim Neuladen fügt es eine andere Werbung ein. Doch kannst du jetzt auch per Ajax alle 5 Sekunden an das genau gleiche PHP File eine Anfrage stellen, bekommst dank dem Echo eine Antwort und kannst dann sagen, es soll den ad_container überschreiben.

    Somit würdest du das ganze wie gehabt mit PHP Lösen, aber mit JavaScript auch alle 5 Sekunden neu laden. Wenn JavaScript deaktiviert wurde, funktioniert alles mit PHP, aber das Neuladen wird nicht mehr unterstützt. Bei einer Lösung mit reinem JavaScript würde gar nichts mehr funktionieren und eine reine PHP Lösung ist nicht möglich.

    Flash gäbs noch, wie Sonok erwähnt hat, aber da würde ich drauf verzichten. Die wenigsten haben JavaScript deaktiviert, also wird es auch meistens funktionieren. Und wenn nicht, wird eben nur ein Banner angezeigt.

    Das ganze kann mit normalem JavaScript gelöst werden, ich empfehle aber hier jQuery. Speziell bei Ajax eine grosse Hilfe und ist auch verständlicher für Anfänger.

    Der einfachste Weg wäre:
    $(document).ready(function() { //1
         window.setInterval(function(){ //2
              $('#ad_container').load('ads.php'); //3
         }, 5000);
    });

    Das Script ist ungetestet, aber sollte folgendermassen funktionieren:

    1) Wenn das komplette Dokument geladen hat, wird die Funktion ausgeführt. Das dient dazu, dass zuerst alle HTML Elemente geladen sind, bevor wir sie ansprechen. Wir sprechen z.B. später den ad_container an, welcher vorhanden sein muss. Dies muss eigentlich nur geschehen, wenn wir das Script im head stehen haben, was ich jedoch empfehle.

    2) Hier wird ein Intervall von 5 Sekunden gesetzt, welcher dann die Funktion ausführt.

    3) Das ist am schluss unser ladevorgang an das PHP script "ads.php". Kann natürlich auch anders genannt werden, aber dann anpassen. Da du ein echo eingebaut hast, wird das zurück gegeben und in den ad_container eingefügt.

    EDIT: Durch den Intervall ist das eigentlich doch eine sinnlose Lösung. Viel sinnvoller wärs, ähnlich wie hackyourlife (folgender Post) alle Inhalte einmalig zu laden und dann mit JavaScript abzuändern. Du kannst auch den ganzen Array einmalig auslesen und mit JavaScript einen zufälligen auswählen.

    Beitrag zuletzt geändert: 18.11.2014 9:37:11 von c143
  5. sonok

    Moderator Kostenloser Webspace von sonok

    sonok hat kostenlosen Webspace.

    Das ständige Neuladen des Codes würde doch auch ständig die Randomschleife neu "würfeln" lassen und damit den gewünschten 5-sek-Interfall eher weniger bedienen. Also da müßte ja auch am php-Code noch mehr gearbeitet werden ...
  6. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    Wie wäre es, wenn du alle Banner in den HTML-Code einbettest, je eine eindeutige ID vergibst und sie mit JavaScript per Interval entsprechend ein- und ausblendest? Dann würdest du dir die ständigen Aufrufe der PHP-Seite sparen, die nur unnötig Traffic und Verzögerung verursachen.

    Den HTML-Code sowie das nötige JavaScript kannst du übrigens dynamisch per PHP erstellen, ähnlich wie du es schon jetzt machst.
  7. sonok

    Moderator Kostenloser Webspace von sonok

    sonok hat kostenlosen Webspace.

    hackyourlife schrieb:
    Wie wäre es, wenn du alle Banner in den HTML-Code einbettest, je eine eindeutige ID vergibst und sie mit JavaScript per Interval entsprechend ein- und ausblendest? Dann würdest du dir die ständigen Aufrufe der PHP-Seite sparen, die nur unnötig Traffic und Verzögerung verursachen.

    Den HTML-Code sowie das nötige JavaScript kannst du übrigens dynamisch per PHP erstellen, ähnlich wie du es schon jetzt machst.


    Oder statt Javascript mit CSS Animationen.
    Hab das jetzt zum Testen mal gemacht mit 2 DIV-Boxen, die sich immer schön abwechseln. Dabei steht also jede Box symbolisch für einen Banner.

    http://www.sonokowitsch.de/hp_stuff/css-animation/test.html

    Beitrag zuletzt geändert: 18.11.2014 9:44:25 von sonok
  8. Hallo

    also wenn die Banner "von selbst" wechseln sollen, dann
    würde ich es auch ohne PHP sondern direkt mit JS / jQuery machen
    und die Banner-Daten aus einem Array (bzw. aus .json Datei) lesen.

    DEMO / Beispiel siehe hier: http://jsfiddle.net/8q4fn2z3/

    dort in dem Beispiel ist es mit einem einfachen (JavaScript) Array
    mit nur 3 Banner (468x40) + je mit Text davor und danach
    und zum Test mit nur 3 Sekunden Pause zwiwschen Banner-Wechsel.


    hier der komplette CODE meiner Test-Seite

    <html>
    <head>
    <title>Test Bannerrotation</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    
    <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
    
    
    <script type="text/javascript">
    
    /* ---------------- Banner Settings ------------------- */ 
    
    var bannerdata = [ 
    	'Ich bin Banner Nr. 1 ... lima-city: kostenloser Webspace <br/> <a href="https://www.lima-city.de/?ref=246803/" target="_blank"><img src="http://www.lima-city.de/images/banner/lima-city_468x60_2.gif" alt="Gratis werbefreier Webspace | lima-city: kostenloser Webspace" title="Gratis werbefreier Webspace | lima-city: kostenloser Webspace" border="0"/></a> <br/> Jetzt kostenlosen Webspace holen', 
    	'Ich bin Banner Nr. 2 ... lima-city: kostenloser Webspace <br/> <a href="https://www.lima-city.de/?ref=246803/" target="_blank"><img src="http://www.lima-city.de/images/banner/lima-city_468x60_3.gif" alt="Gratis werbefreier Webspace | lima-city: kostenloser Webspace" title="Gratis werbefreier Webspace | lima-city: kostenloser Webspace" border="0"/></a> <br/> Jetzt kostenlosen Webspace holen', 
    	'Ich bin Banner Nr. 3 ... lima-city: kostenloser Webspace <br/> <a href="https://www.lima-city.de/?ref=246803/" target="_blank"><img src="http://www.lima-city.de/images/banner/next-level_468x60_1.gif" alt="Gratis werbefreier Webspace | lima-city: kostenloser Webspace" title="Gratis werbefreier Webspace | lima-city: kostenloser Webspace" border="0"/></a> <br/> Jetzt kostenlosen Webspace holen', 
    ];
    
    var refresh_time = 3000; 
    
    
    /* ---------------- Start jQuery Script ------------------- */ 
    
    var brun = 0; 
    var maxb = bannerdata.length; 
    
    $(document).ready(function () { 
    	
    	var bannerhtml = bannerdata[brun]; 
    	
    	$('#ad_container').html("<span>" + bannerhtml + "</span>\n"); 
    	
    	refreshIntervalId = window.setInterval(function () { 
    		brun++;
    		
    		if (3 <= brun) { 
    		/* clearInterval(refreshIntervalId); */
    		brun = 0; 
    		} 
    		
    		var bannerhtml = bannerdata[brun]; 
    		$('#ad_container').html("\n <span>" + bannerhtml + "</span> \n"); 
    		
    	}, refresh_time); 
    
    });
    
    
    /* ---------------- End jQuery Script ------------------- */ 
    
    </script>
    
    
    <style type="text/css">
    <!--
    
    #page {
    	text-align:center; 
    	background:#CCCCCC; 
    }
    
    #ad_container {
    	margin:0 auto; 
    	padding:6px; 
    	width:480px; 
    	height:110px; 
    	background:#FFFFAA; 
    	border:1px solid #336600; 
    }
    
    -->
    </style>
    
    </head>
    
    <body bgcolor="#FFFFFF" text="#000000">
    
    <div id="page">
    <br /> 
    <br />
    <div id="ad_container"> loading </div>
    <br />
    <br /> 
    <br /> 
    </div>
    
    
    </body>
    </html>



    Edit / PS: diesen <span> Tag kann man aus dem jQuery Script Teil auch weg lassen
    $('#ad_container').html("\n" + bannerhtml + "\n");

    ... der ist eigentlich sinnlos ...

    siehe Update: http://jsfiddle.net/8q4fn2z3/1/
    mit Debug-Ausgabe welcher Banner (Nummer) gerade zu sehen ist


    man kann die Banner-Daten aber auch aus z.B. .json oder .js Datei holen
    und diese Daten-Datei kann man wiederrum mit PHP pflegen (als Admin)
    also über Auswahl und Formular die Banner einfügen / ändern / löschen


    wie man die Banner-Daten aus einer .json Datei holt siehe: jQuery.getJSON()
    oder man speichert das Banner-Daten Array einfach in einer .js Datei
    und kann diese dann einfach über <script ... src= ...> TAG laden

    und wie schon gesagt, PHP würde ich nur zur "Pflege" der Banner-Daten verweden.
    wenn die Banner ohne Seiten-Reload "von selbst" nach n Sekunden wechseln sollen.

    ich hoffe das hilft weiter ... :=)


    Beitrag zuletzt geändert: 18.11.2014 13:23:24 von uhrinfo
  9. Autor dieses Themas

    fand

    Kostenloser Webspace von fand

    fand hat kostenlosen Webspace.

    Vielen dank für die vielen Antworten, ich möchte KEIN JavaScript da ich dieses aus habe und sehr viele schlaue inet user auch , wer javascript für allgemein alle seiten an hat is nicht sehr schlau ! Ich lass es nur bei Seiten zu die ich kenne.....aber egal die CSS Lösung schaut ganz gut aus ich versuche das mal.

    kind regards
  10. fand schrieb:
    Vielen dank für die vielen Antworten, ich möchte KEIN JavaScript da ich dieses aus habe und sehr viele schlaue inet user auch , wer javascript für allgemein alle seiten an hat is nicht sehr schlau ! Ich lass es nur bei Seiten zu die ich kenne.....aber egal die CSS Lösung schaut ganz gut aus ich versuche das mal.

    kind regards
    Nur weil du kein JavaScript benutzt, heisst es ja nicht, dass du allgemein darauf verzichten musst. Wenn du dich weiter für Webentwicklung interessierst wird das sogar ein grosses Thema. Der Sinn dabei ist aber eben, dass man eine Fallbacklösung hat.

    Die CSS Lösung funktioniert nämlich nur in modernen Browsern. Du musst dir einfach überlegen wie wichtig dir das ist.

    Ich würd die json Variante wählen. Beim Laden der Seite eben mit PHP und dann für den 5 Sekunden Intervall am besten JavaScript. Wenns dir ganz wichtig ist, kannst du auch noch die CSS Variante einbauen. Es geht ja darum, dass du deine Funktion möglichst verfügbar machst und nicht entscheidest, dass es dumm ist, wenn man deine Seite mit JavaScript benutzt.

    Aber lässt sich eh noch darüber Streiten, ob solch eine Werbung, die sich ständig ändert nicht eh zu nervig wird. Ich handhabe das übrigens so, dass ich grundsätzlich mit Adblock surfe und wenn ich eine Seite mehrmals besuche, so wie Lima-City und sie einen Gewinn aus mir schlagen könnten, deaktiviere ich ihn vorübergehend und entscheide dann, ob mir die Werbung nicht zu aufdringlich ist.
  11. hmm ... JavaScript = AUS ??? ... keine gute Idee,
    denn so kannst Du ja über 90% aller Internet-Seiten gar nicht nutzen,

    welche Webseite ist heute noch ohne JS ... wohl eher nur sehr wenige !

    und bei der CSS Lösung wäre ich auch vorsichtig, sieht gut aus aber
    ob dieses
    -webkit-animation
    alle Browser unterstützen / können ??
    ich glaub nicht, dass das schon überall "Standard" ist, ... ich sag nur IE

    Würde es dann mit JS machen, und für den Fall, das User kein JS hat,
    dann eben nur einen Banner statisch (ohne Wechsel) ausgeben.

    also HIER anstatt "loading" den statischen Banner für User ohne JS
    <div id="ad_container"> loading </div>

    also dann so
    <div id="ad_container">
    <a href="https://www.lima-city.de/?ref=246803/" target="_blank"><img src="http://www.lima-city.de/images/banner/lima-city_468x60_3.gif" alt="Gratis werbefreier Webspace | lima-city: kostenloser Webspace" title="Gratis werbefreier Webspace | lima-city: kostenloser Webspace" border="0"/></a> 
    </div>

    der Inhalt von ad_container wird bei JS = an dann durch wechselnde Banner ersetzt / überschrieben und wenn kein JS aktiv ist, dann bleibt halt einfach nur dieser eine Banner (Inhalt von ad_container) als statischer Banner ohne Wechseln.

    :=)
  12. uhrinfo schrieb:
    hmm ... JavaScript = AUS ??? ... keine gute Idee
    Aufgrund von Sicherheit schon eine gute Idee, doch. Bei Seiten die man kennt kein Problem, wenn man herum surft ist es jedoch gut.


    uhrinfo schrieb:
    ob dieses
    -webkit-animation
    alle Browser unterstützen / können ??
    Darum hat sonok das ganze auch noch ohne webkit eingebaut und funktioniert so in allen modernen Browsern. Das stimmt schon.

    Nur in älteren Browsern (gerade getestet) werden die Boxen einfach untereinander angezeigt und die ganze Webseite wird völlig falsch dargestellt bzw es gibt ein riesen Chaos. Also muss man das umgehen.

    Also der Gedanke eine Funktion nicht nur mit JS umsetzen zu wollen ist genau der richtige. Aber spricht überhaupt garnichts dagegen, diese Möglichkeit anzubieten. Wer JS aktiv haben will, hat es und das sind die meisten. Wenn du dann auch noch die CSS Lösung einbaust wärs perfekt.

    Beitrag zuletzt geändert: 18.11.2014 13:21:03 von c143
  13. Autor dieses Themas

    fand

    Kostenloser Webspace von fand

    fand hat kostenlosen Webspace.

    Ich habe bei mir JavaScript einfach allgemein für alle seiten aus und kann es dann für bestimmte seiten die ich Browsen will zulassen auch für immer zulassen ;) Natürlich läd sich die Seite ohne JS erstmal nicht jedoch wenn ich sie wirklich sehn will und auch mit meiner Brain.exe getrustet habe lasse ich JS auf der Seite zu ;) Ansonsten seit ihr easy Opfer eines JavaRootkits ;)

    Ich habe im Browser die Option: "Ausführung von JavaScript für keine Website zulassen"
    Und kann dann selbst Seiten einfach zulassen auf denne leuft dann JS immer ;)


    kind regads

    Beitrag zuletzt geändert: 18.11.2014 13:17:14 von fand
  14. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!