ilch Forum » Ilch Clan 1.1 » Module und Modifikationen » Splashscreen Popup

Geschlossen
  1. #1
    User Pic
    schnoog Mitglied
    Registriert seit
    23.02.2008
    Beiträge
    31
    Beitragswertungen
    1 Beitragspunkte
    Hallo zusammen,
    ich hab folgendes Problem:

    Ich möchte auf unsrer Seite eine Art Splash-Screen einbauen, der jedem User einmal täglich angezeigt wird.

    Dazu hab ich foldendes in die index.html (unter Designs) eingefügt:
    function popupPage()
    {
       var page = "http://etw-funzone.eu/popup.php";
       windowprops = "width=500,height=750,locationbar=no,scrollbars=no,menubars=no,toolbars=no,resizable=yes";
       window.open(page, "ETW-FZ Info", windowprops);
    }

    Wenn ich nun, ebenfalls in der index.html im Body
    <body onLoad='popupPage()'>

    eintrage, wird das Popup ja jedesmal geladen.

    Und jetzt gehts ans Eingemachte:

    Ich möchte ja, dass das Popup nur einmal am Tag geöffnet wird. Wie ich das ganze in php abfrage, weiss ich schon mehr oder weniger, dazu brauch ich keine Infos.
    So soll das dann aussehen, und wird in der index.php aufgerufen...

    function fShowPop(){
    if ($showntoday != 1){
    //$showntoday enthält 1 wenn das Popup heute schon beim aktuellem User gezeigt wurde
    
    
    // UND GENAU HIER STECKT DAS PROBLEM
    
    }
    }


    an der Problemstelle sollt ich nun irgendwie
    "<body onLoad='popupPage()'>" in den Body reindrücken.

    Leider hab ich nicht die geringste Ahnung, wie ich das machen kann.

    Ich hoffe ich hab mich einigermassen verständlich ausgedrückt (was ich bezweifle lachen )


    verwendete ilchClan Version: 1.1

    betroffene Homepage: etw-funzone.eu


    Zuletzt modifiziert von schnoog am 14.07.2009 - 13:39:40
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    annemarie gelöschter User
    also,

    1. in der index php nach einem cookie prüfen (dazu komm ich gleich)
    2. wenn cookie nicht gesetzt cookie setzen
    3. wenn cookie gesetzt aber 1 tag alt, wenn du das cookie setzt dann auch das popup im body onload laden ansonsten nicht

    im cookie kannst du hinterlegen wann das cookie gespeichert wurde, also nur noch überprüfen obs von gestern ist oder nicht
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    schnoog Mitglied
    Registriert seit
    23.02.2008
    Beiträge
    31
    Beitragswertungen
    1 Beitragspunkte
    Vielen Dank für Deine Unterstützung.


    Ich hab fast gedacht, dass ich mich unklar ausgedrückt hab.
    Also die ganze Sache mit Cookie etc. ist mir klar. Ich werd es aber über ne mysql-Tabelle lösen, da ich im das Popup-Lesen (und auf "OK, das hab ich verstanden" klicken trailen will.

    Mein Problem besteht im Endeffekt darin:

    Ich frage in meiner DB ab ob der User die Msg (also das Popup) gelesen (oder zumindest registriert) hat.
    Das speichere ich in der Var. $showntoday

    Dann soll das ganze
    if ($showntoday != 1){
    
    //Hier fehlt mir der Code um 
    //<body onLoad='popupPage()'>
    //an die richtige Stelle der Seite einzufügen.
    
    }


    Meine Hoffnung ist zu erfahren in welche Variable (od. Funktion) kann ich
    <body onLoad='popupPage()'>

    einfügen kann, und wie mach ich das.

    Basis-PHP ist eigentlich kein grosses Problem für mich, aber die Integration in Module (egal ob Ilch, Joomla oder ähnlichem) bereitet mir doch Kopfzerbrechen.

    Nachtrag:

    In diesem Ausschnitt meiner index.php will ich den Code unterbringen
    require_once ('include/includes/config.php');
    require_once ('include/includes/loader.php');
    
    db_connect();
    
    $namevalue = $_SESSION['authname'];
    //hier Abfrage ob User das Popup schon gesehen hat 
    if ($showntoday != 1){ 
    // --------Hier soll der Rätsels Lösung enden 
    }



    Zuletzt modifiziert von schnoog am 14.07.2009 - 16:19:49
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    DjGeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    würde das in etwa so lösen:
    dazu muss eine neue Spalte in der prefix_user angelegt werden namens \'daypopup\'

    <?php
    
    $fuckingtime = time();
    $checktime = ($fuckingtime - 8600)
    $uid = $_SESSION['id']
    $fuckingpopup = popupPage();
    
    $hitpopup = db_query(SELECT daypopup FROM prefix_user where id = $uid);
    
    if ($hitpopup < $checktime) {
    
           $fuckingpopup;
    
    $fuckingeintrag = db_query(update prefix_user
                                                   set daypopup '".$time."' where id = '$uid');
    }
    ?>


    hab das nur mal auf die schnelle gemacht. können fehler drin sein und ist nicht getestet

    nur um zu zeiten wie ich es lösen würde


    Zuletzt modifiziert von DjGeCk0 am 14.07.2009 - 17:27:29
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    schnoog Mitglied
    Registriert seit
    23.02.2008
    Beiträge
    31
    Beitragswertungen
    1 Beitragspunkte
    THX,
    das Problem dabei ist aber das die popupPage() eine JS-Funktion ist.
    Da bekomm ich dann folgenden Fehler angezeigt:
    Fatal error: Call to undefined function popupPage() in /srv/www/htdocs/index.php on line 37

    Ich brauch den Code, mit dem ich ggf. (wenn $showntoday != 1)
    <body onLoad='popupPage()'>
    an die Richtige Stelle der Seite bringe.


    Zuletzt modifiziert von schnoog am 14.07.2009 - 17:11:15
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    DjGeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    als erstes ist das nur ein Beispiel welches ich nochmal editiert habe (update-befehl)

    als zweites muss in der 'include/includes/func/allg.php deine funktion definiert sein

    dann sollte das funzen
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    schnoog Mitglied
    Registriert seit
    23.02.2008
    Beiträge
    31
    Beitragswertungen
    1 Beitragspunkte
    Dankeschön
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Module und Modifikationen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten