HighScore - "Square7" klappt nicht!
Übersicht

![]() |
N0XBetreff: HighScore - "Square7" klappt nicht! |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hey!
Ich möchte mit Hilfe dieses Tut's (https://www.blitzforum.de/forum/viewtopic.php?t=33498&highlight=highscore) einen Online-Highscore machen. Aber irgendwas klappt nicht mit dem MySQL Server (ich kann mich mit dem nicht verbinden) Warum? Hier der PHP-Code: Code: [AUSKLAPPEN] <?php
//MySQL Connection Data $SQL_User = "tibario"; //Benutzername $SQL_Pass = "****"; //Passwort $SQL_Host = "tibario.square7.ch"; //SQL Host $SQL_DaBa = ""; //Datenbank auf die zugegriffen wird //MySQL Connection mysql_connect($SQL_Host,$SQL_User,$SQL_Pass) OR die(mysql_error()); mysql_selectdb($SQL_DaBa) OR die(mysql_error()); //Der Rest des Codes hier drunter mysql_query("CREATE TABLE IF NOT EXISTS tibario_OH ( Name TEXT, Punkte INT)") or die(mysql_error()); //Getting the Data $OHS_Action = $_GET['Action']; $OHS_Spieler = $_GET['Name']; $OHS_Punkte = $_GET['Punkte']; switch($OHS_Action) { case "add": //Add Entry mysql_query("INSERT INTO tibario VALUES (".$OHS_Spieler.",".$OHS_Punkte.")") or die(mysql_error()); break; case "rem": //Remove Entry mysql_query("DELETE FROM tibario WHERE Name = '".$OHS_Spieler."' AND Punkte = '".$OHS_Punkte."'") or die(mysql_error()); break; case "red": //Read Highscore $result = mysql_query("SELECT Name, Punkte FROM tibario SORT BY Punkte DESC"); //ASC = Aufwärts sortiert, DESC = Abwärts sortiert $CurrentPlace = 1; if (mysql_num_rows($result)) { while ($row = mysql_fetch_assoc($result)) { //Ausgabecode der Liste echo $CurrentPlace+"\r\n"; echo $row['Name']+"\r\n"; echo $row['Punkte']+"\r\n"; $CurrentPlace += 1; } } break; } ?> Hier der BB-Code: Code: [AUSKLAPPEN] Global HTTPServerAdress$ = "tibario.square7.ch"
Global HTTPServerFile$ = "/highscore.php";/users/tibario/www/ Global OHS_TimeOut = 1000 Type OHS_Highscores Field Place Field Name$ Field Score End Type While Not KeyHit(1) If KeyHit(59) Then OHS_AddHighscore$("Hannes",120) If KeyHit(60) Then OHS_GetHighscore$() For o.OHS_Highscores = Each OHS_Highscores Print o\Place+" "+o\Name$+": "+o\Score Next EndIf Wend End Function OHS_AddHighscore$(Name$, Punkte) Local TCP,ExitCode$,StartMS TCP = OpenTCPStream(HTTPServerAdress, 80) ;HTTP GET WriteLine TCP, "GET "+HTTPServerFile+"?action=add&name="+Name+"&Punkte="+Punkte+" HTTP/1.0" WriteLine TCP, "" StartMS = MilliSecs() While Eof(TCP) If MilliSecs()-StartMS > OHS_TimeOut Then Exit Delay 25 Wend ExitCode$ = ReadLine(TCP) While Not Eof(TCP) DebugLog ReadLine(TCP) Wend Return ExitCode End Function Function OHS_RemHighscore$(Name$, Punkte) Local TCP,ExitCode$,StartMS TCP = OpenTCPStream(HTTPServerAdress, 80) ;HTTP GET WriteLine TCP, "GET "+HTTPServerFile+"?action=rem&name="+Name+"&Punkte="+Punkte+" HTTP/1.0" WriteLine TCP, "" StartMS = MilliSecs() While Eof(TCP) If MilliSecs()-StartMS > OHS_TimeOut Then Exit Delay 25 Wend ExitCode$ = ReadLine(TCP) While Not Eof(TCP) DebugLog ReadLine(TCP) Wend Return ExitCode End Function Function OHS_GetHighscore$() Local TCP,ExitCode$,StartMS TCP = OpenTCPStream(HTTPServerAdress, 80) ;HTTP GET WriteLine TCP, "GET "+HTTPServerFile+"?action=red HTTP/1.0" WriteLine TCP, "" StartMS = MilliSecs() While Eof(TCP) If MilliSecs()-StartMS > OHS_TimeOut Then Exit Delay 25 Wend ExitCode$ = ReadLine(TCP) Repeat Local Ln$ = ReadLine(TCP) DebugLog Ln$ If Ln$ = "" While Not Eof(TCP) Local OHSE.OHS_Highscores = New OHS_Highscores OHSE\Place = ReadLine(TCP) OHSE\Name = ReadLine(TCP) OHSE\Score = ReadLine(TCP) Wend EndIf Until Eof(TCP) Return ExitCode End Function Daten von Square7: Datenbank: tibario Benutzername: tibario Passwort: **** PHP-Datei liegt auf "tibario.square7.ch/highscore.php" Im Moment bekomme ich folgende Meldung: Code: [AUSKLAPPEN] Warning: mysql_connect() [function.mysql-connect]: Host 'Client1' is not allowed to connect to this MySQL server in /users/tibario/www/highscore.php on line 9
Host 'Client1' is not allowed to connect to this MySQL server Warum? ![]() Mfg, N0X |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
Lion |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
versuch mal als localhost?
Viele hoster machen es so, dass auf SQL nur als localhost zugegriffen werden darf. |
||
Intel Core 2 Quad 4x2.66 ghz - 4gb ddr2 - nvidia GeForce GTX660 2gb
Intel Atom 1x1.83 ghz - 2gb ddr2 - intel GMA 3150 256mb AMD A10-5750M 4x2.5 ghz - 8 gb ddr4 - AMD R9 M290x |
![]() |
N0X |
![]() Antworten mit Zitat ![]() |
---|---|---|
Oh, danke!
Jetzt kommt (wenn ich's im Browser aufrufe) "No Database selected". Aber das PHP-Script erstellt doch ne Database also muss ich doch oben keine angeben, oder? ![]() Mfg, N0X |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: $SQL_DaBa = ""; //Datenbank auf die zugegriffen wird
Ich bin nicht sicher ob Du eine Datenbank ohne Namen hast? ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
Lion |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Nein Nox, du musst immer zwischen nem Table (bzw Tabelle) unterscheiden und ner Datenbank, wie Hubsi es sagte. | ||
Intel Core 2 Quad 4x2.66 ghz - 4gb ddr2 - nvidia GeForce GTX660 2gb
Intel Atom 1x1.83 ghz - 2gb ddr2 - intel GMA 3150 256mb AMD A10-5750M 4x2.5 ghz - 8 gb ddr4 - AMD R9 M290x |
![]() |
N0X |
![]() Antworten mit Zitat ![]() |
---|---|---|
Oh, ok ![]() Klappt jetzt, aber mit dem BlitzBasic Programm: Wenn ich F1 drücke, soll ein Eintrag hinzugefügt werden, da wird aber bei meinem DebugLog die HTML Seite, mit 404 Error ausgegeben. Warum? (das selbe auch beim auslesen...) |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
![]() |
ZaP |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dein Header sieht mir etwas mager aus. Probier's mal hiermit. | ||
Starfare: Worklog, Website (download) |
![]() |
N0X |
![]() Antworten mit Zitat ![]() |
---|---|---|
So hab mal nen Host mitgesendet und n Connection: Close.
Beim Senden kommt dann irgendwas von Accepted, aber beim Lesen, naja, kommt wieder so viel Code und blabla ![]() Ich habe geändert: Code: [AUSKLAPPEN] WriteLine TCP, "GET "+HTTPServerFile+"?action=add&name="+Name+"&Punkte="+Punkte+" HTTP/1.1"
WriteLine TCP, "Host: tibario.square7.ch" WriteLine TCP, "Connection: Close" WriteLine TCP, "" Aber ich möchte ja die Daten die da drin stehen und nicht den HTML-Code der Seite! ![]() Mfg, N0X |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
![]() |
Starwar |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dann ruf eine PHP-Seite auf, die dir die Datenbank ausließt. Per PHP echo(...); und einem anschließenden Zeilenumbruch echo("\n"); bekommst du dann einfach Textdaten, die du Mit ReadLine![]() MFG |
||
![]() |
N0X |
![]() Antworten mit Zitat ![]() |
---|---|---|
Aber ich dachte das tut mein Script bereits? (Ist ja wie gesagt aus einem vertrauenswürdigem Tut!) | ||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
![]() |
Starwar |
![]() Antworten mit Zitat ![]() |
---|---|---|
Tut es. Und wenn du was mit <html> bekommst, dann ist es eine Fehler-Seite vom Server. Les den HTTP-Statuscode aus Header aus. Dann weißt du was los ist.
http://de.wikipedia.org/wiki/HTTP-Statuscode MFG |
||
![]() |
N0X |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich bekomm beides mal:
Code: [AUSKLAPPEN] Date: Fri, 26 Mar 2010 19:49:02 GMT
Server: Apache/2.2 Vary: Accept-Encoding Transfer-Encoding: chunked Content-Type: text/html Aber wenn ich dann die Types mit Print bzw. Text aufschreiben will, gibts nur Nullen. ![]() Mfg, N0X //EDIT: Oh, hehe, Tabelle wird erstellt, Datenbank auch, aber die Werte werden nicht übergeben! (ja, als Global deklariert) Warum? |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
![]() |
Starwar |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bitte den kompletten Header und den Text, die die Seite im Browser liefert. Danke.
MFG |
||
![]() |
N0X |
![]() Antworten mit Zitat ![]() |
---|---|---|
Header:
(den den ich schicke oder?) Code: [AUSKLAPPEN] WriteLine TCP, "GET "+HTTPServerFile+"?action=add&name="+Name$+"&Punkte="+Punkte+" HTTP/1.1"
WriteLine TCP, "Host: tibario.square7.ch" WriteLine TCP, "Connection: Close" WriteLine TCP, "" Und zum Auslesen: Code: [AUSKLAPPEN] WriteLine TCP, "GET "+HTTPServerFile+"?action=red HTTP/1.1"
WriteLine TCP, "Host: tibario.square7.ch" WriteLine TCP, "Connection: Close" WriteLine TCP, "" Ähm, mir ist noch aufgefallen, dass das phpMySQL dingens im Browser die Tabelle "Name" mit der Codierung "latin1_swedish_ci" versieht! Und die Werte sind auf Standart Null. Ich schicke eig. über Name einen String und über Punkte nen Int-Wert, kommt aber nicht an... Mfg, N0X |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
![]() |
Snade |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich kann dir 100% sagen das es bei Square7 nicht geht, da die wie der erste Poster schon sagte die keine externen MySQL zugriffen erlauben ich hatte diesbezüglich auch schonmal den Support angeschrieben. Allerdings gibt er Hoster die nur MySQL Datenbanken vermieten mit externem MySQL zugriff (habe ich selber getestet).
http://www.db4free.net/ Es gibt noch andere, aber das ist der einzige halbwegs gute den es gibt. lg. Snade |
||
![]() |
N0X |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke, aber wie mach ich das dann mit meinem PHP Script? ![]() |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Natürlich muss das vom Prinzip her auch bei Square7 gehen... das PHP-Script wird ja auf dem gleichen Server ausgeführt und dann muss es gehen. Wenn das auch nicht gehen würde, wäre der Sinn des MySQL-Angebots gleich null. Direkter MySQL-Zugriff von einem externen Server ist doch oft gar nicht nötig. Überhaupt denke ich, dass es viel einfacher ist, ein PHP-Script aufzurufen, welches einfach ein vorgefertigtes SQL-Modul verwendet um die Datenbankdinge auszuführen, als sich in SQL einzuarbeiten um wirklich direkt von BB aus den externen MySQL-Zugriff ausnutzen zu können... | ||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
![]() |
Snade |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich weis nicht aber ich schätze mal bei MySQL Host trägst du ein: ip_von_db4free.net (oder anderer MySQL Hoster) und der Rest ganz normal. Hab aber keine Ahnung hatte das damals mit Visual Basic gemacht und nicht BB.
EDIT1: Stimmt wenn du ein PHP Script hast brauchst du keinen externen Zugriff. lg. Snade |
||
![]() |
Xaymarehemals "Cgamer" |
![]() Antworten mit Zitat ![]() |
---|---|---|
Am Header liegt es nicht. Den habe ich ausgiebig getestet um gute ergebnisse zu bekommen.(evtl 1.1 in 1.0 umwandeln)
Ich tippe immoment eher darauf das du nicht das fertige script nimmst, sondern irgendeine Version dazwischen. Kannst du mir mal den vollständigen, wenn es einen gibt, mal per PN senden? @Holzchopf: Da hast du recht. Da MySQL die eigenschaft besitzt auth-versuche die länger als 1sek sind abzubrechen hat man schlechte Karten, da blitz gerne mal eine halbe sek wartezeit haben will. Ich habs schonmal probiert mich in das Mysql zeug reinzuarbeiten ![]() Edit: Stimmt, das hab ich gerade nich gesehen @den unter mir |
||
Warbseite |
- Zuletzt bearbeitet von Xaymar am Sa, März 27, 2010 0:11, insgesamt einmal bearbeitet
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Achja, hast du mal alle Tabellen- und Datenbanknamen überprüft (im PHP-Script)? Ich lese da nämlich an einer Stelle einCode: [AUSKLAPPEN] tibario_OH und an einer anderen wiederumCode: [AUSKLAPPEN] tibario sollte aber eigentlich das selbe sein ![]() |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group