Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Suche "Bestenliste" php Script (https://www.delphipraxis.net/31044-suche-bestenliste-php-script.html)

ferby 3. Okt 2004 12:39


Suche "Bestenliste" php Script
 
Hallo,

Ich habe mit Delphi ein Spiel geschrieben und möchte jetzt eine online Bestenliste machen.

Ich rufe also eine PHP datei mit:

IdHttp1.get('www.deinserver.de/score.php?user='+user+'&score='+score);

auf.

Leider kenn ich mich mit php nur sehr wenig aus, deshalb wollte ich fragen ob ihr nicht einen fertigen php bestenlisten script kennt der follgendes kann:

.) Wenn ich die datei mit IdHttp1.get('www.deinserver.de/score.php?user='+user+'&score='+score); aufrufe soll der eintrag in eine txt datei gespeichert werden.

.) Es darf kein Name(user) doppelt vorkommen.

.) Wenn ich die Datei score.php direkt aufrufe sollen die gespeicherten einträge nach punkte sotiert ausgegeben werden.


Könnt ihr mir da weiterhelfen?

jfheins 3. Okt 2004 13:02

Re: Suche "Bestenliste" php Script
 
Zitat:

in eine txt datei gespeichert werden
Wenn es eine MySQL-Tabelle dafür gibt, wäre das erheblich einfacher ...

ferby 3. Okt 2004 14:14

Re: Suche "Bestenliste" php Script
 
Hallo,

ich habe eine Datenbank am Server nur kenn mich nicht aus wie ich das mit php verbinde, wenn mir jemand genau erklären kann was ich machen muss dan geht auch eine tabelle.

jfheins 3. Okt 2004 14:59

Re: Suche "Bestenliste" php Script
 
Du braucht
:arrow: Eine MySQL-Datenbank
und
:arrow: PHP-fähigen Webspace

ggf. musst du MySQL einrichten, oder so.
Dann brauchst du noch MySQL-Benutzerdaten, als da wären Benutzername und Kennwort.
Im PHP-Script machst du dann folgendes:
Code:
$db_username = "My Username";
$db_passwort = "My Password";
$mysql = mysql_connect ("localhost", $db_username, $db_passwort);
Und schon hast du eine MySQL-Verbindung :wink:

Neuni 3. Okt 2004 15:38

Re: Suche "Bestenliste" php Script
 
Jo, dann noch:

Code:
<?php

//Hier einfach deine Daten eingeben:

$host = 'localhost';
$name = 'username';
$passwort = 'deinpasswort';
$datenbank = 'NameDerDatenbank';



//ab hier einfach nix mehr ändern

$user = $_GET['user'];
$score = $_GET['score'];




$db_link = @mysql_connect('$host', '$name', '$passwort');

    if($db_link) {
        echo "

Zu Server verbunden.</p>
";

};

if(mysql_select_db('$datenbank')) {
           echo "

Datenbank ausgewählt.</p>
";

};

if ($user == '') {


$sql = "SELECT user,score FROM score ORDER BY score DESC";

$result = mysql_query($sql) OR die(mysql_error());

echo "<table border=\"1\">";

while($row = mysql_fetch_assoc($result)) {

echo "<tr><td>".$row['user']."</td><td>".$row['score']."</td></tr>";

};

echo "</table>";

} else {

$sql = "SELECT user FROM score";

if ($sql) {
echo "User existiert bereits!";

} else {


mysql_query ("INSERT INTO score (user,score) VALUES ('$user','$score')") or die (mysql_error());

echo "

Eintrag gespeichert!</p>";

};

};


?>

Wenn du nun die Datei ohne angaben aufrufst, also nur score.php , dann bekommst du die Liste angezeigt.
Wenn du die Datei z.B. mit 'score.php?score=263&user=peter' aufrufst, dann wird der score eingetragen.


PS: Vorher musst du noch eine Tabelle in deiner datenbank namens "score" (ohne "") erstellen, die die Felder score und user enthält.


EDIT: Abfrage ob user bereits existiert eingebaut!

Neuni 3. Okt 2004 15:45

Re: Suche "Bestenliste" php Script
 
Vorher einfach einmal diese Datei passent abändern und einmal auf dem Server ausführen (zum erstellen der tabellen)!

Code:
<?php

//Hier einfach deine Daten eingeben:

$host = 'localhost';
$name = 'username';
$passwort = 'deinpasswort';
$datenbank = 'NameDerDatenbank';



//ab hier einfach nix mehr ändern


$db_link = @mysql_connect('$host', '$name', '$passwort');

    if($db_link) {
        echo "

Zu Server verbunden.</p>
";

}
if(mysql_select_db('$datenbank')) {
           echo "

Datenbank ausgewählt.</p>
";

};


mysql_query ("CREATE TABLE score (
    score INT,
    user  VARCHAR(60),
   ");) or die (mysql_error());

echo "Datenbank-Tabelle erstellt!";

?>
Ich hab die beiden Codes nich getestet...wenns nich geht oder du fragen hast, dann meld dich per ICQ, oder PN

fkerber 3. Okt 2004 17:10

Re: Suche "Bestenliste" php Script
 
Hi!

Noch eine kleine Veränderung, falls gewünscht:
(Ich hoffe, es geht ok, dass ich deinen Code als Grundlage nehme @Neuni)

Sollte der User bereits vorhanden sein, wird sein Punktstand überschrieben.

Code:
<?php

//Hier einfach deine Daten eingeben:

$host = 'localhost';
$name = 'username';
$passwort = 'deinpasswort';
$datenbank = 'NameDerDatenbank';



//ab hier einfach nix mehr ändern

$user = $_GET['user'];
$score = $_GET['score'];




$db_link = @mysql_connect('$host', '$name', '$passwort');

    if($db_link) { 
        echo "

Zu Server verbunden.</p>
";

};

if(mysql_select_db('$datenbank')) { 
           echo "

Datenbank ausgewählt.</p>
";

};

if ($user == '') { 


$sql = "SELECT user,score FROM score ORDER BY score DESC";

$result = mysql_query($sql) OR die(mysql_error());

echo "<table border=\"1\">";

while($row = mysql_fetch_assoc($result)) { 

echo "<tr><td>".$row['user']."</td><td>".$row['score']."</td></tr>";

};

echo "</table>";

} else { 

$sql = "SELECT user FROM score";

if ($sql) { 
mysql_query ("UPDATE score (user,score) VALUES ('$user','$score')") or die (mysql_error());

} else { 


mysql_query ("INSERT INTO score (user,score) VALUES ('$user','$score')") or die (mysql_error());

echo "

Eintrag gespeichert!</p>";

};

};


?>
Hoffe, die Syntax stimmt.


Ciao Frederic

jfheins 3. Okt 2004 17:15

Re: Suche "Bestenliste" php Script
 
Zitat:

Code:
$sql = "SELECT user FROM score";

if ($sql) { 
mysql_query ("UPDATE score (user,score) VALUES ('$user','$score')") or die (mysql_error());
}

Wenn mich meine Kennnisse nicht ganz trügen,
überschreibst du in jedem Fall den alten Punktestand - auch wenn der Neue kleiner ist ...

fkerber 3. Okt 2004 17:23

Re: Suche "Bestenliste" php Script
 
Hi!

Jepp, der wird immer überschrieben.


Ciao Frederic

DP-Maintenance 3. Okt 2004 17:29

DP-Maintenance
 
Dieses Thema wurde von "MrSpock" von "Internet / IP / LAN" nach "Programmieren allgemein" verschoben.
PHP gehört eher in diese Sparte.

Neuni 3. Okt 2004 17:30

Re: Suche "Bestenliste" php Script
 
Ich habe jetzt mal das fertige Script angehangen.
Der Code oben funktionierte so noch nicht!


Das Script geht nun!

PS: Wenn der User bereits vorhanden ist, sollte er nicht überschrieben werden denke ich, da ja sonst z.B. wenn Frank erster ist einfach einer kommen könnte, der dann mal eben nur den 100 Rang belegt und Frank vom ersten verdrängt, da er auch als Frank den Score seichert.


UPDATE: Neue Datei unten!

ferby 3. Okt 2004 19:48

Re: Suche "Bestenliste" php Script
 
Hallo,

danke für die Php Programme, werde mal herumprobieren und wenn´s problemme gibt schreiben.

Neuni 3. Okt 2004 19:56

Re: Suche "Bestenliste" php Script
 
Kritik, Lob, oder Verbesserungen nehme ich gerne an :)

Wenn sonst Probleme mit dem Script sind, melde dich einfach per ICQ oder PN

ferby 3. Okt 2004 20:00

Re: Suche "Bestenliste" php Script
 
Hallo,

wenn ich setup.php ausführe kommt der Fehler:

Parse error: parse error in /home/www/web456/html/ferbyfun/sonstiges/fs/setup.php on line 31


ist da was im script falsch oder habe ich einen fehler gemacht?

Neuni 3. Okt 2004 20:07

Re: Suche "Bestenliste" php Script
 
Bei mir gehts :gruebel:

Bei welchem Anbieter bist du denn?
Wenn du phpmyAdmin hast, kannst du es dort auch erstellen...falls du hilfe dabei brauchst meld dich einfach.

Guck mal ob du da auch PhpMyAdmin hast!

Neuni 4. Okt 2004 13:27

Re: Suche "Bestenliste" php Script
 
Liste der Anhänge anzeigen (Anzahl: 1)
So, ferby hat den Fehler gefunden...danke! :thumb:

Es lag daran, dass mein Server bei Lycos es wohl akzeptierte, dass ich die Variablen in '' geschrieben hab.
Nun geht es eigendlich bei allen Servern!


Hier das Update:


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:47 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz