Oprettet man. d. 01. november 2004 kl. 14:36:04

krak
krak (17.367 point. Point ude: 120)

Større datamængder fra Applet, via PHP til MySql

Hej

Min java-applet henter en del tekst som skal gemmes i en MySql-database.

De mindre tekst-stykker bliver sendt som parametre (?felt1=vardi1&felt2=vaerdi2 osv) til en php-fil, der smider dem i en database.

Men når der er tale om større tekster går det ikke. URL'en bliver ganske enkelt for lang til at den kan klare det.

I stedet for at dele teksten op i en række små bidder, der hver især bliver sendt til PHP-filen vil jeg høre om det ikke er muligt at sende en stor mængde data direkte til PHP-filen og ikke som variabel?
F.eks. via POST?

Tak!

Skrevet man. d. 01. november 2004 kl. 14:47:49| #1

thorus
thorus (11.897 point)
har du prøvede POST?

$felt1= $_POST[felt1];
$felt2= $_POST[felt2];

Skrevet man. d. 01. november 2004 kl. 15:25:59| #2

krak
krak (17.367 point)
Der er ingen problemer med at hente data, når de er lagt i URL'en og når de er kommet frem til PHP-filen.

Problemet er at URL'en bliver cuttet når den når op på en hvis længde.
- Derfor eftersøger jeg hvordan appletten kan afsende hele variabler på samme måde som når en php-fil modtager data via en formular. Dér kommer data netop ikke i URL'en, men ligger skjult i en variabel.

Skrevet man. d. 01. november 2004 kl. 15:27:56| #3

arne_v
arne_v (1.005.658 point)
Det er det som POST løser

Skrevet man. d. 01. november 2004 kl. 15:49:23| #4

krak
krak (17.367 point)
fint. Men hvordan får du praktisk set gjort det i Appletten?

Jeg har følgende kode, hvor jeg sender data med i URL'en:

Boolean succes=false;
String megetTekst="Her er en tekst og blablabla";
String adresse="http://www.domain.dk/ (...)
adresse=adresse.replace(' ','_');
           
URL url = new URL(adresse);
HttpURLConnection con = (HttpURLConnection)url.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
con.connect();
if(con.getResponseCode() == HttpURLConnection.HTTP_OK)
    succes=true;
con.disconnect();

Hvordan sender jeg variablen direkte i stedet?

Skrevet man. d. 01. november 2004 kl. 16:37:13| #5

arne_v
arne_v (1.005.658 point)
Boolean succes=false;
String megetTekst="Her er en tekst og blablabla";
String adresse="http://www.domain.dk/ (...)
URL url = new URL(adresse);
HttpURLConnection con = (HttpURLConnection)url.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
con.getOutputStream().write(megettekst.getBytes());
con.connect();
if(con.getResponseCode() == HttpURLConnection.HTTP_OK)
    succes=true;
con.disconnect();

Skrevet man. d. 01. november 2004 kl. 16:38:39| #6

arne_v
arne_v (1.005.658 point)
Boolean succes=false;
String megetTekst="Her er en tekst og blablabla";
String adresse="http://www.domain.dk/ (...)
URL url = new URL(adresse);
HttpURLConnection con = (HttpURLConnection)url.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
con.getOutputStream().write(URLEncoder.encode(megettekst, "ISO-8859-1").getBytes());
con.connect();
if(con.getResponseCode() == HttpURLConnection.HTTP_OK)
    succes=true;
con.disconnect();

er nok bedre

Skrevet man. d. 01. november 2004 kl. 16:39:04| #7

arne_v
arne_v (1.005.658 point)
erstat "ISO-8859-1" med "UTF-8" om nødvendigt

Skrevet tor. d. 11. november 2004 kl. 11:14:23| #8

krak
krak (17.367 point)
Ok, men hvad hedder variablen i PHP-filen? Jeg har prøvet med $_POST['megettekst'] uden held.

Skrevet tor. d. 11. november 2004 kl. 11:43:28| #9

arne_v
arne_v (1.005.658 point)
Ovenstående sender det ikke som en variabel.

con.getOutputStream().write("megettekst=" + URLEncoder.encode(megettekst, "ISO-8859-1").getBytes());

sende det som en variabel.

Skrevet tor. d. 11. november 2004 kl. 12:15:41| #10

krak
krak (17.367 point)
Glimrende!
- Der skulle dog lige en enkel () ekstra til, så det hele blev til bytes[] på een gang.

con.getOutputStream().write(("megettekst=" + URLEncoder.encode(megettekst, "UFT-8")).getBytes());

Jeg takker!

Skrevet tor. d. 11. november 2004 kl. 12:18:00| #11

arne_v
arne_v (1.005.658 point)
selvfølgelig

Skrevet tor. d. 11. november 2004 kl. 12:18:09| #12

arne_v
arne_v (1.005.658 point)
så ligger jeg et svar

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

php problem få en kode fra en anden side

Oprettet den 11. februar 2012 kl. 23.53
jesperkaae95 giver 30 point for svar | Giv et svar »

Udtræk af enkelte felter fra bestemte kolonner i mysql

Oprettet den 11. februar 2012 kl. 19.27
hrole giver 30 point for svar | Giv et svar »

Procentregning

Oprettet den 11. februar 2012 kl. 11.26
sevinding giver 60 point for svar | Giv et svar »

Seneste guides

Installer win 7
Den gode bruger


   




Tips & Tricks fra PC World

Teaser billede

Her er fem sjove danske websider du skal kende

Trænger dine lattermuskler til en omgang fitness på dansk? Vi viser vej til fem websider fyldt med humor og vanvittig satire.


Anmeldelser fra PC World

Teaser billede

Test: Denne super-tablet er iPads hårdeste konkurrent

Eee Pad Transformer Prime er frygtindgydende med sin quadcore processor og evne til at trylle sig om til bærbar. Apple bør kigge i bagspejlet, for Asus' tablet-pc kommer buldrende - og gør det...


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Nu kan du snart hente Windows 8

Den nye offentlige betaversion af Windows 8 er klar i denne måned.


Nyheder fra Computerworld

Teaser billede

Måske snart slut med Androids helt store problem

Android-platformen har længe været plaget af et særligt problem. Men måske er problemet nu ved at være elimineret.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger