Odeslání promnene metodou GET na server   zodpovězená otázka

VB.NET

Takže, snažím se poslat z visualbasicu (2005, express) promnenou metodou GET.

kod vypada asi takto:

sub send()        
Dim url As String = "http://stranka.cz/kniha.php?zprava=" & message
        WebRequest.Create(url).GetResponse().Close()
        chat.Refresh()
end sub

pricemz message je zprava, kterou chci odeslat. Kdyz zavolam tuto proceduru, tak se nic nestane. nevim

nakonec tady je soubor kniha.php

<?   $mess = $_GET['zprava'] ?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<LINK href="styl.css" rel="stylesheet" type="text/css">
<title>funChat</title>
</head>

<body>
<?


if (File_Exists ("kniha.html")):					//existuje soubor kniha.html
	$fp = FOpen ("kniha.html", "r");				//otevře soubor kniha.html pro čtení
	$data = FRead ($fp, FileSize("kniha.html"));			//přečte data ze souboru a uloží do proměnné "data" - kvůli tomu aby se zobrazoval poslední příspěvek nahoře
	FClose($fp);							//zavře kniha.html
endif;
	$fp = FOpen ("kniha.html", "w");				//otevře book.dat pro přepis nebo vytvoření
	FWrite ($fp, $data.$mess);						//zápis do souboru book.dat (nejprve aktuální příspěvek, poté předešlý obsah souboru book.dat)
	FClose ($fp);							//zavře soubor kniha.html

$fp = FOpen ("kniha.html", "r");					//otevře soubor kniha.html pro čteni
FPassThru($fp); 							//zobrazi ho
?>

</body>
</html>

nahlásit spamnahlásit spam 3 / 3 odpovědětodpovědět

promin sem zacatecnik ale nevadi ze se

$mess = $_GET[ 'zprava'] ?> tato cast bere jako komentar ne jako cast zdrojoveho kodu?

jen se ptam takze pokud to tak byt ma omlouvam se

nahlásit spamnahlásit spam 0 odpovědětodpovědět

kdyz si zadam do weboveho prohlizece

http://stranka.cz/kniha.php?zprava=jakykoliv_text

tak se normalne zobrazi...

nahlásit spamnahlásit spam 0 odpovědětodpovědět

To je tím, že obavování syntaxe je děláno na Visual Basic a ne na PHP. Pokud ve Visual Basicu napíšete apostrof, je to komentář. V PHP to je začátek řetězce.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Zkuste tento kód:

		Dim noCache As New Net.Cache.RequestCachePolicy(Net.Cache.RequestCacheLevel.NoCacheNoStore)
		Dim request As Net.WebRequest = Net.WebRequest.Create("http://stranka.cz/kniha.php?zprava=" & Message)
		request.Credentials = Net.CredentialCache.DefaultCredentials
		request.CachePolicy = noCache
		Dim response As Net.HttpWebResponse = CType(request.GetResponse(), Net.HttpWebResponse)
		Console.WriteLine(response.StatusDescription)
		Dim dataStream As IO.Stream = response.GetResponseStream()
		Dim reader As New IO.StreamReader(dataStream)
		Dim responseFromServer As String = reader.ReadToEnd()
		Console.WriteLine(responseFromServer)
		reader.Close()
		dataStream.Close()
		response.Close()

Přinejmenším zjistíte podle výstupu zda se požadavek uskutečnil a s jakým výsledkem.

nahlásit spamnahlásit spam 3 / 3 odpovědětodpovědět

Děkuji, funguje.

Můžu říct, že funguje i to, co sem měl na začátku,ale meatoda GET mi nechce posilat cely retezec, asi jen prvních 20 znaku, což byly HTML značky, takže text se neměnil...

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback