ListView-ba lekérni az adatokat php segítségével probléma

Keresés
Hírlevél
 
ASPC#C++CSSDelphiFlashJavaJavaScriptPascalPerlPHPPythonuniPaaSVisual BasicVisual C++  »    
Sorrend:
Időzóna:
Blokkméret:
Oszd meg!
Hello
Olyan kérdésem lenne,hogy a ListView-ba,hogyan lehetne lekérni az adatokat php segítségével?
Vagyis, a php-ba benne van az sql adatai és az sql lekérés is és POST parancsal csinálom a lekérést a programba. A belépés,regisztráció rendesen megy,de a ki listázás már nem annyira.

Ez a php tartalma a login résznek:

<?php
if($_POST) //Make sure it is a post request.
{
        if(isset($_POST["username"]) && isset($_POST["serial"])) //Make sure username and serial are provided.
        {
                $connect = mysql_pconnect("localhost","xxxx","xxxx"); //Connect to the database. //Replace the nstnimih_regsup with your username and userpassword with the password you are using for that user. This line connects to the MySQL engine.
                if($connect) //If successfully connected.
                {
                        $select = mysql_select_db("xxxxx",$connect); //Select the database you created. Replace nstnimih_regstation with your database name.
                        if($select)
                        {
                                $user = mysql_escape_string($_POST["username"]); //Variable user that stores our username that was passed as a post request.
                                $serial = mysql_escape_string($_POST["serial"]); //Variable serial that stores our serial name for the user that was passed as a post request.
                                $GetRows = mysql_query("SELECT * FROM users WHERE Username='$user' AND Serial='".md5($serial)."'"); //MySQL query that adds the username and serial to the table.
                                $RowCount=mysql_num_rows($GetRows); //Count the number of results we have.
                                if($RowCount>0)
                                {
                                        die("Correct !");
                                }
                                else
                                {
                                        die("Incorrect !");
                                }
                        }
                        else
                        {
                                die("Unable to select database." . mysql_error()); //Unable to select the database. Display failure message and exit.
                        }
                }
                else
                {
                        die("Unable connect to database." . mysql_error()); //Unable to connect to database. Display failure message and exit.
                }
        }
        else
        {
                die("Access Denied!"); //Not a post request. Display Access Denied and exit.
        }
}
else
{
        die("Access Denied!"); //Not a post request. Display Access Denied and exit.
}
?>

Ez pedig a VB.NET része amivel lekérem a belépéshez:


        Dim wc As New WebClient()
        wc.Headers.Add("Content-Type", "application/x-www-form-urlencoded")
        Dim Data As String = String.Format("username={0}&serial={1}", WebUtility.UrlEncode(Username), WebUtility.UrlEncode(Serial))
        Dim ResponseBytes() As Byte = wc.UploadData("http://localhost/connresinfo/load.php", "POST", Encoding.UTF8.GetBytes(Data))
        Dim Response As String = Encoding.ASCII.GetString(ResponseBytes)
        If Response.Contains("Correct") Then
            Return True
        Else
            Return False
        End If

Na most lényegében az a célom,hogy egy privát rendszert össze hozzak. Az üzenet küldés is szépen megy.
Van az mysql-emben 5 mező és azt kellene felhasználni.
Azért is php-vel akarom lekérni,hogy biztonságosabbb legyen az egész működés. Mert ha a mysql oldaláról letöltöm .NET-es "kiegészitőt"(vagy minek lehet nevezni) és a programba irom az sql adatokat akkor biztos próbálkozni fognak a hackerek a feltörésével és akkor kiderítik a mysql adatait+a php-s módszerrel csak localhoston lehetne elérni a mysql-t,így meg próbálkozhatnak örökre. :P
Köszönöm előre is a segítséget. :)
Lehet, hogy jobban járnál, ha webszolgáltatást készítenél (ezt lehet php segítségével is, lásd soapserver a php.net-en) és azt használnád fel a vb.net-es programból.

Az alternatíva az, hogy készítesz egy webes api-t, ami get vagy post paraméterekben kapja meg az adatokat és valamilyen struktúrált formában válaszol rá (pl. tagolt szöveg, json, xml), amit a kliens meg értelmezni tud.

Az utóbbi elve nagyon egyszerű:
1. legyen egy php file-od, ami fogadja a kéréseket, pl. valami.php
2. definiáld, hogy hogyan (get vagy post) és milyen (paraméterek nevei és értékkészletük) paramétereket kaphat és ezekre milyen választ adhat a program.
3. Kliens programnak a 2. pontban definiált paramétereket kel küldeni és a kapott válaszokat fel kell dolgoznia.

Pl. a valami.php?p=list kérésre a php \r\n-nel tagolt szöveggel visszaírhatja az értékeket, amiket te meg akarsz jeleníteni a .net-es programban, a sztringet split-tel tömbbe pakolod és a tömb lesz a forráas a listview-nak.

De tényleg nézz utána a webszolgáltatásoknak (soapserver, webservice), illetve ha ez nem tetszi, akkor a json-nek. előzmény
Hmm elméletben én is el tudom képzelni a folyamatot. :D
De már gyakorlatban nem ugyanaz jön ki. :P
Már majdnem 1 hónapja a megoldás után kutatok,valamilyen kiinduló pontból,de sehol nem írnak megoldást,csak elméleteket+az a mysql dolog amit a programba lehet helyezni.
Hmm ez mégsem lesz olyan könnyű mint gondoltam...
De azért kösz az ötleteidet. :) előzmény
Az a gond, hogy a kérdésed túl általános. Az elméletet próbáld átültetni gyakorlatba és ha elakadsz, akkor a konkrét kérdéssel a konkrét kódot mellékelve már tudsz olyan kérdést feltenni, amire gyakorlati választ is kapsz.

A gond az, hogy helyetted nem találhatjuk ki, hogy az api hogyan épüljön fel, milyen módszer volna a legmegfelelőbb, hiszen nem ismerjük a feladatot. Még ha ismernénk is a feladatot, ilyen átfogó kérdésre konkrét kódot úgyse fog senki sem írni, hiszen akkor helyetted írnánk meg az egészet.

Viszont ez meg abszolút nem igaz, hogy nincs ilyen problémára olyan útmutató, ami kódot is tartalmazna. Guglival ezt pillanatok alatt megtaláltam. Mind a 2 részt olvasd el. előzmény
Lényegében egy Privát üzenet funkció lenne a Mini Operációs rendszeremhez. A következőnél akadtam el,hogy az összes üzenetet mutassa ki amit az illető tagnak küldtek el.
Szóval például valaki rámegy a Bejövő üzenetekre akkor kiadja az összes üzenetet amit kapott.
Ez lényegében _POST,_GET vagy _REQUEST módban szeretném csinálni. Amit tartalmaz a php jelenleg azt fentebb is látható. A php-ban van az mysql kapcsolódási adatok és az mysql lekérési parancs is.
Ha nem is a VB.NET példa kódokban segítene valaki akkor nagyjából is jó lenne a PHP-s része. Ha meg van a PHP-s rész ami lekéri az adatokat akkor sínen vagyok a VB.NET kódok oldalán. :P
Olvasstam valami row parancsot is,hogy azzal le lehet kérni a dolgokat és beadni egy php-s alapú textbox-ba vagy,hogyan is hivják a php-ban. :P
Bár nekem magas volt,a row rész,mert nem tudom akkor,hogyan tegyek be oda get,post vagy request parancsot. előzmény
1. Az $_REQUEST az tartalmazza az összes $_POST, $_GET, $_COOKIE tartalmát. Az nem külön mód. Sőt, get és post módban sem tudsz semmit sem csinálni, legfeljebb get és/vagy post módon tudsz adatokat küldeni http protokollal.

2. Nincs olyan, hogy php-s alapú textbox. A php szerver oldalon fut, bármilyen grafikus vezérlő meg kliens oldalon van.

3. php-ban mysql_query()-vel adod ki az sql utasítást (már ha nem térsz inkább át a mysqli-re) és myqsl_fetch_*() függvények bármelyikével ki tudod nyerni az adatokat az eredményhalmazból, amit sima echo vagy print-tel ki is lehet iratni. A kiíratott értékeket dolgozod fel a vb.net-es programból. Itt találsz példakódot a mysql_fetch_assoc() használatára. Tényleg csak ki kell iratnod az értékeket valamilyen spéci karakterrel tagolt formában és kész is. Az $_GET/$_POST használatára meg tényleg teménytelen menniségű példa van itt a prog.hu-n is.

szerk.: Egy megjegyzés: felejtsed el ezt a parancsozást, függvény, utasítás, metódus, tulajdonság, osztály objektum - ezeket használd - természetesen mindig a megfelelőt. előzmény
Huuu akkor azt írod,hogy ami van fennt módszer az alapján hiába próbálkozok,semmit sem használ....
Bár ja,mindig True meg False-t ír az értékek helyett. :P
Hmm akkor elsőre a weblapon meg kell jelenitse a tartalmat és akkor VB.NET-el beolvasni azt.
Megpróbálom. :P előzmény
A fenti módszerből ki tudsz indulni, de az ugye csak a lekérdezés által visszaadott rekordok számát nézi, semmi mást. előzmény
Oszd meg!