Autor Beitrag
pupu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 104

WinXP
Borland Delphi 7, Turbo Pascal 7
BeitragVerfasst: Di 03.10.06 14:20 
Hi...welcher PHP kundige hilft mir einen Online Highscore für mein Spiel zu erstellen? Ich müsste denn ja quasi meine Einsortieren routine in PHP umschreiben und was weiß ich...ich hab eber überhaupt keine ahnung wie ich das machen soll :-/ weil ich überhaupt keine ahnung von PHP hab

Das wär echt geil wenn sich jemand finden würde weil alle meiner freunde drängen mih dazu einen Online Highscore zu machen aber ich KANN sowas alleine nicht...

Bitte meldet euch hier per PN oder über icq 256-329-370 bei mir um weiteres zu besprechen

(mir reicht ein VÖLLIG SIMPLER highscore, der einfach nur online abrufbar ist und sowas...(ihr wisst schon was ich meine ;) ) ansOnsten fragt nach

Danke jetzt schonmal


Zuletzt bearbeitet von pupu am Di 03.10.06 15:26, insgesamt 1-mal bearbeitet
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: Di 03.10.06 14:41 
ich habe auch gar keine ahnung von PHP. Ich würds aber einfach so machen, dass ich ne Datei auf den Server leg, und jeder Client zieht sich die dann immer, oder schreibt was rein. Villeicht mit nem prog aufm Server der eingehende Highscores /Highscorenachfragen verwaltet

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
Spaceguide
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 552


(D3/D7/D8) Prof.
BeitragVerfasst: Di 03.10.06 14:50 
Am saubersten wäre es, wenn du ein PHP oder anderes Skript auf dem Server anstösst, welches die Score in eine Datenbank einpflegt und eventuell die niedrigsten Scores löscht, wenn eine gewisse Anzahl an Scores überschritten wird. Das Skript sollte als Parameter Name, Score und eine Checksumme als Parameter entgegennehmen, um Manipulationen zu erschweren. Die sortierte Highscore-Liste kannst du dann mit einem einfachen SQL-Befehl auslesen. Alternativ kannst du das auch händisch mit einer Datei auf dem Server machen, die der Skript modifiziert. Aber da auch billige Webspaces heute eine Datenbank bieten, finde ich die erste Lösung besser.
pupu Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 104

WinXP
Borland Delphi 7, Turbo Pascal 7
BeitragVerfasst: Di 03.10.06 15:43 
Ok aber ich hab nach wie vor keine Ahnung von PHP und SQL und das alles ;) deshalb frag ich ja ob mir jemand solche ein script proggen kann... es werden auch nicht mehr Parameter als Name und Punkte übergeben...halt was mega simples...
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Di 03.10.06 22:41 
Moin!

Hast du DSL/Flatrate? Dann könntest du dir auch einen DNS-Alias zulegen (www.dyndns.org) und das ganze mit einem Delphi-Programm über deinen eigenen PC abwickeln. ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
pupu Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 104

WinXP
Borland Delphi 7, Turbo Pascal 7
BeitragVerfasst: Mi 04.10.06 15:12 
Da bräuchte ich aber unterstüzung bei denk ich ma... wär nett wenn sich einer mit mir in verbindung setzen kann der sowas schonmal gemacht hat
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 04.10.06 15:24 
Moin!

user profile iconpupu hat folgendes geschrieben:
Da bräuchte ich aber unterstüzung bei denk ich ma... wär nett wenn sich einer mit mir in verbindung setzen kann der sowas schonmal gemacht hat

Was denn? ;)

DNS-Alias anlegen oder eine Netzwerkanwendung schreiben? :D

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
pupu Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 104

WinXP
Borland Delphi 7, Turbo Pascal 7
BeitragVerfasst: Mi 04.10.06 15:27 
An eine Netzwerkanwendung hatte ich mich mithilfe deines Tutorials mal rangewagt (bin jetzt nur nich mehr drin weil ich das nicht zuende gemacht hab (warum auch immer ;) ))

Also ich hab da jetzt einen Account (Dynamic DNS)

Was jetzt?
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 04.10.06 15:33 
Moin!

Hast du einen Router? Wenn ja, unterstützt der dynamische DNS-Dienste (z.B. Netgear)?

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
pupu Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 104

WinXP
Borland Delphi 7, Turbo Pascal 7
BeitragVerfasst: Mi 04.10.06 16:07 
Also ich hab unter "Internet" die Einstellungsmöglichkeit "Dynamic-DNS"...

Was muss ich da unter "domainnamen" eintragen? Was passiert genau wenn ich das einstell? Was für gefahren und was für Vorteile hab ich dadurch?

EDIT: hab "FritzBox FON WLAN" ;)

_________________
Chuck Norris bekommt bei Praktiker auch auf Tiernahrung 20% oO
Horschdware
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 744
Erhaltene Danke: 54

Win XP Pro, Win 7 Pro x64
Delphi 7, Delphi XE, C++ Builder 5, SAP R/3
BeitragVerfasst: Mi 04.10.06 16:34 
hmm... so schwierig ist das ganze in PHP nicht.
Gedankenspielerei:
Schnapp dir eine Textdatei, die du auf dem Server ablegst.
Darin speicherst du einzelne Zeilen wie z.b.

highscore.txt
ausblenden Quelltext
1:
2:
3:
Mark, 210
Hans, 98
Jeanette, 332


Das ganze kannst du später wieder auslesen und die interessanten Werte anzeigen lassen.
Ist ein Spieler bereits in der Liste, so kann man ja "seine Zeile" heraussuchen und ihm eine
neue Punktezahl hinzuschreiben.

Wie das ganze gehen soll?
Übergib die Daten, die ins Log zu schreiben sind dem PHP Skript.
z.B. so:
ausblenden Quelltext
1:
http://www.meinedomain.tld/highscores.php?user=Hans&score=98					


dann müsste dein Script etwas in dieser Richtung tun:

highscore.php
ausblenden volle Höhe Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
<?php
  $user = $HTTP_GET_VARS['user'];          
  $score = $HTTP_GET_VARS['score'];
  $highscore_file = 'highscores.txt';
  
  if (($user != "") & ($score != ""))
  {
    $highscores = file ('highscores.txt');
    $newhighscore  = $user . ' , ' . $score . "\r\n"
    
    $i = 0;
    $user_exists = false;
    
    while ((!$user_exists) && ($i <= count($highscores)))
    {                
      if (strpos($log_lines[$line_index],$nl_item) > 0)
        $user_exists = true;
      else
        $i += 1;            
    }
      
    if ($user_exists == true)
    {        
      $highscores[$i] = $newhighscore;        
    }
    else
    {
      $highscores .= $newhighscore;      
    } 

      $handle = fopen($logfile,"w");
      foreach ($highscores as $highscore)
        fwrite($handle, $highscore);
      fclose($handle);  
  }
  

?>


Keine Garantie auf Funktionalität oder Performance. Hab das schnell in Notepad dahergeschrieben.
Sollte so aber das Problem lösen können.

Jetzt muss das ganze nur noch mit entsprechenden Parametern durch das Programm aufgerufen werden um neue Highscores hinzuzufügen. Denkbar ist jetzt eine Schutzfunktion, die URL Manipulation verhindert (hash-wert aus user und score Wert), sowie eine Auswertung. Die könnte wahlweise wieder in PHP erfolgen oder in einem separaten Programm, das sich die highscore.txt vom Server lädt...

_________________
Delphi: XE - OS: Windows 7 Professional x64
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 04.10.06 17:08 
Moin!

user profile iconpupu hat folgendes geschrieben:
hab "FritzBox FON WLAN" ;)

Sorry, mit dem Router kenn ich mich nicht aus. :( (kann dir nur bei LANCOM helfen und evtl. noch bei Netgear)

Vielleicht hat aber jemand anders hier auch so ein Ding und betreibt einen dynamischen DNS-Alias. ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
freak4fun
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 604
Erhaltene Danke: 4

Win 7 Pro
VS 2013 Express, Delphi, C#, PHP, Java
BeitragVerfasst: Mi 04.10.06 17:11 
Wenn du Datenbanken in Delphi kannst, gibts hier eine Datenbank, die du per Delphi steuern kannst, ganz ohne php. ;)

MfG
freak

_________________
"Ich werde auf GAR KEINEN Fall…!" - "Keks?" - "Okay, ich tu's."
i++; // zaehler i um 1 erhoehen
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 04.10.06 17:13 
Moin!

@user profile iconfreak4fun: Was nutzt ihm denn eine Datenbank, wenn er die Daten noch nichtmal transportiert bekommt... :nixweiss: ;)
Für seine Zwecke reicht doch schon eine INI-Datei aus, aber das Rein und Raus ist das Problem. :D

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
freak4fun
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 604
Erhaltene Danke: 4

Win 7 Pro
VS 2013 Express, Delphi, C#, PHP, Java
BeitragVerfasst: Mi 04.10.06 17:24 
user profile iconNarses hat folgendes geschrieben:
Moin!

@user profile iconfreak4fun: Was nutzt ihm denn eine Datenbank, wenn er die Daten noch nichtmal transportiert bekommt... :nixweiss: ;)
Für seine Zwecke reicht doch schon eine INI-Datei aus, aber das Rein und Raus ist das Problem. :D

cu
Narses


Dann hab ich glaub ich das Problem nicht ganz verstanden. Ich dacht er kommt nicht an die Datenbank oder so ewas heran. Es reicht doch, wenn er sich die Daten vom Server abholt und im Programm selbst darstellt. Dann brauch er auch kein Webspace und sowas. Außerdem hat es den gleichen Effekt, alle können sehen wie gut alle sind. Vom Präsentieren auf seine Homepage war doch nicht die Rede, oder? Ich hab es so gesehen, das er sich überlegt hat wie er die Daten online speichern kann und kam dann auf php, meine Lösung würde halt nur noch früher ansetzen. Wenn ich das falsch verstanden hab korrigiert mich bitte.

MfG
freak

_________________
"Ich werde auf GAR KEINEN Fall…!" - "Keks?" - "Okay, ich tu's."
i++; // zaehler i um 1 erhoehen
pupu Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 104

WinXP
Borland Delphi 7, Turbo Pascal 7
BeitragVerfasst: Mi 04.10.06 18:30 
ähm m prinzip wär beides möglich aber eigentlich wollte ich einmal einen persönlichen Highscore in das programm einbauen
und eine möglichkeit den Score an einen Highscore der im Internet liegt zu schicken, der vonn allen (auch den nicht-beteiligten) einsehbar ist...quasi eine seite im Internet auf der der Highscore angezeigt wird...

Im Prinzip ändert sich doch nicht viel ob ich das nu mit FritzBox oder mit einem anderen Router einstell... den "domainnamen" muss man doch bei jedem router einstellen denk ich ma...

aber das grundsätzliche was mir dieser Dynamische DNS bringt und was ich davon habe? das kann man doch auch beantworten wenn man nich die FritzBox hat oder? ;)

wie muss ich weiter vorgehen wenn ich alles in der FritzBox konfiguriert hab?

_________________
Chuck Norris bekommt bei Praktiker auch auf Tiernahrung 20% oO
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 04.10.06 20:17 
Moin!

user profile iconpupu hat folgendes geschrieben:
quasi eine seite im Internet auf der der Highscore angezeigt wird...

Dann brauchst du auch noch einen Webserver, der diese Seite hostet. Kannst du entweder auch auf deinem PC laufen lassen (siehe Suche bei Google XAMPP), oder du nimmst schon vorhandenen Webspace.

user profile iconpupu hat folgendes geschrieben:
Im Prinzip ändert sich doch nicht viel ob ich das nu mit FritzBox oder mit einem anderen Router einstell... den "domainnamen" muss man doch bei jedem router einstellen denk ich ma...

Ja, das ist richtig, die grundsätzliche Vorgehensweise ist die gleiche, nur die Art und Weise der Routerconfig unterscheidet sich. Du meinst übrigens einen DNS-Alias oder dynamischen Hostnamen, keinen Domänen-Namen. ;)

user profile iconpupu hat folgendes geschrieben:
aber das grundsätzliche was mir dieser Dynamische DNS bringt und was ich davon habe? das kann man doch auch beantworten wenn man nich die FritzBox hat oder? ;)

wie muss ich weiter vorgehen wenn ich alles in der FritzBox konfiguriert hab?

Aaalso: ;)
- dyndns-Account (hast du schon)
- unter MyServices einen dynamischen Host anlegen (besteht aus einem Namen [z.B. mydynhost] und einer Domain [z.B. dyndns.org], ist dann zusammen der DNS-Alias mydynhost.dyndns.org)
- wenn dein Router bei der Einwahl die aktuelle Adresse an einen dynamischen DNS-Dienst weiterleiten kann, dann mußt du in der Config irgendwo die Daten dazu hinterlegen (also konkret deine Accountdaten, damit klar ist, wer du bist, und deinen DNS-Alias, damit klar ist, was du aktualisieren willst)
- es fehlt noch ein Portforwarding (auch manchmal Virtual Server genannt) für die Ports, die von "aussen" (also aus dem Internet) durch den Router an deinem PC erreichbar sein sollen. Konkret: der Port, auf dem deine Anwendung kommunizieren soll (z.B. Port 12345 oder so, auf jeden Fall >1024) und wenn du einen Webservice anbieten willst, auch noch Port 80 (http)

Ab jetzt kann man deinen PC aus dem Internet über deinen Router erreichen, und zwar unter der Adresse mydynhost.dyndns.org (als Beispiel).

Es fehlt noch die Anwendung, die deine Highscores verwaltet: du könntest z.B. aufbauend auf meinen Chat-Tuts dein Spiel mit einem Client ausrüsten, der Kontakt zu einem Server auf deinem PC zuhause aufnimmt, wenn ein Highscore veröffentlicht werden soll (setzt natürlich voraus, dass du deinen PC 24/7 läufen lässt...). Diese Anwendung prüft den Score und trägt ihn ggfs. in eine entsprechende Liste ein. Geht theoretisch auch, dass du die ganze lokale Highscoreliste des Clients rüberschiebst und die "interessanten" übernimmst, also eine Art Abgleich.

Diese Liste kannst du dann im Webserver-Fall in eine HTML-Datei umwandeln und in das entsprechende Verzeichnis legen oder per FTP auf einen schon vorhandenen Webspace ablegen. Da die Anwendung, die die Daten auf deinen Webspace hochlädt komplett unter deiner Kontrolle ist, ist FTP kein Problem, denn es bekommt ja niemand dein Kennwort mit. ;)

OK, ich gebe zu, einiges an Aufwand - aber anschließend hast du auch eine Menge gelernt! :D

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.


Zuletzt bearbeitet von Narses am Mo 18.02.08 02:39, insgesamt 1-mal bearbeitet
Coder
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1383
Erhaltene Danke: 1

WinXP
D2005 PE
BeitragVerfasst: Mi 04.10.06 21:22 
So vergiss das mit den 5€.
Im Anhang ist das PHP-Highsore-Script.
Die beiden Dateien haust du auf deinen Webspace.
Dann lädst du mit deinem Prog die Datei runter mit Parametern
ausblenden Quelltext
1:
http://www.deinwebspace.de/highscores.php?User=Hans&Score=98					

Und so schickt du die anderen Highscores auch hin.
Dann brauchst du nur noch mit deinem Prog Highscore.txt runterladen, anzeigen und fertig is die Laube.

MfG
Einloggen, um Attachments anzusehen!


Zuletzt bearbeitet von Coder am Mi 04.10.06 22:38, insgesamt 2-mal bearbeitet
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 04.10.06 22:26 
Moin!

user profile iconCoder hat folgendes geschrieben:
So vergiss das mit den 5€.

:gruebel: :nixweiss:

user profile iconCoder hat folgendes geschrieben:
Im Anhang ist das PHP-Highsore-Script.
Die beiden Dateien haust du auf deinen Webspace.

Was natürlich voraussetzt, dass er PHP-fähigen Webspace hat. ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Coder
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1383
Erhaltene Danke: 1

WinXP
D2005 PE
BeitragVerfasst: Mi 04.10.06 22:36 
Da der kostenlose Webspace bei Arcor kein php unterstützt
empfehl ich dir einen Zweitwebspace auf www.funpic.de zu machen.
Die haben zwar Werbeeinblendungen aber im Prog merkt man das eh nicht.

MfG