PDA

View Full Version : [PHP] Chiarimento sui POST in PHP


fbcyborg
18-03-2008, 21:27
Ciao a tutti,

ho cercato molto, sia in giro nel web che nei manuali di PHP, ma ciò che ho trovato, sebbene mi abbia fatto capire come funziona il POST, non è bastato a colmare alcuni dubbi di cui parlerò in questo thread.

Non voglio buttare troppa carne al fuoco, quindi per il momento vi chiedo questo:
1) Quando faccio un POST verso un URL, un qualsiasi URL, ci sono dei requisiti particolari? Vi faccio un esempio:
il codice quì sotto è preso da uno script in perl (galicesms (http://www.marzocca.net/linux/galicesms.html))
my $uname = $self->{username}."\@alice.it";

$res = $ua->post("http://authsrs.alice.it/aap/validatecredential",
{
URL_OK => 'http://portale.rossoalice.alice.it/ps/HomePS.do?area=posta&settore=sms',
URL_KO => 'http://portale.rossoalice.alice.it/ps/ManageCodError.do?channel=mail_ra&area=posta&settore=sms',
usr => $self->{username},
channel => 'mail_ra',
login => $uname,
password => $self->{passwd},
});
Ho trascurato alcune dichiarazioni di variabili perché esulano dal problema che sto cercando di capire.

In molti esempi vedo che quando si fa un POST in php, si ha il classico form in html, in cui è dichiarato l'action (che corrisponde al file php da eseguire) e il method="POST".
Ad es:
<form action="prova.php" method="post">
<input type="text" name="nome1">
<input type="submit" name="submit" value="invia">
</form>
Domanda: in action, deve per forza essere specificato un file .php?
Chiedo questo perché a quanto pare, nell'esempio di galicesms, non è così, e sembra che il post avvenga verso un URL non riferito a un file php.

2) Come seconda cosa, vi dico che ho trovato diverse cose su Internet, come ad esempio l'utilizzo di CURL (http://www.cphp.it/2007/01/22/twitter-php-client/), ma mi sembra di addentrarmi in qualcosa di più complesso di quello che pensavo.

Dov'è che sto sbagliando? Se provo a tradurre quel codice PERL in PHP ho dei seri problemi! :mc: :confused:

Grazie in anticipo.

Necromachine
19-03-2008, 00:02
1) nella action della form puoi specificare qualsiasi tipo di file (occhio comunque che la form lo associerà al path da cui è provenuta la pagina), purchè sia una pagina eseguibile (puoi anche scrivergli "pincopallino", purchè il tuo web server sai in grado di elaborare quel file).
Alla action poi gli associa i parametri dei vari input a seconda del metodo che hai scelto (con GET rielabora la action appiccicandogli una roba tipo "?par1=blabla&par2=blabla&....", con la POST i dati vengono trasferiti "in background" diciamo ... comunque alla fine su server li vedi sempre nelle rispettive variabili superglobali).

2) Il CURL non so ancora cosa sia :D ...