
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?
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.