[PHP] Nach dem klicken auf eine Grafik soll eine andere angezeigt werden(schlecht erklärt^^

Dieses Thema im Forum "Webentwicklung" wurde erstellt von dannyt, 3. April 2007 .

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  1. #1 3. April 2007
    Nach dem klicken auf eine Grafik soll eine andere angezeigt werden(schlecht erklärt^^

    Hi!

    Ich hab da mal folgende Frage:
    Undzwar habe ich ein Forum, wo oben in der Navi ein Button "Voten" angezeigt wird. Der blinkt, sodass er auffälliger ist.
    Nun wollte ich das so machen, dass wenn man z.B. um 01:00 auf die Seite geht, der blinkende Button angezigt wird. Wenn man nun auf den Button klickt, gelangt man ja zu voten.php. Wenn man dann gevotet hat, geht man ja üblicherweise zurück zur Startseite. Doch nun will ich, dass der Button nicht mehr blinkt (also eine andere Grafik soll angezeigt werden). Wenn man am gleichen Tag um 23:00 wieder aufs Forum geht, soll er immer noch nicht blinken, erst wieder um 0:00 Uhr.
    Was aber auch gehen würde, dass die Grafik für 24h gewechselt wird, ist glaub ich auch einfacher zu coden.

    Zusammengefasst:
    Von 0:00 bis 0:00 (24h) soll ein blinkender Button angezeigt werden, und wenn man draufgeklickt hat, soll er nicht mehr blinken. Erst wieder am nächsten Tag.

    Ich hoffe ihr versteht was ich meine. Ich wäre demjeningen echt dankbar, wenn er/sie mir so etwas coden könnte.
    Meine PHP Kenntnisse sind so minimal, daraus kann man nix machen^^

    Ich hoffe es kann mir jemand helfen :)


    MfG
    dannyt



    Ich habe da mal was versucht, aber das geht net wirklich :/
    PHP:
    <? php
        error_reporting
    ( E_ALL );
        
        
    $time  time () +  60 * 60 * 24 ;
        
    setcookie ( "voted" "today" $time );
        
        if(isset(
    $_COOKIE [ 'voted' ])) {
            echo 
    "<img src=\"voten_noblink.gif\" border=\"0\">" ;
        } else {
            echo 
    "<img src=\"voten_blink.gif\" border=\"0\">" ;
        }
    ?>
     

  2. Anzeige
    Dealz: stark reduzierte Angebote finden.
  3. #2 3. April 2007
    AW: Nach dem klicken auf eine Grafik soll eine andere angezeigt werden(schlecht erklärt^^

    Also der Ansatz ist soweit eigentlich gut. Cookies sind leider hier die einzige persistente Methode mit der sich das zuverläßig machen läßt.
    Werd mal versuchen deinen Code zu verbessern, tu mein Bestes, seperat getestet hab ich es jedoch nicht.


    Hoffe die Kommentare reichen
    PHP:
    <? php
        error_reporting
    ( E_ALL );
            
        
    //Start - Überprüfung ob der Cookie gesetzt ist und der Wert kleiner als der jetzige Timestamp
        
    if ( (isset( $_COOKIE [ 'voted' ])) && ( $_COOKIE [ 'voted' ] >  time ()) ) {
            echo 
    '<img id="VoteButton" src="voten_noblink.gif" />' ; //Einfache Anführungszeichen da keine Variable interpretiert werden soll
        
    } else { //Cookie entspricht nicht den nötigen Daten
            
    if ( $_GET [ 'voted' ]) { //Start - exemplarische Überprüfung ob gevoted wurde
                        /*timestamp des nächstes Tages als Cookie speichern, Bitte beachte
                         *die weitere Parameter für Cookies */
                
    setcookie ( "voted" mktime ( 0 0 0 date ( 'm' ),  date ( 'd' )+ 1 date ( 'Y' )));
            }
    //Ende - exemplarische Überprüfung ob gevoted wurde
            
    echo  '<img id="VoteButton" src="voten_blink.gif" />' ;
        }
    //Ende - Überprüfung ob der Cookie gesetzt ist und der Wert kleiner als der jetzige Timestamp
    ?>
     
  4. #3 3. April 2007
    AW: Nach dem klicken auf eine Grafik soll eine andere angezeigt werden(schlecht erklärt^^

    Vielen Dank schonmal, werds nachher mal ausprobieren.
    Ne Gute Bewertung haste aber schonma ;)
     
  5. #4 5. April 2007
    AW: Nach dem klicken auf eine Grafik soll eine andere angezeigt werden(schlecht erklärt^^

    Mhm n Cookie ist schonmal ganz gut, aber ich machs gerne so ;)

    Ein Cookie speichert: Ok dieser User hat hier schonmal gevotet.

    So und das Cookie wirkt dann die nächsten Tage beispielweise, aber auf der Website nach dem Vote würde ich es mit $_SESSION´s machen ;)

    Strengenommen ist die $_SESSION ja auch ein Cookie, aber nur temperär.
    Bei großen Anwendungen kommt man einfach nicht drum rum, wir benutzen diese Technik zum Cachen von DB Abfragen für sogut wie jeden Zweck und wirklich das ist ne geile Sache, also auch wenns dir jetzt nix bringt vielleicht, ziehs dir ma rein.

    Infos dazu:

    PHP: Sessions - Manual
    http://tut.php-q.net/sessions.html
    Das deutschsprachige PHP Handbuch / Manual bei Dynamic Web Pages! PHP PHP3 PHP4 PHP5 - Deutscher Knotenpunkt f&uuml;r PHP - Dynamic Web Pages. Alles zu MySQL, PostgreSQL, XML, Web Services & PHP

    ;)
     
  6. #5 5. April 2007
    AW: Nach dem klicken auf eine Grafik soll eine andere angezeigt werden(schlecht erklä

    hast recht, nur eine session verfällt nach einiger zeit, und die ip kann in manchen fällen gewechselt werden, deshalb ist die cookie lösung die bessere. mysql und session kann man zu leicht umgehen.

    jaaa einen cookie kann man auch löschen, nur muss dafür ja was machen, bei einer session nicht und wenn man einen router hat auch nicht die ip per hand wechseln :)

    was noch eine möglichkeit wäre, aber sicher nicht die benutzerfreundlichste, ein usersystem anzulegen wo dann der username gespeichert wird wenn man gevotet hat.
     
  7. #6 5. April 2007
    AW: Nach dem klicken auf eine Grafik soll eine andere angezeigt werden(schlecht erklä

    Das prob bei cookies ist das sie wenn man sich wo anders auf die seite einloggt nicht mehr vorhanden sind^^

    ich würde das für registrierte User machen das sie per DB gesetzt werden wenn sie gevotet haben und gäste da blinkt er immer ;)
     
  8. #7 5. April 2007
    AW: Nach dem klicken auf eine Grafik soll eine andere angezeigt werden(schlecht erklärt^^

    Nein eine Session ist kein Cookie, eine Session ist eine temporäre Datei auf dem Server (bei PHP6 könnte sich das jedoch ändern), die Zuordnung zu einem User kann über einen Cookie erfolgen. Dieser Cookie ist aber nur temporär vorhanden, damit schlägt deine Methode nämlich auch fehl, denn wenn das Browserfenster geschlossen wird oder die IP gewechselt ist somit auch die Session tot und der User kann neu voten, was eine Manipulation darstellen würde. Man könnte es so fummeln dass die Session, auch noch später existiert, aber das wäre mehr Aufwand als notwendig, weil auch hier persistente Daten in Cookies zum Einsatz kommen müssen. Natürlich kann man das auch vorher temporär in einer Session speichern, aber wozu? Damit es später sowieso noch in einen Cookie muss?

    IPs zum Blocken zu wählen wäre auch keine gute Methode, wie hier bereits dargestellt wurde.

    Um einen "anonymen" User also dauerhaft zu identifizieren ist ein Cookie / sind Cookies unerläßlich, weil dieser normalerweise nicht gelöscht wird wenn das Fenster geschlossen wird oder weg ist, wenn sich die IP ändert.
    Klar ein User kann auch die Cookies löschen, aber dies ist eigentlich nicht das "normale" Verhalten eines Users.

    @Gn0m, da hast du leider Unrecht, der Cookie wird normalerweise nur "gelöscht"/geändert wenn irgendwo ein Cookie gesetzt wird, der genau die selben Identifikationsmerkmale besitzt und der Fall tritt nur ein wenn schlecht programmiert wurde, und nicht zwangsläufig bei einem login irgendwo anders auf der seite.


    Dies hier ist einfach ein "Problem" des Internets, wenn wir unsere Dienste (ob Vote, News etc.) öffentlich anbieten gibt es effektiv keine "legale" Methode mit der wir unseren User dauerhaft identifizieren können (wegen Cookies löschen, IP wechseln, Fenster schließen etc.) und besonders weil selbst die MAC Adresse geändert werden kann. Man könnte hier natürlich anfangen über BHO etwas zu fummeln aber dies wird entweder als Spyware, Malware etc. eingeordnet oder versuchen eindeutige Merkmale über Browser, System, ISP, Sprache etc. zu bauen, aber dies wird zwangsläufig auch fehl schlagen.
     
  9. #8 5. April 2007
    AW: Nach dem klicken auf eine Grafik soll eine andere angezeigt werden(schlecht erklä

    Wow, vielen Dank dass hier doch noch welche Interesse zeigen :)
    Hab euch allen einfach mal ne gute Bewertung gegeben ;)

    Mir hat gestern jemand auf die schnelle was gecodet, ihr könnt euch das ja mal anschauen und sagen ob das funktionieren könnte. Ich habe es noch nicht ausprobiert.


    PHP:
    <?
    //votep.php
    //das ist das obejkt des users da finden wir bestimmt alle infos drin
    // mit ->id greifen wir auf ne variable im objekt zu die id heißt
    //$_SESSION["user"]->id;

    //so sieht das mysql statement aus
    //
    $qry  "Update users SET user_voted=1 WHERE user_id=" . $_SESSION [ "user" ]-> id ;
    mysql_query ( $qry );  //Abschicken

    //jetzt haben wir das flag auf 1 gesetztz toll
    //du kannst jetzt auswerten auf deiner startseite ob das ding 1 ist
    // wenn ja dann lässt du es nicht mehr blinken
    //index.php

    //Die Abfrage
    $qry = "SELECT user_voted from users WHERE user_id = " . $_SESSION [ "user" ]-> id ;
    $result  mysql_query ( $qry );  //Abschicken
    $gevoted  mysql_fetch_array ( $result );
    //In $gevoted steht jetzt 1 oder 0 drin
    //jetzt machst ene abfrage
    if( $gevoted [ 'user_voted' ] ==  0 )
    {
        
    //Wenn noch nicht gevoted
        
    echo( "<img src='img1.jpg'>" );
    }
    else
    {
        
    //gevoted
        
    echo( "<img src='img1.jpg'>" );
    }


    //Wenn du jetzt willst das alle 24 stunden das teil anzublinken fängt machste einfach nen Cronjob 
    // das isn service der zu nem festen zeitpunkt n script auf deinem webspace ausführt
    //in dem script steht dann eben n sql statement womit du alle user_voted flasg wieder auf 0 setzt
    //Conrjobs gibts kostenlos im netz such einfach ma bei google
    ?>
    Rechtschreibfehler in den Comments könnt ihr behalten, sind eh net von mir :p
     
  10. #9 5. April 2007
    AW: Nach dem klicken auf eine Grafik soll eine andere angezeigt werden(schlecht erklä

    Also tut mir leid, absoluter Murks.

    1. Das Haarige ist im Endeffekt die Zeitsteuerung, die hier einfach auf einen Cronjob verschoben wurde. Doch die Webspaces die auch Cronjobs anbieten lassen sich imho an einer Hand abzählen, vielleicht auch an zwei.
    2. Dieses Script setzt eine Registrierung voraus. Ist mit der UserId die session_id() gemeint, ist dieses Script wieder ein harter Rückschritt, denn hiermit kann nich im Ansatz garantiert werden, dass der User nur einmal voten kann.
    3. Dieses Script setzt ein Userobjekt voraus, welches in $_SESSION['user'] gespeichert ist.
    4. mysql_fetch_array() erstellt mehr als notwendig. fetch_assoc() wäre deutlich Sinnvoller.
    5. Das HTML ist nicht valide.
    6. Der PHP Schreibstil könnte besser sein ...

    usw.

    Also möchtest du den Vote öffentlich zugänglich anbieten, dann nimm eher mein Script. Möchtest du es mit einer Registrierung anbieten, schreib ich dir was anderes.
     
  11. #10 5. April 2007
    AW: Nach dem klicken auf eine Grafik soll eine andere angezeigt werden(schlecht erklä

    Thx @ MakenX 4 Feedback!
    Am schönsten wäre es, wenn der bei Gästen immer blinkt, also das Script dort nicht zum Einsatz kommt.
    Bei registrierten Usern sollte das so sein, wie oben beschrieben, also entweder immer um 0 Uhr, oder alle 24h, also wenn man um 15 Uhr auf die Seite geht, der Button erst nächsten Tag um 15 Uhr wieder anfängt.
    Welche Methode nun genommen wird, ist mir relativ egal.
    Aber ich nehm gerne das, was leichter und schneller zu coden ist ;)
     
  12. #11 6. April 2007
    AW: Nach dem klicken auf eine Grafik soll eine andere angezeigt werden(schlecht erklä

    Usertabelle.

    Code:
    -- ------------------------------------------------------------
    -- Usertable
    -- ------------------------------------------------------------
    
    CREATE TABLE users (
     iUserId INTEGER(15) UNSIGNED NOT NULL AUTO_INCREMENT,
     iVoteTimestamp INTEGER(15) NOT NULL DEFAULT 0,
     sEmail VARCHAR(255) NOT NULL,
     sName VARCHAR(150) NOT NULL,
     PRIMARY KEY(iUserId)
    )
    AUTO_INCREMENT = 1;
    
    PHP:
    <? php
        
    //Seitenstart
        
    mysql_connect ();
        
    mysql_select_db ();
        
    session_start ();
        
    $_SESSION [ 'mUser' ] =  false ; //Startwert

        /**
         * Exemplarischer Login. Hier werden alle Benutzerdaten in der Session gespeichert und
         * alte Votes gelöscht.
         */
        
    if ( $_POST [ 'btn_login' ]) {
            
    mysql_query ( 'UPDATE user SET iVoteTimestamp = 0 WHERE iVoteTimestamp <= ' . time ()); //Alte Votes wieder auf 0 setzen
            
    $rResult  mysql_query ( "EXEMPLARISCHER LOGIN MIT KONTROLLE etc." );

            
    $_SESSION [ 'mUser' ] =  mysql_fetch_assoc ( $rResult ); //Userdaten aus der Datenbank in der Session speichern
        
    }
        
        

        
    if ( $_GET [ 'bHasVoted' ] &&  $_SESSION [ 'mUser' ]) {
            
    $_SESSION [ 'mUser' ][ 'iVoteTimestamp' ] =  mktime ( 0 0 0 date ( 'm' ),  date ( 'd' )+ 1 date ( 'Y' ));
            
    mysql_query ( "UPDATE users SET iVoteTimestamp =  { $_SESSION [ 'mUser' ][ 'iVoteTimestamp' ]}  WHERE iUserId =  { $_SESSION [ 'mUser' ][ 'iUserID' ]} " ) OR die( 'Datenbankfehler bei der Userverwaltung.' );
        }
    //Ende - Voteupdate
        
        /**
         * Darstellung des Bildes. Wenn der User anonym ist oder noch nicht gevoted hat
         * wird das blinkende Bild angezeigt, falls der User schon gevoted hat 
         * ($_SESSION['mUser']['bHasVoted'] = 1) wird das nicht blinkende Bild angezeigt.
         */
        
    if (@empty( $_SESSION [ 'mUser' ][ 'iVoteTimestamp' ])) {
            echo 
    '<img alt="Vote Button" src="blinker.bild" title="Vote!" />' ; //blinkendes Bild
        
    } else {
            echo 
    '<img alt="Vote Button" src="keinblinker.bild" title="Vote!" />' ; //nicht blinkendes Bild
        
    } //Ende - Bilddarstellung
    ?>

    Ich hoffe die Kommentare reichen.
     
  13. #12 6. April 2007
    AW: Nach dem klicken auf eine Grafik soll eine andere angezeigt werden(schlecht erklä

    Soweit ist dein Script ok bis auf ein paar Sachen.

    $_SESSION['aUser'] = false;

    mach daraus

    $_SESSION['aUser'] = array();

    und die Fehlerausgabe von empty() zu unterdruecken ist auch Bloedsinn. Also das @ weg.
     
  14. #13 6. April 2007
    AW: Nach dem klicken auf eine Grafik soll eine andere angezeigt werden(schlecht erklä

    @the dude

    Schön dass du versuchst, mich auf so konstruktive Art und Weise zu kritisieren, doch zieht das auf die Art und Weise bei mir leider nicht.

    1.
    Sowohl $_SESSION['mUser'] = array() als auch $_SESSION['mUser'] = false gibt in einer booleschen Kontrolle, wie zum Beispiel in einer meiner If Strukturen, das selbe Ergebnis. Dein Vorschlag wäre also durchaus OK, da mein boolesches false jedoch weniger Speicher belegt und weniger Ressourcen in Anspruch nimmt als die Speicherzuweisung mit array() halte ich meine Lösung immer noch für besser als deinen Vorschlag. Meine Ressourcenersparnis ist bei dieser kleinen Sache zwar nur minimal aber damit dein Vorschlag, um es mit deinen Worten zu sagen, "Bloedsinn", um nicht so harsch zu sein, unnötig. In einem großen Script, vielleicht auch noch bei einem Server mit einem kleinen memory_limit, sind das genau die nötigen bytes die dankeswerter Weise durch vorausschauende Programmierung eingespart werden konnten, denn nach meiner Überzeugung soll bei PHP ressourcensparend programmiert werden.

    2. Ich unterdrücke nicht direkt die Fehlerausgabe von empty() sondern die Notice eines fehlendes SessionIndex. Ist bei der empty() Funktion vielleicht unnötig, da diese den selbst schon unterdrückt, ich jedoch halte es aber für einen guten Programmierstil, die mögliche Notice zu unterdrücken, wenn man in irgendeiner Weise fehlende Indices anspricht (und man weiß dass diese möglicherweise fehlen). Auch im Hinblick des Wechsels der PHP Version, ändern des error_reportings etc ... Normalerweise schreibe ich zur besseren Übersichlicht das @ uneingerückt als erstes Zeichen in die Zeile, ist bei einer IF - Struktur jedoch ein syntaktischer Fehler.

    Noch Fragen oder Bemerkungen deinerseits, dass Dinge in diesem Thread von mir Bloedsinn sind?

    PS: Wenn dir das @ und false so stark aufstößt, denk dir einfach dass ich mit der Speicherersparnis der booleschen Wertezuweisung das, deiner Meinung nach überflüssige, @ wett mache.
     
  15. #14 6. April 2007
    AW: Nach dem klicken auf eine Grafik soll eine andere angezeigt werden(schlecht erklä

    1. Da du die Variable hinterher nicht als bool benutzt, sollte sie sehr wohl mit array() initialisiert werden. Stichpunkt: Typensicherheit. Leider bietet PHP das noch nicht, aber es ist dennnoch guter Programmierstil!

    2. Schlechter Programmierstil ist es, die Fehlerausgabe einer Funktion aus Faulheit, ein isset() oder ein weiteres if() zu unterdruecken.

    Was mich noch interessiert. Wer hat dir denn erzaehlt, dass es resourcensparender ist, mit false als mit array() zu initialisieren?
     
  16. #15 6. April 2007
    AW: Nach dem klicken auf eine Grafik soll eine andere angezeigt werden(schlecht erklä

    1. Ich behandle die Variable $_SESSION['mUser'] für einen anoymen User sehr wool als bool, sowohl in der zweiten als auch in der dritten IF - Struktur. Als Beispiel, die Funktion empty() überprüft auch nach booleschem false.

    2. Wofür zum Beispiel ein isset()? Die Verbindung zu meinem Script kann ich jetzt nicht ganz nachvollziehen. Wenn du zum Beispiel weiterhin die typensicherheit und das @empty() in Frage stellen willst...Ich überprüfe für einen anonymen User, ob $_SESSION['mUser']['iVoteTimestamp'] null, false wie auch immer ist, und für einen angemeldeten User ob hier eine 0 aus der Datenbank drin steht. Manchmal kann fehlende Typensicherheit auch ein bißchen Code sparen! Hast mich aber darauf aufmerksam gemacht, dass ich mein eigenes Namensschema nicht beachtet haben. aUser ist jetzt mUser für mixed. Danke.

    Es gibt bei PHP Funktionen die dir mitteilen können wie es mit dem Speicherverbrauch aussieht, aber ich kann dir auch einen weiteren Tipp geben. Wie sieht zum Beispiel die Ausgabe eines booleschen Wertes aus und wie die Ausgabe eines Arrays (vielleicht zur besseren Visualisierung "serialize(array())").

    Aber unsere Diskussion sollte nicht das Thema sein, wenn du denkst, du kannst es besser, poste doch deinen Quellcode und dann kanner sich aussuchen wasser will, oder ob er was ganz anderes haben will.
     
  17. #16 7. April 2007
    AW: Nach dem klicken auf eine Grafik soll eine andere angezeigt werden(schlecht erklä

    Vielen vielen Dank an MakenX für das Script!
    Ich werde es nachher, nachdem ich meine ganzen anderen Sache erledigt habe, mal ausprobieren und werde dann dazuschreiben ob es funktioniert :)
    Auch danke an tHe_dUdE, der helfen wollte das Script zu verbessern, hast auch ne gute Bewertung bekommen.


    /edit:
    Ich weiß nicht genua wo ich das in meinem WBB einbauen soll.
    Ich habs mal im header Template versucht, aber dann wird kein Header ehr angezeigt. Im index Template gehts auch nicht, da wird dann nur noch ne weiße Seite angezeigt :/

    Achja ist das richtig das man ne Tabelle users anlegen muss? Weil es existiert ja im WBB schon eine bbX_users. Ich habe sie einfach mal umbenannt in bbX_votedusers und entsprechend die Werte im Script angepasst. Oder kann das daran liegen das das bei mir nicht funktioniert?
     
  18. #17 7. April 2007
    AW: Nach dem klicken auf eine Grafik soll eine andere angezeigt werden(schlecht erklä

    Ach du möchtest das in ein fertiges Forum bauen, na von deinem hab ich leider keinen Plan, da muss mal ein anderer einen Vorschlag machen ...
     
  19. #18 9. April 2007
    AW: Nach dem klicken auf eine Grafik soll eine andere angezeigt werden(schlecht erklä

    Kann mir bitte jemand helfen, das Script zu bauen das es auch im WBB läuft?
     
  20. #19 9. April 2007
    AW: Nach dem klicken auf eine Grafik soll eine andere angezeigt werden(schlecht erklä

    ok ich habs mal versucht, is nicht getestet.

    hab das mit dem cookie wegelassen und das so geschrieben das nur gäste voten können.

    PHP:
    <? php
        
    function  click ( $user )
             {
                 
    $wer  $user [ 'username' ];
                     if(empty(
    $wer ) ||  $wer  ==  "Gast"  ||  $wer  "Guest" ) print( '<script language="javascript">alert("Sorry Voten dürfen nur Mitglieder!"); window.loaction="index.php";</script>' );
                     else {
                         
    $result  $db -> unbuffered_query ( "SELECT username FROM vote WHERE username = '" . $wer . "'" );
                         
    $vote  $db -> fetch_array ( $result );
                             if(
    $vote [ 'username' ] != "" ) print( '<script language="javascript">alert("Du hast bereits gevotet"); window.location="index.php";</script>' );
                             else {
                                 
    $db -> unbuffered_query ( "INSERT INTO vote (username,datum,userid) VALUES ('" . $wer . "', '" . date ( "d.m.Y" ). "','" . $user [ 'userid' ]. "'" );
                                     print(
    '<script language="javascript">alert("Danke für deine Stimme!"); window.loaction="index.php";</script>' );
                             }
                     }
             }

             function 
    has_click ( $user )
             {
                 
    $wer  $user [ 'username' ];
                     if(empty(
    $wer ) ||  $wer  ==  "Gast"  ||  $wer  "Guest" ) return  true //da ein gast nicht voten kann wird true gesendet damit das forumlar nicht angezeigt wird
                     
    else {
                             
    $result  $db -> unbuffered_query ( "SELECT username FROM vote WHERE username = '" . $wer . "'" );
                             
    $voted  $db -> fetch_array ( $result );
                             if(!
    $voted  ||  $voted  == "" ) return  false ;
                             else return 
    true ;
                     }
             }

        if(
    $_GET [ 'cl' ] ==  "true"  &&  $_POST [ 'sub' ] != "" click ( $wbbuserdata );
             else
                 if(
    has_click ( $wbbuserdata ) ==  false ) {
                    print(
    '
                    <form action="index.php?cl=true" method="post" style="margin 0;">
                                 <input type="hidden" name="sub" value="mit" />
                            <input type="image" src="dein banner" class="banner" />
                    </form>
                    '
    );
                     }
                     else print(
    '<img src="dein banner" border="0" />' );
             }

    ?>
    sorry für die verschobenen zeilen, liegt am phase5 ....

    aja eine neue tabelle in der mysql brauchste auch:
    Code:
    CREATE TABLE `vote` (
    `username` VARCHAR( 255 ) NOT NULL,
    `userid` INT( 11 ) NOT NULL,
    `datum` VARCHAR( 20 ) NOT NULL
    ) ENGINE = MYISAM ;
    keine garantie auf funkionalität!
     
  21. #20 9. April 2007
    AW: Nach dem klicken auf eine Grafik soll eine andere angezeigt werden(schlecht erklä

    Murdoc ist das fürs wbb?

    kannste mir vielleicht ne kleine einleitung in die datenbank klasse geben?
     
  22. #21 9. April 2007
    AW: Nach dem klicken auf eine Grafik soll eine andere angezeigt werden(schlecht erklä

    naja ich habs selber nicht geteset und die variablen hab ich aus dem wbb genommen, sollte also so hinhauen.
     
  23. #22 9. April 2007
    AW: Nach dem klicken auf eine Grafik soll eine andere angezeigt werden(schlecht erklä

    @Murdoc:
    Danke schonmal für dein Script. Ich hab schon n Fehler gefunden^^
    window.loaction="index.php";</script>');
    muss heißen location. Naja egal.
    Ist das jetzt so, dass NUR Gäste voten können?
    Weil so soll das ja nicht sien, ich will ja das alle Leute voten können.
    Es soll lediglich eine andere Grafik in der Navigation nachdem voten.php geklickt wurde.

    Trotzdem schonmal danke für deine Mühe, hast ne gute Bewertung bekommen!
     
  24. #23 9. April 2007
    AW: Nach dem klicken auf eine Grafik soll eine andere angezeigt werden(schlecht erklä

    nur angemeldete mitglieder können voten
     
  25. #24 17. April 2007
    AW: Nach dem klicken auf eine Grafik soll eine andere angezeigt werden(schlecht erklä

    Teil der ins Template gebastelt wird, wo der Button hängt
    PHP:
    # User ist eingeloggt
    if (isset( $_COOKIE [ 'gfxsector_userid' ])) {
        if (isset(
    $_COOKIE [ 'gfxsector_votebutton' ])) {
            
    # User hat votebutton geklickt
            
    echo  "<img src=\"button.gif\" alt=\"Voten!\" />" ;
        } else {
            echo 
    "<img src=\"button_flash.gif\" alt=\"Voten!\" />" ;
        }
    } else {
        
    # Blinkebutton dauernd anzeigen
        
    echo  "<img src=\"button_flash.gif\" alt=\"Voten!\" />" ;
    }
    Das hier kommt ganz am Anfang der voten.php
    PHP:
    setcookie ( "gfxsector_votebutton" "1" time ()+ 86400 );  # Akutelle Zeit + 24 Stunden
     

  26. Videos zum Thema
Die Seite wird geladen...
  • Annonce

  • Annonce