PHP Code ausgeben

  • VB.NET

Es gibt 28 Antworten in diesem Thema. Der letzte Beitrag () ist von Patrick1993.

    PHP Code ausgeben

    Hallo Community,
    Ich habe mir ein PHP Script gebastelt das mir Punkte aus einer Tabelle ausgeben soll.

    Das Script läuft (nach langem suchen diverser Fehler) doe nun will ich den Wert der Spalte die das Script anspricht in VB auslesen.

    Wie mache ich das ??
    Ich habe es mit

    VB.NET-Quellcode

    1. Imports System.Net
    2. Public Class Form1
    3. Public client As New WebClient
    4. Public adresse As String = "http://spanien.square7.ch/Punktesystem/lesen.php"
    5. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    6. Dim Download As String = client.DownloadString(New Uri(adresse))
    7. Label1.Text = Download
    8. End Sub
    9. End Class


    versucht geht auch nur bekomme ich anstatt "0" wie es in der Tabelle als Punkt steht ein leeres Label.
    Habe ich was falsch gemacht ??

    MFG
    Patrick

    Jopi24 schrieb:

    Du musst in der PHP-Datei die Ausgabe, die das VB-Programm speichern soll mit echo bzw. Print() ausgesben.

    Das mache ich wie ??
    Da ich das erste mal mit php/VB zu tun habe bin ich noch nicht so der große


    Jopi24 schrieb:

    Hofentlich hast du im skript kein return benutzt

    Nein habe ich nicht

    Das mache ich wie ??
    Sagte er ja.
    echo benutzen, um das, was das VB-Programm später sehen soll, auszugeben.

    Am besten zeigst du uns mal deinen PHP-Code und sagst uns, was du das VB-Programm sehen lassen willst.
    im php-Skrip gibst du die Strings, die du nacher im VB haben willst einfach mit echo aus.

    Wenn die php-Datei so aussieht z.B:

    Quellcode

    1. echo "123";


    dann bekommst du mit wc.DownloadString("datei") --> "123"
    "I think Microsoft has abused the Windows brand so much that it has lost its cachet."
    Paul Thurrott

    PHP-Quellcode

    1. <?php
    2. $verbindungsdaten= mysql_connect("localhost","Benutzername","Passwort")
    3. or die ("Verbindung zum Server konnte nicht hergestellt werden");
    4. mysql_select_db ("spanien") //Hier muss die Datenbank angepasst werden
    5. or die ("Datenbank ist nir Vorhanden");
    6. $name = "Patrick";
    7. $auslesen = "SELECT `Punkte` FROM `test` WHERE Benutzername LIKE '$name'"; //Zeile muss angepasst werden
    8. $ausgeben = mysql_query($auslesen);
    9. while($row = mysql_fetch_array ($ausgeben))
    10. {
    11. echo $row->Punkte;
    12. }
    13. ?>

    Dort lese ich die Spalte "Punkte" aus und genau die Spalte "Punkte" will in in dem VB Programm anzeigen lassen. Dort wo mein Name steht wird hinterher stehen $_POST['name'] da das ganze mittels Textbox für jeden benutzer abrufbar sein soll.

    Es gibt in deiner Tabelle sicher mehrere Zeilen. In jeder gibt es eine Spalte "Punkte", die mit deinem PHP-Skript ausgegeben wird.
    Wenn du alle ausgelesenen Werte in deinem VB-Programm haben willst, kannst du das z.B. lösen, indem du jeden Wert mit einem Trennzeichen abtrennst.

    Beispiel:

    PHP-Quellcode

    1. <?php
    2. // modifiziere dein PHP-Script folgendermaßen:
    3. $verbindungsdaten= mysql_connect("localhost","Benutzername","Passwort")
    4. or die ("Verbindung zum Server konnte nicht hergestellt werden");
    5. mysql_select_db ("spanien") //Hier muss die Datenbank angepasst werden
    6. or die ("Datenbank ist nir Vorhanden");
    7. $name = "Patrick";
    8. $auslesen = "SELECT `Punkte` FROM `test` WHERE Benutzername LIKE '$name'"; //Zeile muss angepasst werden
    9. $ausgeben = mysql_query($auslesen);
    10. $toEcho = "";
    11. while($row = mysql_fetch_array ($ausgeben))
    12. {
    13. if ($toEcho != "") $toEcho .= "|";
    14. $toEcho .= $row->Punkte;
    15. }
    16. echo $toEcho;
    17. ?>
    Dann wird das Ganze so ausgegeben:

    Quellcode

    1. Wert1|Wert2|Wert3|Wert4|...

    Das Auslesen mit VB könntest du dann so lösen:

    VB.NET-Quellcode

    1. Dim Content As String = New System.Net.WebClient().DownloadString("http://adresse")
    2. Dim Values() As String = Content.Split("|"c)
    3. For Each Value As String In Values
    4. MessageBox.Show(Value)
    5. Next
    Und wie mache ich das ich nach dem im Programm (Textbox) eingegebenen Namen suche und die Punkte angezeigen lasse ?
    Denn es sollen ja nicht alle benutzer angezeigt werden sondern nur einer der in der Textbox des VB Programms steht

    Hm... probier's so:

    PHP-Quellcode

    1. <?php
    2. // modifiziere dein PHP-Script folgendermaßen:
    3. $verbindungsdaten = mysql_connect("localhost","Benutzername","Passwort")
    4. or die("Verbindung zum Server konnte nicht hergestellt werden");
    5. $username = mysql_real_escape_string($_GET['username'], $verbindungsdaten);
    6. mysql_select_db("spanien")
    7. or die("Datenbank ist nir Vorhanden");
    8. $auslesen = "SELECT `Punkte` FROM `test` WHERE $username LIKE '$name' LIMIT 1";
    9. $ausgeben = mysql_query($auslesen);
    10. $row = mysql_fetch_array($ausgeben);
    11. echo $row['Punkte'];
    12. ?>
    VB:

    VB.NET-Quellcode

    1. Dim Benutzername As String = TextBox1.Text ' Beispiel
    2. Dim Content As String = New System.Net.WebClient().DownloadString("http://spanien.square7.ch/Punktesystem/lesen.php?username=" & Benutzername)
    3. MessageBox.Show(Content)

    Patrick1993 schrieb:

    PHP-Quellcode

    1. <?php
    2. $verbindungsdaten= mysql_connect("localhost","Benutzername","Passwort")
    3. or die ("Verbindung zum Server konnte nicht hergestellt werden");
    4. mysql_select_db ("spanien") //Hier muss die Datenbank angepasst werden
    5. or die ("Datenbank ist nir Vorhanden");
    6. $name = "Patrick";
    7. $auslesen = "SELECT `Punkte` FROM `test` WHERE Benutzername LIKE '$name'"; //Zeile muss angepasst werden
    8. $ausgeben = mysql_query($auslesen);
    9. while($row = mysql_fetch_array ($ausgeben))
    10. {
    11. echo $row->Punkte;
    12. }
    13. ?>

    Dort lese ich die Spalte "Punkte" aus und genau die Spalte "Punkte" will in in dem VB Programm anzeigen lassen. Dort wo mein Name steht wird hinterher stehen $_POST['name'] da das ganze mittels Textbox für jeden benutzer abrufbar sein soll.


    Du lässt dir die Daten als Array bereitstellen und behandelst es als Objekt. Finde den Fehler.

    PHP-Quellcode

    1. <?php
    2. // modifiziere dein PHP-Script folgendermaßen:
    3. $verbindungsdaten = mysql_connect("localhost","spanien","juergen")
    4. or die("Verbindung zum Server konnte nicht hergestellt werden");
    5. $username = mysql_real_escape_string($_GET['username'], $verbindungsdaten);
    6. mysql_select_db("spanien")
    7. or die("Datenbank ist nicht Vorhanden");
    8. $auslesen = "SELECT `Punkte` FROM `test` WHERE $username LIKE '$name' LIMIT 1";
    9. $ausgeben = mysql_query($auslesen);
    10. $row = mysql_fetch_array($ausgeben);
    11. echo $row['Punkte'];
    12. ?>



    Er sagt mir das in Zeile 10 ein fehler ist den ich irgendwie nicht finde

    Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /user/spanien/www/Punktesystem/lesen.php on line 10

    Dann bekomme ich als Meldung:
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIKE '' LIMIT 1' at line 1

    Doch irgendwie finde ich den fehler nicht