onclick in php?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • onclick in php?

    hallo.

    ich würde gerne etwas in php verwirklichen, weis aber leider nicht, ob dies ausserhalb von js in php funktioniert.
    ich habe einen textlink (ganz normal)
    <a href="http://www.fdsafasdf.de" >ffsadf</a>

    nun möchte ich, dass jedesmal wenn man draufklickt eine zahl hochgezählt wird.
    vom zählen her ist das kein problem. meine frage ist, wie ich es schaffe das es nur beim klicken auf den link passiert.
    Webdesign und Webentwicklung - Plunix.de

  • #2
    Hä ? Eine Zahl mittels JS beim onclick hochzählen, ist doch kein Problem. Wenn du es unbedingt mit PHP machen musst, dann am besten mittels AJAX einen Request abesetzen und die Zahl als Parameter mit übergeben. PHP zählt dann eins hoch und gibt die neue Zahl als response, welche du mit JS weiterverarbeiten kannst.
    Oder verstehe ich dein Problem jetzt hinten und vorne ned ???

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      wollte nur wissen, ob es in php eine function gibt, eins hochzuzählen wenn auf einen link geklickt wird. deine antwort war ausreichen das ich verstanden habe nein.

      ich kann leider nicht auf der neuen seite empfangen da das eine externe ist. wenn müsste es auf der alten bleiben. hätte ich mir aber auch denken können.

      close
      Webdesign und Webentwicklung - Plunix.de

      Kommentar


      • #4
        Re: onclick in php?

        Original geschrieben von Lennie
        meine frage ist, wie ich es schaffe das es nur beim klicken auf den link passiert.
        du meinst also, wenn http://www.fdsafasdf.de direkt aufgerufen wird, soll nichts gezählt werden?

        quick and dirty: referer-check

        ansonsten: sessions bzw. cookies nutzen

        Kommentar


        • #5
          PHP kennt das Konzept des Clicks nicht, das ist eine clientseitige Sache.
          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

          Kommentar


          • #6
            PHP-Code:
            //index.php:
            function hochdenzaehler($zahl)
            {
             
            $zahl++;
             return 
            $zahl;
            }

            echo 
            "<form action='index.php' method='post'>";
            echo 
            "<input type='hidden' name='zahl' value='".hochdenzaehler($_POST['zahl'])."'></input>";
            echo 
            "Zahl: ".$_POST['zahl'];
            echo 
            "<input type='submit' value='hochzaehlen'></input>";
            echo 
            "</form>"

            ok, ok ich hör auf für heute

            edith sagt: ups, das ganze übersetzen mit GET statt POST und dann als LINK statt FORM-POST
            **********
            arkos
            **********

            Kommentar


            • #7
              sorry arkos, sowas meinte ich nicht. auf die empfäger seite habe ich keinen zugriff.
              dies ist wie jahlives sagt nciht möglich.
              Webdesign und Webentwicklung - Plunix.de

              Kommentar


              • #8
                dann machs doch wie jahlives sagt per js...
                **********
                arkos
                **********

                Kommentar


                • #9
                  also mit AJAX kannman die Klicks zählen
                  wenn die Interese da ist, dann kann ich das auch zeigen
                  Slava
                  bituniverse.com

                  Kommentar


                  • #10
                    habe nicht viel erfahrung mit ajax, wenn es serverseitig sein sollte immer her damit. aber wenn du mir was zeigenwillst, dann poste mir doch bitte auch einen link wo ich erstmal grundlegenes wie beschreibung zu ajax finde. thx
                    Webdesign und Webentwicklung - Plunix.de

                    Kommentar


                    • #11
                      http://wiki.xajaxproject.org/Tutoria..._in_10_Minutes

                      Kommentar


                      • #12
                        Original geschrieben von Lennie
                        habe nicht viel erfahrung mit ajax, wenn es serverseitig sein sollte immer her damit. aber wenn du mir was zeigenwillst, dann poste mir doch bitte auch einen link wo ich erstmal grundlegenes wie beschreibung zu ajax finde. thx
                        AJAX ist ein ActiveX object, der erlaubt ein request mit javascript zu erzeugen, als auch response auslesen.
                        Vorteil: du kannst dein request ohne fenster neuzulande auslösen.

                        hier habe ich dir extra ein beispiel geschrieben, wie man php-seitig, aber mit hilfe von AJAX, die Klicks mit einem Script gezählt werden.
                        PHP-Code:
                        <?php session_start();
                        if(isset(
                        $_GET['zufal'])){
                          
                        //hier ist server. hier zähle ich die klicks
                          
                        if(!isset($_SESSION['klick']))$_SESSION['klick']=0;
                          echo ++
                        $_SESSION['klick']." mal gecklickt\nServerdatum und Zeit: "
                          
                        .date("d.m.Y H:i s");
                        }
                        //ende von server
                        //hier ist client
                        else{
                         
                        ?>
                        <html><head>
                        <script type="text/javascript" language="javascript">
                        var typ=false;
                            function makeRequest(url) {
                                 http_request = false;
                               if(typ)http_request=eval(typ);
                               else{ 
                                if (window.XMLHttpRequest) { // Mozilla, Safari, ...
                                    http_request = new XMLHttpRequest();
                                    typ="new XMLHttpRequest();";
                                    if (http_request.overrideMimeType) {
                                        http_request.overrideMimeType('text/xml');
                                    }
                                } else if (window.ActiveXObject) { // IE
                                    try {
                                        http_request = new ActiveXObject("Msxml2.XMLHTTP");
                                        typ="new ActiveXObject('Msxml2.XMLHTTP');";
                                    } catch (e) {
                                        try {
                                            http_request = new ActiveXObject("Microsoft.XMLHTTP");
                                            typ="new ActiveXObject('Microsoft.XMLHTTP');";
                                        } catch (e) {typ=false;}
                                    }
                                }
                                }
                                if (!http_request) {
                                    alert('Problem bei Erzeugen XMLHTTP-instance');
                                    return false;
                                }
                                session="<?php echo session_name()."=".session_id(); ?>";
                                http_request.onreadystatechange = function() { alertContents(http_request); };
                                http_request.open('GET', url+"?"+session+"&zufal="+Math.random(), true);
                                http_request.send(null);

                            }

                            function alertContents(http_request) {

                                if (http_request.readyState == 4) {
                                    if (http_request.status == 200) {
                                        alert(http_request.responseText);
                                    } else {
                                        alert('Problem mit request.');
                                    }
                                }

                            }
                        </script>
                        </head>
                        <body>
                        <span
                            style="cursor: pointer; text-decoration: underline"
                            onclick="makeRequest('<?php echo $_SERVER['PHP_SELF']; ?>');">
                                Make a request
                        </span>
                        </body>
                        </html>
                        <?php ?>
                        Slava
                        bituniverse.com

                        Kommentar


                        • #13
                          Original geschrieben von Slava
                          AJAX ist ein ActiveX object
                          OffTopic:
                          Nur in ganz dummen Browsern ... in anderen ist es ein natives Javascript-Objekt, wie auch aus dem Code ersichtlich.
                          I don't believe in rebirth. Actually, I never did in my whole lives.

                          Kommentar


                          • #14
                            und Du glaubst ernsthaft, daß so was ein Anfänger versteht ???

                            Kommentar


                            • #15
                              Einverstanden mit @wahsaga

                              @koala
                              ein Anfänger wird irgendwann ein Profie sein
                              Zuletzt geändert von Slava; 08.10.2006, 18:22.
                              Slava
                              bituniverse.com

                              Kommentar

                              Lädt...
                              X