
c# odeslání requestu post metodou v php
Zdravim , prosim o radu ohledne httpwebrequestu, nevi nekdo jak napsat kod requestu v c# i kod v php, ktery jen prenese data pres php stranku do mysql databaze?
Pokud to chápu správně tak C# kód má předat pomocí POST metody data PHP scriptu, který je vloží do databáze?
V čem máte přesně problém?
přesně tak, php se snazim nejak sesmolit dohromady ale vubec to nejde, mam problem napsat kod pro c# ktery posle nejakej string post metodou v php, tu stranku v php bohuzel taky nemam :/ to je asi ten vetsi problem
To je nějaký domácí úkol nebo co?
Dej sem kód, který jsi vytvořil, pak se dá radit dál...
vubec ne , jen delam prvni aplikaci, ktera by mela takhle pracovat s databazi na dalku, ve skole nas ucili jen lokalni pristup, tohle je pro me tvrdy orisek, puvodne sem chtel udelat app, ktera by byla prostrednikem mezi sererem a klientem, aplikaci ale tezko dostanu na server ale mel sem reseni , kazdopadne pristup phpckem je urcite lepsi cesta...
Nebylo by lepší začít něčím jednodušším, na co stačí tvé znalosti ze školy?
ne , nevis jaky mam znalosti, vis jak vyresit problem se vzdalenym pripojenim k db?
A s čím si konkrétne nevieš rady?
Použitie HttpWebRequestu máš aj s príkladom vysvetlené v MSDN (prípadne môžeš použiť WebClienta).
Podobne je dobre opísané použitie mysql_connect, mysql_query a mysql_real_escape_string v dokumentácii PHP.
Buď ukáž, čo si už spravil a s čím si nevieš dať rady, alebo ak chceš, aby to niekto spravil za teba, tak daj vedieť, aký máš na to budget.
No za pomoc budu urcite vdecnej, puvodne sem chtel mit aplikaci, ktera by byla jako prostrednik mezi serverem a klientem, ale cetl jsem ze idealni reseni je prave httpwebrequest pro vzdaleny ovladani sql databaze, kdybys byl tak hodny potreboval bych proste kod v c# a v php , myslim si ze by to nemelo bejt nic obsahlyho, v php mam :
<?php
include("connect.php");
//$_POST["abc"]= mysql_query(");
?>
<form action="index.php" method="POST">
<input name="abc" type="text" value="<?php echo $_POST["abc"]; ?>">
<input type="submit">
</form>
<?php
$sql = $_POST["abc"];
$dotaz = mysql_query($sql);
?>
</body>
</html>
diky za jakoukoliv radu :)
Púšťať priamo nad SQL databázou príkazy, ktoré ti prídu z webu, je dosť nebezpečné. Minimálne by si to mal zabezpečiť menom a heslom. Štandardne sa takéto veci riešia tak, že si definuješ rozhranie - takže používateľ nespustí hocijaký SQL príkaz, ale len to, čo implementuješ na strane PHP.
Takže formulár máš - predpokladám, že ti to aj funguje. V C# si už niečo spravil? Príklady sú na stránkach MSDN, na ktoré som ti dával odkazy predtým. Telo HTTP požiadavky zakóduješ ako application/x-www-form-urlencoded.
Keď to budeš mať, tak môžeš riešiť, ako si pošleš informáciu, či sa SQL príkaz vykonal úspešne alebo nie. Ideálne tak, že zmeníš PHP stránku tak, aby si najprv vykonal SQL príkaz a podľa úspechu/neúspechu nastavíš HTTP status code. Až potom vykreslíš formulár (ak ho tam teda chceš mať).
Nebylo by jednoduší (pokud se jedná o aplikaci jen pro vlastní účely) připojit se do MySQL už v C#? A nedělat tento pochybný "PHP wrapper"?
Když už tedy tento "wrapper" tak určitě zabezpečit a nejlépe udělat jako webovou službu třeba přes XML-RPC či SOAP.
To by určitě bylo jednodušší, ale savana hosting vyžaduje placení nadstandardní služby za vzdálený přístup, možná by bylo jednodušší rozjet sql server u někoho doma a nastavit aby byl veřejný? Nevíte něco o tom, jestli je to někde běžné, jestli vůbec jde nainstalovat doma sql server(s veřejnou ip) viditelný pro všechny na internetu? Aplikaci by mělo využívat do 10 lidí, takže by na to mělo stačit běžné připojení.
Ano MySQL, MS SQL a jiné jdou samozřejmě nainstalovat na PC. Jen se musí povolit vzdálený přístup a na routeru/firewallu potřebné porty a může to vesele využívat kdokoliv.