Dynamisches Bewertungssystem mit Ajax

…ist eine Skriptsprache, die die Möglichkeiten von HTML stark erweitert. Sie wird eingesetzt, um Internet-Seiten flexibel und interessant gestalten zu können. Beispiel: Formulare mit Berechnungsfunktionen / animierte Schaltflächen oder einfach fallender Schnee. - Fragen - Antworten –Tipps hier hinein...

Moderator: lauras

Beiträge bitte im neuen Forum

Dynamisches Bewertungssystem mit Ajax

Beitragvon Yamram » Donnerstag 8. Dezember 2011, 18:49

Hey Leute,

gleich zum Anfang mal: Wo kann ich ordentlich Ajax lernen? Gibt es da vielleicht ein bestimmtes Buch, das jemand mir empfehlen kann oder eine Webseite? Bisjetzt habe ich nur von http://ajax.frozenfox.at/ und http://www.webmaster-crashkurs.de/ gehört. Leider finde ich die beide nicht so toll. Das erste ist da schon besser, aber da ist immer noch zu wenig erklärt.

Ich möchte ein relativ "statisches" PHP Skript mit Ajax so umsetzen, dass man die Seite index.php nicht neuladen muss. Bei einem Webprojekt werden auf der Startseite Sprüche vorgestellt. Jede Woche oder so soll es einen Spruch geben. Diesen aktuellen Spruch können die Besucher dann entweder liken (wie bei facebook) oder haten (d. h. nicht mögen). Das ganze System habe ich wie gesagt mit PHP umgesetzt.

Unbenannt.PNG
Unbenannt.PNG (10.42 KiB) 160-mal betrachtet


Doch, wie kann ich es jetzt so machen, dass der User einfach zum Beispiel "Mag ich nicht :(" drückt und dann folgende Meldung erscheint:

Unbenannt2.PNG
Unbenannt2.PNG (10.53 KiB) 160-mal betrachtet


Die Seite soll natürlich nicht neu geladen werden. Auf der oben gennanten Seite (http://ajax.frozenfox.at/) habe ich etwas von REQUESTS gelesen. Jedoch finde ich, dass das zu wenig erklärt ist.

Mit freundlichen Grüßen und Hoffen auf Hilfe,
Philipp E.
Benutzeravatar
Yamram
HTML-Sonderfall
 
Beiträge: 616
Registriert: Samstag 5. Februar 2011, 20:05
Wohnort: C:\Users\Yamram\Desktop\Papierkorb.ink

Re: Dynamisches Bewertungssystem mit Ajax

Beitragvon webmaster3000 » Donnerstag 8. Dezember 2011, 19:53

So schwierig ist es doch nicht:
  1. XMLHttpRequest-Objekt erzeugen
  2. Request öffnen (request.open)
  3. Request absenden (request.send)
  4. Empfangene Daten auswerten
Ein Tipp: Den Request nicht asyncron machen, damit das Script wartet, bis der Request fertig ist:
Code: Alles auswählen
request.open("get|post",url,false);


Kann sein, dass ich da was vergessen habe, bin auch kein Ajax-Experte.

Hoffe, ich konnte helfen,
webmaster3000
webmaster3000
HTML-Doctor
 
Beiträge: 257
Registriert: Donnerstag 29. September 2011, 16:32
Wohnort: Irgendwo in Thüringen

Re: Dynamisches Bewertungssystem mit Ajax

Beitragvon Yamram » Donnerstag 8. Dezember 2011, 19:59

Naja, wenn man keine Ahnung von Ajax hat, dann ist es nicht so leicht^^

Schritt 1:
Code: Alles auswählen
var request = new XMLHttpRequest();

Das verstehe ich selbstverständlich.

Schritt 2:
Code: Alles auswählen
request.open('post', 'statement.php', false);

Das REQUEST Objekt wird jetzt geöffnet. Das post ist einfach die Methode, statement.php ist die URL der "im Hintergrund aufzurufenden Datei" und false gibt was an? Gibt es an, dass es nicht asynchron laufen soll?

Schritt 3:
Code: Alles auswählen
var input = ...;
request.send(input);

Das wird dann an die Datei gesendet. Doch wie kann ich das darein packen?
Benutzeravatar
Yamram
HTML-Sonderfall
 
Beiträge: 616
Registriert: Samstag 5. Februar 2011, 20:05
Wohnort: C:\Users\Yamram\Desktop\Papierkorb.ink

Re: Dynamisches Bewertungssystem mit Ajax

Beitragvon Basiii » Donnerstag 8. Dezember 2011, 21:03

Stop! Stop! Stop!

Schritt 1: Lerne JavaScript

Schritt 2: Du wirst alles verstehen was auf http://ajax.frozenfox.at/ zu finden ist, denn dann kannst du die Beispiele nachvollziehen.
Benutzeravatar
Basiii
HTML-Acrobat
 
Beiträge: 1139
Registriert: Dienstag 12. Januar 2010, 13:57

Re: Dynamisches Bewertungssystem mit Ajax

Beitragvon webmaster3000 » Freitag 9. Dezember 2011, 15:33

Basiii hat geschrieben:Schritt 1: Lerne JavaScript

Uneingeschränkt der beste Weg.

Dennoch: wenn du Daten Senden willst, musst du in dein Skript noch
Code: Alles auswählen
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

reinpacken.
Außerdem muss die variable input so in Art aussehen: name=wert&name2=wert&name=wert ...

Und ja, das false in open() gibt an, dass es nicht asynchron abläuft, d. h. dein Skript wartet, bis die Antwort kommt.
webmaster3000
HTML-Doctor
 
Beiträge: 257
Registriert: Donnerstag 29. September 2011, 16:32
Wohnort: Irgendwo in Thüringen

Re: Dynamisches Bewertungssystem mit Ajax

Beitragvon drPHIP132 » Freitag 9. Dezember 2011, 19:15

Dein script speichert die ip's wenn man das "formular" abschickt, damit mensch nicht mehrmals klicken kann. (habe meine ip geändert und schon gins wieder; so gemerkt)

hat nen fehler.....konnte 30 dislikes machen ohne ip zu verändern.....solltest du beheben :P



weiß nicht ob das sinnvoll ist, aber du könntest statt den ip's speichern sehr langlebige cookies setzten?
Dateianhänge
p_escher.JPG
Benutzeravatar
drPHIP132
HTML-Acrobat
 
Beiträge: 744
Registriert: Samstag 15. Januar 2011, 19:10
Wohnort: Sachsen, Erzgebirge

Re: Dynamisches Bewertungssystem mit Ajax

Beitragvon webmaster3000 » Samstag 10. Dezember 2011, 11:54

Wenn du die IPs speicherst, musst du aber in den Datenschutzbestimmungen darauf aufmerksam machen.
webmaster3000
HTML-Doctor
 
Beiträge: 257
Registriert: Donnerstag 29. September 2011, 16:32
Wohnort: Irgendwo in Thüringen

Re: Dynamisches Bewertungssystem mit Ajax

Beitragvon drPHIP132 » Samstag 10. Dezember 2011, 12:29

webmaster3000 hat geschrieben:Wenn du die IPs speicherst, musst du aber in den Datenschutzbestimmungen darauf aufmerksam machen.


Auch wenn man die verschlüsselt speichert?
Benutzeravatar
drPHIP132
HTML-Acrobat
 
Beiträge: 744
Registriert: Samstag 15. Januar 2011, 19:10
Wohnort: Sachsen, Erzgebirge

Re: Dynamisches Bewertungssystem mit Ajax

Beitragvon Sarkkan » Samstag 10. Dezember 2011, 12:38

Natürlich auch dann.
Du musst deinen Besucher über alle gespeicherten Daten informieren, egal ob du sie plain in eine txt schreibt oder verschlüsselt in eine Datenbank.
Benutzeravatar
Sarkkan
HTML-Acrobat
 
Beiträge: 1557
Registriert: Montag 5. April 2010, 01:46
Wohnort: Bei Köln

Re: Dynamisches Bewertungssystem mit Ajax

Beitragvon webmaster3000 » Samstag 10. Dezember 2011, 13:52

Sarkkan hat geschrieben:[...] egal ob du sie plain in eine txt schreibt oder verschlüsselt in eine Datenbank.

Der Vollständigkeit halber: es spricht nichts dagegen, sie verschlüsselt in eine Datei zu speichern.
webmaster3000
HTML-Doctor
 
Beiträge: 257
Registriert: Donnerstag 29. September 2011, 16:32
Wohnort: Irgendwo in Thüringen

Re: Dynamisches Bewertungssystem mit Ajax

Beitragvon Yamram » Samstag 10. Dezember 2011, 17:01

@Basiii: Was meinst du mit "Lerne Javascript". So viel Javascript muss man dafür ja wohl nicht können.

@drPHIP132: Komischerweise habe ich ziemlich viele Hates/ Dislikes. Woran kann das liegen? Der Code ist sauber, ich habe ihn mehreren Test ausgesetzt. Wenn man neu lädt, dann dürfte das nicht funktionieren. Außerdem stürzt mein phpMyAdmin immer ab!

@all: Stimmt, das sollte ich dann mal angeben. Aber Cookies wären vielleicht wirklich eher angebracht.
Benutzeravatar
Yamram
HTML-Sonderfall
 
Beiträge: 616
Registriert: Samstag 5. Februar 2011, 20:05
Wohnort: C:\Users\Yamram\Desktop\Papierkorb.ink

Re: Dynamisches Bewertungssystem mit Ajax

Beitragvon webmaster3000 » Samstag 10. Dezember 2011, 18:30

Yamram hat geschrieben:Aber Cookies wären vielleicht wirklich eher angebracht.

Cookies sind aber nicht zuverlässig. Man kann Browser so konfigurieren, dass sie gar nicht akzeptiert werden oder nach dem Schließen gelöscht, es ei denn, man nimmt Flash-Cookies oder Evercookies.
IPs können sich aber auch verändern.

Gruß,
webmaster3000
webmaster3000
HTML-Doctor
 
Beiträge: 257
Registriert: Donnerstag 29. September 2011, 16:32
Wohnort: Irgendwo in Thüringen

Re: Dynamisches Bewertungssystem mit Ajax

Beitragvon drPHIP132 » Samstag 10. Dezember 2011, 18:39

Yamram hat geschrieben:@drPHIP132: Komischerweise habe ich ziemlich viele Hates/ Dislikes. Woran kann das liegen? Der Code ist sauber, ich habe ihn mehreren Test ausgesetzt. Wenn man neu lädt, dann dürfte das nicht funktionieren. Außerdem stürzt mein phpMyAdmin immer ab!




15.017 sinds, nicht? Wieviele haben denn den Link bekommen? Die mögen dich wohl nicht.
Benutzeravatar
drPHIP132
HTML-Acrobat
 
Beiträge: 744
Registriert: Samstag 15. Januar 2011, 19:10
Wohnort: Sachsen, Erzgebirge

Re: Dynamisches Bewertungssystem mit Ajax

Beitragvon Sarkkan » Samstag 10. Dezember 2011, 23:54

Yamram hat geschrieben:@Basiii: Was meinst du mit "Lerne Javascript". So viel Javascript muss man dafür ja wohl nicht können.

Auch wenn dies an Basiii ging, antworte ich mal:
Doch, dafür sollte man schon so ein wenig Grundkenntnisse haben. Schließlich musst du erst einmal das Grundverständnis dafür haben, was du da machst und wieso.
Also was es mit dem "onreadystatechange = function(){}" z.B auf sich hat und wie du das Ergebnis deiner Ausfrage auswertest bzw. die Richtigen Daten an den Server übermittelst.
Ich meine.. natürlich kannst du in PHP direkt anfangen dich an die Datenbankschnittstelle zu wagen, was aber schwierig wird, wenn du keinen Plan von Variabeln, Grundlagen und Co in PHP hast :wink:

Yamram hat geschrieben:Außerdem stürzt mein phpMyAdmin immer ab!

Ich gehe mal davon aus, dass dein phpMyAdmin so konfiguriert ist, dass es versucht alle Einträge zu laden?
Klingt auf jeden Fall so, wenn du viele Einträge hast und es immer abschmiert. Wenn es nicht daran liegt einfach noch mal neu installieren?
Benutzeravatar
Sarkkan
HTML-Acrobat
 
Beiträge: 1557
Registriert: Montag 5. April 2010, 01:46
Wohnort: Bei Köln

Re: Dynamisches Bewertungssystem mit Ajax

Beitragvon Yamram » Sonntag 11. Dezember 2011, 16:19

@webmaster3000: Tja, anscheinend gibt es immer einen Weg!

@drPHIP132: Den Link haben maximal 10 Leute bekommen, ich glaube eher, da hat jemand, der mehr Ahnung hat als ich, sich einen Scherz erlaubt. Naja, ich habe die Funktion sowieso rausgenommen.

@Sarkkan: Grundkenntnisse in Javascript habe ich, könnte aber nicht schaden, das mal zu wiederholen. Ja, aber wie installiere das neu auf einem Freehoster?
Benutzeravatar
Yamram
HTML-Sonderfall
 
Beiträge: 616
Registriert: Samstag 5. Februar 2011, 20:05
Wohnort: C:\Users\Yamram\Desktop\Papierkorb.ink

Nächste

Beiträge bitte im neuen Forum

Zurück zu JavaScript

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron