PHP Script mit BB Auslesen

Übersicht BlitzBasic Allgemein

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

ToeB

Betreff: PHP Script mit BB Auslesen

BeitragSa, Mai 01, 2010 17:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja ich weiß ich sollte erst danach suchen, hab ich auch, aber das was ich gefunden habe bringt mich nicht so weiter...

Ich wollte mir mal PHP (bzw. in verbindung mit MySQL und BB) lernen. Hinaus soll es auf Serverlisten und Online highscore gehen. Also schrieb ich mir mal ein Test script :
Code: [AUSKLAPPEN]
<?php
echo "Hallo !";
echo "Hallo Welt !";
ehco "Huhu !";
?>


Im Browser funtz auch alles super (die texte werden hintereinander geschrieben). Jetzt will ich aber das von dem echo ausgegebene in meinem Programm ausgeben lassen. Nur wie mach ich das ? Erstmal gehts mir nur darum dieses Script über BB auszuführen und das vom Server gesendete anzuzeigen...

mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

Progger93

BeitragSa, Mai 01, 2010 17:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Du verbindest dich mithilfe von TCP und HTTPauf deinen Server (Wie dein Browser das auch macht) und liest die von deinem Server ausgegebenen Informationen aus.

Ich glaub das hatten wir schon ein paar mal...

Online Highscore Tutorial Wink https://www.blitzforum.de/foru...hp?t=33498
MfG Pascal
Win 7|T7250@2.0Ghz|3GB RAM|M8600GT

Chrise

Betreff: Re: PHP Script mit BB Auslesen

BeitragSa, Mai 01, 2010 17:49
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBasic: [AUSKLAPPEN]
WriteLine tcp,"GET / HTTP/1.1"
WriteLine tcp,"Host www.deinserver.de"
WriteLine tcp,Chr$(10)


BlitzBasic: [AUSKLAPPEN]
While Not Eof(tcp)
Print ReadLine(tcp)
Wend
WaitKey
End


Ich glaube so ging das...


EDIT: oh zu spät.... Wink
Llama 1 Llama 2 Llama 3
Vielen Dank an Pummelie, der mir auf seinem Server einen Platz für LlamaNet bietet.

ToeB

BeitragSa, Mai 01, 2010 18:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Joa danke aber es klappt nicht (es wird nicht das was in echo drin steht ausgegeben, bzw. gibts nur nen error, 400 glaub ich)
Code: [AUSKLAPPEN]
Graphics 800,600,16,2
tcp = OpenPHP("")
If tcp <> 0
   Print "Daten : "
   While Not Eof(tcp)
      Print ReadLine(tcp)
   Wend
Else
   Print "Keine verbindung"
EndIf

WaitKey()
End


Function OpenPHP(datei$)
   tcp = OpenTCPStream("www.toebproductions.bplaced.de",80)
   If tcp = 0 RuntimeError("Geht nicht")
   WriteLine tcp,"GET /test.php HTTP/1.1"
   WriteLine tcp,"Host www.toebproductions.bplaced.de"
   WriteLine tcp,Chr$(10)
   Return tcp
End Function


Versteh ich da was falsch ?


mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

Progger93

BeitragSa, Mai 01, 2010 18:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi Toeb,

Ein Doppelpunkt nach Host
Code: [AUSKLAPPEN]

WriteLine tcp,"Host:www.toebproductions.bplaced.de"

und ein großes T
Code: [AUSKLAPPEN]
WriteLine tcp,"GET /Test.php HTTP/1.1"

müssten das Problem lösen

Bevor du allerdings die Daten ausliest musst du mit
BlitzBasic: [AUSKLAPPEN]
Repeat 
Until ReadLine(tcp)=""
den HTTP Header den dir der Server sendet überspringen.

MfG Pascal
MfG Pascal
Win 7|T7250@2.0Ghz|3GB RAM|M8600GT

ToeB

BeitragSa, Mai 01, 2010 18:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke funtz jetzt Very Happy

Aber er gibt mir da jetzt den header an (also ganz normal) und dann noch
Code: [AUSKLAPPEN]
22
Der Text und so weiter...
0


Was soll ich mit den zahlen ?

Achso : Und wie krig ich PHP dazu, mir den text in zwei zeilen auszugeben ? Also einmal Hallo und dann Welt nicht HalloWelt ? Mit <br> und /n gehts net, ist ja nur für HTML...

mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

Progger93

BeitragSa, Mai 01, 2010 18:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Zahlen weiß ich leider auch nicht Sad

\n müsste eigentlich gehen...ansonsten kannst du die werte einfach durch z.B. ein ; trennen und anschließend mit BB auseinanderbauen

MfG Pascal
MfG Pascal
Win 7|T7250@2.0Ghz|3GB RAM|M8600GT

Eingeproggt

BeitragSa, Mai 01, 2010 20:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Zahlen geben an, wieviel Zeichen darauf folgen - im Hex-Format wenn ich mich recht erinner, also 22=16*2+2=34

Für n Zeilenumbruch würde so etwas klappen:
Code: [AUSKLAPPEN]
echo 'Hallo'.Chr(10).Chr(13);
echo 'Umbruch';


mfG, Christoph.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

ToeB

BeitragSo, Mai 02, 2010 0:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey danke !

Aber wie rechne ich das jetzt genau um ? ich weiß hex ist praktisch 16er system, aber wie muss ich das umrechnen ? muss ich das wie im dualsystem machen ?
Also bei der zahl z.B.

45F würde das heißen F(16) * 16^0 + 5 * 16^1 + 4 * 16^2

Ich glaub schon Very Happy

Auf jeden fall danke !

mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

Eingeproggt

BeitragSo, Mai 02, 2010 0:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei mir hats immer gereicht, die Zahl zu "überlesen" und dann bis EoF den Stream auszulesen.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

D2006

Administrator

BeitragSo, Mai 02, 2010 14:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Das hier sollte auch einen Zeilenumbruch machen. Wichtig sind die doppelten Anführungszeichen.
Code: [AUSKLAPPEN]
echo "\n";
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard
Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium
Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2

ToeB

BeitragSo, Mai 02, 2010 15:57
Antworten mit Zitat
Benutzer-Profile anzeigen
So hab jetzt mal versucht einen Eintrag in meine Datenbank zu machen. So sieht das php-Script aus :
Code: [AUSKLAPPEN]
<?php
  //Variablen
  $host = 'localhost';
  $user = 'toebproductions';
  $pass = '*********';
  $dbname = 'serverliste';
 
  //Mit Datenbank verbinden
  mysql_connect($host,$user,$pass) OR die(mysql_error());
  mysql_selectdb($dbname) OR die(mysql_error());
 
  //Daten auslesen
  $Server_Name = $_GET['name'];
  $Server_IP = $_GET['ip'];
  $Server_Port = $_GET['port'];
  $Server_Spieler = $_GET['player'];
  $Server_SpielerMax = $_GET['playermax'];
  $Server_Map = $_GET['map'];
 
  mysql_query("INSERT TO Serverliste VALUES ('".$Server_Name."','".$Server_IP."','".$Server_Port."','".$Server_Spieler."','".$Server_SpielerMax."','".$Server_Map."'")");
 
?>


Aber wenn ich das ausführe :
http://www.toebproductions.bpl...estmap.map

Dankk meckert der "Fehler in Zeile 7". Er mekert das dort sich ein "unexpected" "$" befindet... warum weiß ich net ...

mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

Starwar

BeitragSo, Mai 02, 2010 16:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
ich quassel dir einfach mal dazwischen. Wink
Es ist keine gute Idee Daten wie Spieleranzahl mit dem PHP-Teil zu machen, da das aufbauen einer TCP-Verbindung BB zum einfrieren bringt. So was solltest du den Server direkt über UDP fragen.
(Hast ne PN)


EDIT: Teste mal " statt '
MFG

ToeB

BeitragSo, Mai 02, 2010 16:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey danke Starwar funtz !

Nur jetzt für ich das Script aus... Und merke das eigl. gar keine neue Zeile erstellt worden ist... Was mache ich jetzt falsch ?
Code: [AUSKLAPPEN]
<?php
  //Variablen
  $host = "localhost";
  $user = "toebproductions";
  $pass = "********";
  $dbname = "serverliste";
 
  //Mit Datenbank verbinden
  mysql_connect($host,$user,$pass) OR die(mysql_error());
  mysql_selectdb($dbname) OR die(mysql_error());
 
  //Daten auslesen
  $Server_Name = $_GET["name2"];
  $Server_IP = $_GET["ip"];
  $Server_Port = $_GET["port"];
  $Server_Spieler = $_GET["player"];
  $Server_SpielerMax = $_GET["playermax"];
  $Server_Map = $_GET["map"];
 
  mysql_query("INSERT TO Serverliste VALUES ('".$Server_Name."','".$Server_IP."','".$Server_Port."','".$Server_Spieler."','".$Server_SpielerMax."','".$Server_Map."')");
 
?>


mfg toeB

@Starwar : Danke für den code, den guck ich mir an und hol mir ggf. hilfe daraus, aber ganz übernhemen wollte ich es nicht weil es geht mir auch darum es zu lernen Very Happy
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!
  • Zuletzt bearbeitet von ToeB am Mo, Mai 03, 2010 16:09, insgesamt einmal bearbeitet

Starwar

BeitragSo, Mai 02, 2010 18:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
mySQL für dich - Daten hinzufügen
Ich bin selber kein Experte aber das Tutorial hat bei mir 100%ig funktioniert.

Interesant ist noch für später eine Fehlerabfage: Code: [AUSKLAPPEN]
$ausgabe = mysql_query(...);
$fehler = mysql_error($ausgabe);

ToeB hat Folgendes geschrieben:
@Starwar : Danke für den code, den guck ich mir an und hol mir ggf. hilfe daraus, aber ganz übernhemen wollte ich es nicht weil es geht mir auch darum es zu lernen Very Happy

Gute Einstellung. Es ist etwas unkommentiert, also wenn du Fragen hast, melde dich einfach.
EndOfPost

ToeB

BeitragSo, Mai 02, 2010 19:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Ah vielen dank klappt jetzt wunderbar !!

Jetzt muss ich das abfragen noch schreiben Wink

Aber ich denke das geht genauso Very Happy

mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

ToeB

BeitragMo, Mai 03, 2010 14:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich bins nochmal. Ich wollte meine Datenbank umändern, und jetzt geht gar nix mehr. Warum ? ka.. Hofe ihr könnt mir da helfen. Das php script sieht so aus :
Code: [AUSKLAPPEN]
<?php
  //Variablen
  $host = "localhost";
  $user = "toebproductions";
  $pass = "***********";
  $dbname = "toebproductions";
 
  //Daten auslesen
  $Server_Name = $_GET["name"];
  $Server_IP = $_GET["ip"];
  $Server_Port = $_GET["port"];
  $Server_SpielerMax = $_GET["maxplayer"];
  $Server_Map = $_GET["map"];
  $Server_Mod = $_GET["mod"];
 
 
  //Mit Datenbank verbinden
  mysql_connect($host,$user,$pass);
  mysql_selectdb($dbname);
  $sql = "INSERT INTO Serverliste(Name,IP,Port,MaxSpieler,Map,Mod) VALUES('".$Server_Name."','".$Server_IP."','".$Server_Port."','".$Server_SpielerMax."','".$Server_Map."','".$Server_Mod."')";
  $send = mysql_query($sql);
  echo "SERVER ERSTELLT (".$send.")".chr(10);
  echo "COMMAND : ".$sql; 
?>


Und der Blitz code dazu so :
Code: [AUSKLAPPEN]
tcp = OpenTCPStream("www.toebproductions.bplaced.de",80)
   If tcp = 0 Return 0
   IP$ = MyOnlineIP
   name$ = "TestServer"
   Port = 8000
   Spieler = SpielerAnzahl
   map$ = "Testmap2.map"
   Modi$ = "Tanks.txt"
   WriteLine tcp,"GET /add_server.php?name="+name$+"&ip="+IP+"&port="+Port+"&maxplayer="+Spieler+"&map="+map+"&mod="+modi+" HTTP/1.1"
   WriteLine tcp,"Host: www.toebproductions.bplaced.de"
   WriteLine tcp,""
   While Not Eof(tcp)
       t$ = ReadLine(tcp)
      DebugLog t$
   Wend


Der gibt mir keine Fehlermeldung aus sondern speichert einfach keinen Server in "Serverliste" (Datentabelle exestiert)

mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

Hubsi

BeitragMo, Mai 03, 2010 14:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Soweit ichs noch recht im Kopf habe müssen die Tabellennamen in ` stehen, quasi so:

Code: [AUSKLAPPEN]
`Name`,`IP`...


Hab aber schon lange nichts mehr mit MySQL gemacht, kann also sein das ich mich gerade total verzettel Very Happy
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Artemis

BeitragMo, Mai 03, 2010 15:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Vor allem solltest du dich um die Sicherheit deines Scripts bezüglich SQL-Injections kümmern.

ToeB

BeitragMo, Mai 03, 2010 15:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke artemis aber das war nicht meine frage. Und mit die Tabellen namen müssen in ' ' gesetzt werden... steht so im tut

Edit : Funtz jetzt

mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group