tropenberta: star rating

hi leuts

ich würde mal gerne ein rating system auf meiner seite einbauen.

leider haut das alles irgendwie nicht hin. momentan hab ich es soweit :

http://p166753.webspaceconfig.de/test/rating/rating.html

ich kann ne bewertung abgeben, wenn ich die seite neu lade ist diese aber verworfen.

da muss doch irgendwie gespeichert werden das der user schon ne bewertung abgegeben hat, bzw muss der user irgendwie erkennen können wieviele votes auf nen artikel bereits gemacht wurden und wie die zwischensumme davon ausschaut.

wie kann ich so etwas umsetzen ?

gruss micha

  1. da muss doch irgendwie gespeichert werden

    Musst Du eben die API lesen.

    Cheers,
    Baba

    1. hi baba

      danke für deine antwort.
      bin jetzt auch soweit ( mit nem anderen tutorial ).

      http://p166753.webspaceconfig.de/test/rating2/rating.html

      leider hab ich noch ein problem mit der db. (strato - mysql)

      folgendes script muss ich anpassen:

      <?php  
      //settings for  5 Star Rating System with PHP , MySQL ,Jquery and Ajax  
      $rating_tableName     = 'ratings';  
      $rating_unitwidth     = 15;  
      $rating_dbname        = 'xxx';  
      $units=5;  
      function connect(){  
          $host="localhost";  
      $uname="xxx";  
      $pass="abc123";  
      $rating_dbname        = 'xxx';  
        
      $con = mysql_connect($host,$uname,$pass);  
      ....  
      
      

      wenn ihr euch mein beispiel anschaut und ne bewertung abgebt bekommt ihr nen fehler zurück.

      und zwar geb ich den $host falsch an glaub ich.

      in der db verwaltung hab ich "ratings.sql" importiert, also tabelle exestiert.

      hab auch probiert den host mit 127.0.0.1 anzugeben, was auch nicht ging.

      pls hlp.

      gruss micha

      1. $host = 'rdbms.strato.de';

        Informationen von der STRATO FAQ.

        Gruss braini

        1. hi braini

          vielen dank für deine antwort.

          hab ich vorher schonmal ausprobiert, funzt leider auch nicht. (habs natürlich nach dem ich deine antwort gelesen hatte nochmal probiert)

          http://p166753.webspaceconfig.de/test/rating2/rating.html

          kurze verständnisfrage : wenn ich im browser die php datei ansteuere passiert doch folgendes:

          anfrage von host an den server
          server führt php skript aus
          im skript steht -  mit dem host verbinden

          wenn ich doch als host jetzt localhost oder 127.0.0.1 angebe, schickt doch der server ne anfrage an den dns und löst die adresse auf.
          sprich 127.0.0.1 ist doch das gleiche wie rdbms.strato.de.

          bitte korrigiert mich wenn ich da was falsch verstehe.

          hab natürlich auch mal nach der fehlermeldung gegoogelt, was mich irgendwie auch nicht weiter gebracht hat.

          Could not connect: Lost connection to MySQL server at 'reading initial communication packet', system error: 104

          hier noch mal das skript:

            
          <?php  
          $rating_tableName     = 'ratings';  
          $rating_unitwidth     = 15;  
          $rating_dbname        = 'xxx';  
          $units=5;  
          function connect(){  
                  $host="localhost";  
           $uname="xxx";  
           $pass="abc123";  
           $rating_dbname        = 'xxx';  
            
          $con = mysql_connect($host,$uname,$pass);  
            
          if (!$con)  
            {  
            die('Could not connect: ' . mysql_error());  
            }  
          mysql_select_db($rating_dbname, $con);}  
          
          

          was mir jetzt aufgefallen ist, hab fast keine erfahrung mit php, aber es ist kein schliesendes php tag verhanden ( ?> ). ist das nicht zwingend notwendig ?

          ich hoffe ihr könnt mir bissl weiter helfen.

          gruss
          micha

          1. Hallo,

            kurze verständnisfrage : wenn ich im browser die php datei ansteuere passiert doch folgendes:

            anfrage von host an den server
            server führt php skript aus
            im skript steht -  mit dem host verbinden

            soweit klar, aber um Missverständnissen vorzugreifen: In der ersten Zeile meint "host" natürlich deinen PC, von dem du die HTTP-Anfrage stellst.

            wenn ich doch als host jetzt localhost oder 127.0.0.1 angebe, schickt doch der server ne anfrage an den dns und löst die adresse auf.

            Jein ... Grundsätzlich ja, aber wenn die IP-Adresse (127.0.0.1) direkt dasteht, ist eine DNS-Anfrage natürlich witzlos, und auch den Hostnamen localhost lösen die meisten Systeme über ihre /etc/hosts selbst auf, ohne einen DNS damit zu belästigen.

            sprich 127.0.0.1 ist doch das gleiche wie rdbms.strato.de.

            Vermutlich nicht. Es scheint eher so zu sein, dass Webserver und Datenbank bei Strato auf verschiedenen Servern laufen.

            was mir jetzt aufgefallen ist, hab fast keine erfahrung mit php, aber es ist kein schliesendes php tag verhanden ( ?> ). ist das nicht zwingend notwendig ?

            Nein, das ist okay so - es wird sogar oft *empfohlen*, das schließende ?> wegzulassen, wenn danach keine Ausgabe an den Client mehr folgt.

            Ciao,
             Martin

            --
            F: Was ist eigentlich aus deinem schlimmen Durchfall geworden?
            A: Mein Arzt hat mir Valium verschrieben.
            F: Und das hilft?
            A: Naja, ich mach mir immer noch in die Hose. Aber inzwischen ist es mir egal.
            Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
            1. hi bubble, hi martin

              vielen dank für eure antworten.

              bin wieder bissl schlauer als vorher.

              aber zurück zu meinen eigentlichen problem.

              ich hab bei host jetzt rdbms.strato.de eingetragen

              hab meine db, user und passwort angegeben

              hab in mysql die tabelle importiert.

              aber trotzdem bekomm ich ne fehlermeldung.

              muss ich noch irgendetwas anderes beachten wenn ich mich mit der db verbinden möchte.

              hab mich denk ich mal genau an die strato faq gehalten.

              kann das eventuell irgendwie mit den benutzerrechten zu tun haben.
              hab mich mal bei mysql umgeschaut, konnte aber leider keine optionen zum einstellen der rechte finden. ( ist zwar peinlich aber ich hab mich gestern das erstemal mit mysql auseinander gesetzt und hab auch so keine erfahrungen mit db systemen  )

              gruss
              micha

          2. hi braini

            vielen dank für deine antwort.

            hab ich vorher schonmal ausprobiert, funzt leider auch nicht. (habs natürlich nach dem ich deine antwort gelesen hatte nochmal probiert)

            http://p166753.webspaceconfig.de/test/rating2/rating.html

            kurze verständnisfrage : wenn ich im browser die php datei ansteuere passiert doch folgendes:

            anfrage von host an den server
            server führt php skript aus
            im skript steht -  mit dem host verbinden

            Falsch,
            der Browser sendet eine Anfrage an den Server (bzw. dessen Webserver)
            der Webserver, führt das PHP-Script aus
            PHP stellt eine Verbindung mit dem MySQL Server her (wenn alles glatt läuft)
            PHP beendet seine Arbeit
            Webserver sendet das Resultat an den Browser.

            wenn ich doch als host jetzt localhost oder 127.0.0.1 angebe, schickt doch der server ne anfrage an den dns und löst die adresse auf.

            Ich glaub bei localhost sollte man nicht von DNS sprechen, AFAIK steht localhost einfach in der hosts-Datei des Betriebssystem.
            Wenn da eine Domain an eine IP gebunden wird, wird der Domain-Name nicht weiter bei irgendwelchen DNS-Servern abgefragt,

            sprich 127.0.0.1 ist doch das gleiche wie rdbms.strato.de.

            Der MySQL-Server muss nicht auf dem Rechner installiert sein, sondern auf einem anderen. Dann wäre rdbms.strato.de auch nicht der localhost bzw. 127.0.0.1 und das wird bei Strato wohl der Fall sein.
            Ob rdbms.strato.de nun via DNS aufgelöst wird oder in den jeweiligen hosts-Dateien der Server steht ist für dich jedoch irrelevant.

            was mir jetzt aufgefallen ist, hab fast keine erfahrung mit php, aber es ist kein schliesendes php tag verhanden ( ?> ). ist das nicht zwingend notwendig ?

            Nö, es ist sogar (teilweise) ratsam ?> weg zu lassen, um z.B. zu verhindern, dass irgendwelche Whitespaces mit in den Inhalt geraten

            MfG
            bubble

            --
            If "god" had intended us to drink beer, he would have given us stomachs. - David Daye
            1. Hallo,

              anfrage von host an den server
              server führt php skript aus
              im skript steht -  mit dem host verbinden

              Falsch,
              der Browser sendet eine Anfrage an den Server (bzw. dessen Webserver)
              der Webserver, führt das PHP-Script aus
              PHP stellt eine Verbindung mit dem MySQL Server her (wenn alles glatt läuft)
              PHP beendet seine Arbeit
              Webserver sendet das Resultat an den Browser.

              worin besteht jetzt der Unterschied zwischen deiner Darstellung und der von Micha "tropenberta"? - Mal abgesehen davon, dass du noch zwei Schritte richtig hinzugefügt hast?

              Wenn da eine Domain an eine IP gebunden wird, wird der Domain-Name nicht weiter bei irgendwelchen DNS-Servern abgefragt,

              Was meinst du damit??

              Ciao,
               Martin

              --
              F: Was sagt der große Keks zum kleinen Keks?
              A: Du kannst dich jetzt verkrümeln.
              Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
              1. anfrage von host an den server
                server führt php skript aus
                im skript steht -  mit dem host verbinden

                Falsch,
                der Browser sendet eine Anfrage an den Server (bzw. dessen Webserver)
                der Webserver, führt das PHP-Script aus
                PHP stellt eine Verbindung mit dem MySQL Server her (wenn alles glatt läuft)
                PHP beendet seine Arbeit
                Webserver sendet das Resultat an den Browser.

                worin besteht jetzt der Unterschied zwischen deiner Darstellung und der von Micha "tropenberta"? - Mal abgesehen davon, dass du noch zwei Schritte richtig hinzugefügt hast?

                Na, dass nicht der host eine Anfrage sendet, sondern der Browser (bzw. allgemeiner Client).
                Jetzt im Nachhinein muss ich aber zugeben, dass "Falsch" das falsche Wort ist.

                Wenn da eine Domain an eine IP gebunden wird, wird der Domain-Name nicht weiter bei irgendwelchen DNS-Servern abgefragt,
                Was meinst du damit??

                Damit wollt ich sagen, dass wenn man eine Domain samt IP in die hosts-Datei einträgt, keine DNS-Anfrage mehr geschieht.

                MfG
                bubble

                --
                If "god" had intended us to drink beer, he would have given us stomachs. - David Daye