[PHP] Daten von PHP-Script bekommen!

Übersicht Sonstiges Smalltalk

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

N0X

Betreff: [PHP] Daten von PHP-Script bekommen!

BeitragMo, Apr 05, 2010 23:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey!
Ich möchte Daten mit BlitzBasic aus einem PHP-Script auslesen/bekommen.
Wie geht das? Confused

Mfg,
N0X
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5%

Starwar

BeitragMo, Apr 05, 2010 23:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Mit dem PHP-Befehl "echo" die Daten ausgeben und äquivalent zum Beispiel bei OpenTCPStream vorgehen. (ReadLine zum Auslesen benutzen)
MFG

EDIT: Natürlich muss das Script auf nem Webserver mit PHP liegen. Wenn du den Quelltext des Scripts auslesen willst gehts nur über FTP, da brauchst du aber dein Passwort.

N0X

BeitragMo, Apr 05, 2010 23:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Hm, noch nicht verstanden.
Ich habe ein PHP-Script das mit MySQL kommuniziert.
Wenn ich aber jetzt einen Wert auslesen möchte, wie mache ich das?

Script:
Code: [AUSKLAPPEN]
<?php
   //New User Script
      $SQL_User = "tibario";      //Benutzername
      $SQL_Pass = "******";      //Passwort
      $SQL_Host = "localhost";      //SQL Host
      $SQL_DaBa = "tibario";      //Datenbank auf die zugegriffen wird
   
   $gUser = $_POST["user"];
   
      mysql_connect($SQL_Host,$SQL_User,$SQL_Pass) OR die(mysql_error());
      mysql_selectdb($SQL_DaBa) OR die(mysql_error());

   $o = mysql_query("update ".$gUser." set playTime = ".$_POST["time"].";") OR die(mysql_error());//where 'user'='".$_POST["user"]."' limit 1;") OR die(mysql_error());
   echo $o;
?>


BlitzBasic:
Code: [AUSKLAPPEN]
   TCP = OpenTCPStream("tibario.square7.ch",80)
      WriteLine TCP, "POST /LOGIN_Script.php HTML/1.1"
      WriteLine TCP, ""
      time =  ReadLine(TCP)
   CloseTCPStream TCP


Achja, es geht um "time"!
Im Moment klappts leider noch nicht... Warum?

Mfg,
N0X
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5%

Starwar

BeitragMo, Apr 05, 2010 23:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Geb mal die Daten die du in BB bekommst KOMPLETT an, bitte.
Ich kann den SQL Code so nicht testen (und auch nicht lesen, keine Formatierung)
MFG

D2006

Administrator

BeitragMo, Apr 05, 2010 23:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Du möchtest also wissen, wie man ein Problem unter Verwendung von BlitzBasic löst? In einem BlitzBasic Potal? Unter SmallTalk? Versteh ich nicht...

~VERSCHOBEN~
Dieser Thread passte nicht in das Forum, in dem er ursprünglich gepostet wurde.
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

N0X

BeitragMo, Apr 05, 2010 23:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Hm, ich möchte eig. nur wissen wie ich einen Wert aus einem MySQL Feld zum BlitzBasic Programm schicken kann. Muss ich dafür die "echo" Variante nehmen?

Mfg,
N0X

//EDIT:
Ich bekomm immer nur die erste Zeile vom Quelltext Sad "HTTP/1.1 200 OK"
Warum?

PHP:
Code: [AUSKLAPPEN]
<?php
   //New User Script
      $SQL_User = "tibario";      //Benutzername
      $SQL_Pass = "*****";      //Passwort
      $SQL_Host = "localhost";      //SQL Host
      $SQL_DaBa = "tibario";      //Datenbank auf die zugegriffen wird
   
      mysql_connect($SQL_Host,$SQL_User,$SQL_Pass) OR die(mysql_error());
      mysql_selectdb($SQL_DaBa) OR die(mysql_error());
   
   $gAction = $_POST["action"];

   switch($gAction)
   {
      case "load":
         $result = mysql_query("select playTime from ".$_POST["user"]);
         echo $result;
         break;
      case "save":
         $gUser = $_POST["user"];
         mysql_query("update ".$gUser." set playTime = ".$_POST["time"].";") OR die(mysql_error());//where 'user'='".$_POST["user"]."' limit 1;") OR die(mysql_error());
         break;
   }
?>


BB:
Code: [AUSKLAPPEN]
Function PHP_GET_DATA()
   TCP = OpenTCPStream("tibario.square7.ch",80)
      WriteLine TCP, "POST /LOGIN_Script.php HTML/1.1"
      WriteLine TCP, "Host: tibario.square7.ch"
      WriteLine TCP, "Content-Type: application/x-www-form-urlencoded"
      WriteLine TCP, "Content-Length: 11"
      WriteLine TCP, ""
      WriteLine TCP, "action=load"
      WriteLine TCP, ""
      Print ReadLine(TCP)
   CloseTCPStream TCP
End Function

Function PHP_SAVE_DATA()
   time% = ReadInt(svr)
   TCP = OpenTCPStream("tibario.square7.ch",80)
      WriteLine TCP, "POST /LOGIN_Script.php HTML/1.1"
      WriteLine TCP, "Host: tibario.square7.ch"
      WriteLine TCP, "Content-Type: application/x-www-form-urlencoded"
      WriteLine TCP, "Content-Length: "+((Len(name$)+Len(time%))+23)
      WriteLine TCP, ""
      WriteLine TCP, "action=save&user="+name$+"&time="+time%
      WriteLine TCP, ""
   CloseTCPStream TCP
End Function
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5%
  • Zuletzt bearbeitet von N0X am Di, Apr 06, 2010 0:10, insgesamt einmal bearbeitet
 

Damian

BeitragDi, Apr 06, 2010 0:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Beim PHP script benutzt du denn echo um die daten auszugeben. Und halt denn mit BB liest du den wert denn ein wie StarWar das bereits geschrieben hat

Goodjee

BeitragDi, Apr 06, 2010 0:12
Antworten mit Zitat
Benutzer-Profile anzeigen
du kriegst nur eine zeile weil du auch nur eine ausliest mit readline...
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/

Eingeproggt

BeitragDi, Apr 06, 2010 0:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Und wenn du nur die erste Zeile in BB bekommst dann lies doch einfach weiter... elegant wäre zB eine Schleife die mit Eof arbeitet. Viel Erfolg.

EDIT. Irgendwie kann ich mir das Antworten heute sparen - da gibts immer wen der schneller is Razz
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

N0X

BeitragDi, Apr 06, 2010 0:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Hm, da kommt ne Menge!
Aber nicht das was ich brauche ^^

Das kommt:
Code: [AUSKLAPPEN]
HTTP/1.1 200 OK
Date: Mon, 05 Apr 2010 22:28:35 GMT
Server: Apache/2.2
Vary: Accept-Encoding
Connection: close
Content-Type: text/html


//EDIT:
Natoll!
Ich hab mal noch 'n Error-Report reingebaut, er sagt mir ich hätte nen Fehler in der Syntax!
Könnt ihr mir sagen was ich falsch gemacht hab? (im Script)
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5%

Chester

BeitragDi, Apr 06, 2010 2:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Probiers mal mit
Code: [AUSKLAPPEN]
mysql_query("update ".$gUser." set playTime = '".$_POST["time"]."'") OR die(mysql_error());


Aber hat bei dir wirklich jeder User eine eigene Tabelle? o.O

D2006

Administrator

BeitragDi, Apr 06, 2010 10:04
Antworten mit Zitat
Benutzer-Profile anzeigen
D2006 hat Folgendes geschrieben:
Du möchtest also wissen, wie man ein Problem unter Verwendung von BlitzBasic löst? In einem BlitzBasic Potal? Unter SmallTalk? Versteh ich nicht...


Jetzt versteh ich's. Aber die Eingangsfrage ist ja mal doof gestellt... wie dem auch sei, zurück damit...

~VERSCHOBEN~
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

Jo0oker

BeitragDi, Apr 06, 2010 10:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Arbeitet dein PHP-Skript den korrekt?
Das köntenst du alternativ auch im Browser testen.

lg Jo0oker
Tehadon, das kostenlose 3D RPG
www.tehadon.de
http://www.blitzforum.de/worklogs/14/
Das Abenteuer wird beginnen!

N0X

BeitragDi, Apr 06, 2010 13:22
Antworten mit Zitat
Benutzer-Profile anzeigen
An Update-Zeile kanns eingentlich nicht liegen, der Fehler müsste in der Select-Zeile liegen Exclamation
Hm, immer dieser blöde Syntax-Fehler, ich hab schon fast alle Hochkommata-Variationen durch. Confused
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5%

D2006

Administrator

BeitragDi, Apr 06, 2010 13:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Probier mal:Code: [AUSKLAPPEN]
mysql_query($blubb) or die(mysql_error())


EDIT: waah, wurde dir ja schon empfohlen. Das sollte eigentlich ne gute Fehlermeldung liefern.
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

sirokuhl

BeitragDi, Apr 06, 2010 13:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Dir fehlt da im PHP doch das Fetch.
Code: [AUSKLAPPEN]
...
$row = mysql_fetch_array($result);
echo $row['playTime'];

Würd ich jetzt mal meinen..

N0X

BeitragDi, Apr 06, 2010 15:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Und auch dazu hab ich schon was gesagt:
Zitat:

//EDIT:
Natoll!
Ich hab mal noch 'n Error-Report reingebaut, er sagt mir ich hätte nen Fehler in der Syntax!
Könnt ihr mir sagen was ich falsch gemacht hab? (im Script)


Und dieses "die(mysql_error())" gibt mir eben aus, dass ich einen Syntax-Error habe!

@sirokuhl:
Hab ich mal eingebaut, bringt aber zu meinem Feher nix...
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5%

Goodjee

BeitragDi, Apr 06, 2010 15:29
Antworten mit Zitat
Benutzer-Profile anzeigen
jau, im loadteil willst du auf die tabelle $_POST['user'] zugreifen, das übergibst du allerdings in bb nicht
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/

N0X

BeitragDi, Apr 06, 2010 16:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Ouh, tatsächlich! Shocked
Danke! Läuft jetzt einwandfrei. Smile

Mfg,
N0X
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5%

D2006

Administrator

BeitragDi, Apr 06, 2010 16:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Lass dir noch gesagt sein, dass du dein DB-Konzept überdenken solltest. Dass jeder Benutzer ein eigene Tabelle hat, ist völlig falsch.

Des Weiteren musst du unbedingt die einkommenden Date auf Sicherheit prüfen, sonst ist dein PHP-Skript eine wandelne SQL-Injection-Lücke.
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

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht Sonstiges Smalltalk

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group