Delphi-PRAXiS
Seite 1 von 2  1 2      

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.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:47 Uhr.
Seite 1 von 2  1 2      

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