PDA

View Full Version : [PHP]Lettura parametri da POST


DrZoidberg
01-10-2008, 11:53
Salve a tutti,
vi illustro il problema:
ho una midlet che instaura una connessione HTTP di tipo POST con uno script PHP, il quale dovrebbe leggere i parametri che gli passa la midlet!!!
Vi scrivo i pezzi di codice interessati:

Midlet.java
conn = (HttpConnection) Connector.open(url);
conn.setRequestMethod(HttpConnection.POST);
conn.setRequestProperty("Content-Type",getRequestContentType());
conn.setRequestProperty("Accept","text/xml,text/html");


OutputStream os = conn.openOutputStream();
byte[] data = ("email="+login).getBytes();
os.write(data);
data = ("&password="+password).getBytes();
os.write(data);
os.flush();


Script.php

$email = $_POST[$email];
$password = $_POST[$password];



Dove sbaglio??

IceCoder
01-10-2008, 12:06
$email = $_POST['email'];

e lo stesso per il resto dei parametri.

DrZoidberg
01-10-2008, 12:10
:doh: :doh: :doh:
Giustoo!!!!
Grazie!!!

Ora la cosa si complica un pò!
Devo inviare una foto!!!
Ovviamente la foto la invio come array di byte...come posso poi convertirla in immagine nello script php ??

IceCoder
01-10-2008, 12:18
:doh: :doh: :doh:
Giustoo!!!!
Grazie!!!

Ora la cosa si complica un pò!
Devo inviare una foto!!!
Ovviamente la foto la invio come array di byte...come posso poi convertirla in immagine nello script php ??

la foto non è altro che un file binario. quindi apri la foto in binario, leggi i bytes e li invii, poi apri un altro file in binario e ce li scarichi dentro.
puoi usare le funzioni fopen/fread/fwrite/fclose.

DrZoidberg
01-10-2008, 12:21
Si ok....ma come faccio a mandare un binario ??

nella midlet faccio cosi

data = photodata;
os.write(data);
os.flush();

dove photodata contiene la foto in byte però!!
La invio bene??
poi nello script php come lo gestisco ?

IceCoder
01-10-2008, 12:33
riguardo la midlet non so aiutarti, il codice di prima era intuitivo quindi mi sono orientato, ora però non so se la funzione è usata correttamente.

riguardo al php il codice dovrebbe essere tipo questo:



$photo = $_POST['photodata'];
$fname = $_POST['photoname'];

$f = fopen($fname, "wb");
fwrite($f, $photo);
fclose($f);



come vedi invio il nome ed i dati tramite post e poi li scrivo in un file.

se non conosci il prototipo di una funziona php ti consiglio http://www.php.net il sito ufficiale in cui trovi tutto l'occorrente. Basta inserire nella casella search in alto a destra il nome della funzione.