Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

form action sulla stessa pagina -- GET e POST

692 views
Skip to first unread message

Kaiser

unread,
Nov 12, 2009, 2:55:32 PM11/12/09
to
Salve,
oggi stavo provando un paio di cosucce ed ho notato 1 cosa per me
strana. Una chiamata di tipo POST con un form all'interno della stessa
pagina non comporta un nuovo "richiamo" della pagina.

example.php
<html>
form action post su example.php
parametri
<php>
if $_POST dei parametri allora ...
questo codice non viene mai eseguito


forse ᅵ tutto normale ma io mi aspettavo che il submit comportasse un
nuovo richiamo della pagina example.php invece questo non succedeva. Se
impostavo GET come action allora la pagina veniva ricaricata ... perchᅵ
il metodo POST deve obbligatoriamente far riferimento ad una pagina
diversa da quella corrente?

Scusate per la domanda forse troppo facile :)

Innuendo

unread,
Nov 12, 2009, 3:40:51 PM11/12/09
to
Kaiser ha scritto:

> forse ᅵ tutto normale ma io mi aspettavo che il submit comportasse un
> nuovo richiamo della pagina example.php invece questo non succedeva. Se
> impostavo GET come action allora la pagina veniva ricaricata ... perchᅵ
> il metodo POST deve obbligatoriamente far riferimento ad una pagina
> diversa da quella corrente?
Questo non ᅵ vero. Il metodo post puᅵ fare tranquillamente riferimento
alla pagina stessa esattamente come il metodo get.

Se a te non succede significa che hai fatto qualche errore nel codice
dove usi post.
Prendi la tua pagina di test con get e metti method="POST" nella form e
$_POST al posto di $_GET e deve funzionare esattamente nello stesso modo.


ciao
Mauro

Kaiser

unread,
Nov 12, 2009, 3:53:19 PM11/12/09
to
Innuendo ha scritto:

> Questo non ᅵ vero. Il metodo post puᅵ fare tranquillamente riferimento
> alla pagina stessa esattamente come il metodo get.

Grazie per la precisazione.

> Se a te non succede significa che hai fatto qualche errore nel codice
> dove usi post.
> Prendi la tua pagina di test con get e metti method="POST" nella form e
> $_POST al posto di $_GET e deve funzionare esattamente nello stesso modo.

Non ho sottomano il codice. Posso solo dirti che nell'html mi limitavo a
chiamare cambiare POST con GET nel form e nel codice PHP l'invocazione
degli Array $_POST con $_GET

In teoria a paritᅵ di funzionamento questi cambi dovrebbero garantire
uno shifting incolume o sbaglio? invece con GET andava tutto, con POST
no. Non ho trovato una spiegazione!

Cmq appena ho due minuti riprovo e posto il codice!

Gufo Rosso

unread,
Nov 12, 2009, 5:12:47 PM11/12/09
to
Kaiser ha scritto:

> Salve,
> oggi stavo provando un paio di cosucce ed ho notato 1 cosa per me
> strana. Una chiamata di tipo POST con un form all'interno della stessa
> pagina non comporta un nuovo "richiamo" della pagina.
>
> example.php

<php>


if $_POST dei parametri allora ...
questo codice non viene mai eseguito

<html>
form action post su example.php
parametri

> forse ᅵ tutto normale ma io mi aspettavo che il submit comportasse un
> nuovo richiamo della pagina example.php invece questo non succedeva. Se

si fa al contrario :)

Kaiser

unread,
Nov 12, 2009, 5:51:54 PM11/12/09
to
Gufo Rosso ha scritto:

> <php>
> if $_POST dei parametri allora ...
> questo codice non viene mai eseguito
>
> <html>
> form action post su example.php
> parametri

> si fa al contrario :)

Cosa intendi per "si fa al contrario"?
In teoria posso farlo quando voglio con un controllo isset sulla
variabile passata. E poi perchᅵ dovrebbe funzionare con Get e non con Post?

--
- Kaiser -

Andrea D'Amore

unread,
Nov 13, 2009, 1:33:28 AM11/13/09
to
In article <hdi182$bhc$1...@aioe.org>,
Gufo Rosso <spaaaaa...@libero.it> wrote:

> si fa al contrario :)

Perché mai?
E nei casi in cui usi una action in cui non c'è alcuna form come fai a
scrivere "al contrario"?

Argaar

unread,
Nov 13, 2009, 4:26:04 AM11/13/09
to
Kaiser ha scritto:

io mica ho capito...comunque la pagine viene ricaricata...

io di solito faccio cosᅵ

<?php

if (isset($_POST['mionome'])) {

echo "Il tuo nome ᅵ: ".$_POST['mionome'];

} else {

echo "<form action='#' method='post'>";
echo "Scrivi il tuo nome: <input type='text' name='mionome'>";
echo "<input type='submit' value='Invia'>";
echo "</form>";

}


?>

carlo bertuccini

unread,
Nov 13, 2009, 6:51:11 AM11/13/09
to
Il codice seguente perchè va con GET e non con POST?
Mi sfugge qualcosa ... qualcuno sa dirmi il perchè di tutto
questo?????

<?php

if (isset($_GET['file'])) {

echo "ci siamo";

} else { ?>

<form action="#" method="get"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="Submit" />
</form>

<?php
}

?>

Argaar

unread,
Nov 13, 2009, 8:21:56 AM11/13/09
to
carlo bertuccini ha scritto:
> Il codice seguente perch� va con GET e non con POST?
> Mi sfugge qualcosa ... qualcuno sa dirmi il perch� di tutto

> questo?????
>
> <?php
>
> if (isset($_GET['file'])) {
>
> echo "ci siamo";
>
> } else { ?>
>
> <form action="#" method="get"
> enctype="multipart/form-data">
> <label for="file">Filename:</label>
> <input type="file" name="file" id="file" />
> <br />
> <input type="submit" name="submit" value="Submit" />
> </form>
>
> <?php
> }
>
> ?>

perch� in questo caso devi usare $_FILES['file'] al posto di $_GET (e
perch� scommetto che usavi $_POST['file'])

carlo bertuccini

unread,
Nov 13, 2009, 8:50:56 AM11/13/09
to
On 13 Nov, 14:21, Argaar <arg...@argaar.net> wrote:

> perchè in questo caso devi usare $_FILES['file'] al posto di $_GET (e
> perchè scommetto che usavi $_POST['file'])

Immaginavo di esser finito in una situazione particolare. Solo non
capisco perchè la variabile viene passata nell'array $_GET e non in
quello $_POST? $_FILES la usavo poi nell'oggetto che invocavo per
uppare il file ...

Alessandro Pellizzari

unread,
Nov 13, 2009, 9:34:28 AM11/13/09
to
Il Fri, 13 Nov 2009 03:51:11 -0800, carlo bertuccini ha scritto:

> <form action="#" method="get"

Togli quel cancelletto e metti POST, poi segui quello che dice Argaar.

Bye.

Argaar

unread,
Nov 13, 2009, 11:12:13 AM11/13/09
to
Alessandro Pellizzari ha scritto:

si configura come errore il cancelletto?

Alessandro Pellizzari

unread,
Nov 13, 2009, 11:55:37 AM11/13/09
to
Il Fri, 13 Nov 2009 17:12:13 +0100, Argaar ha scritto:

> Alessandro Pellizzari ha scritto:
>> Il Fri, 13 Nov 2009 03:51:11 -0800, carlo bertuccini ha scritto:
>>
>>> <form action="#" method="get"
>>
>> Togli quel cancelletto e metti POST, poi segui quello che dice Argaar.

> si configura come errore il cancelletto?

Non ho mai provato, ma a logica il browser potrebbe interpretarlo come un
anchor e NON ricaricare la pagina.

Meglio non rischiare... :)

Bye.

Andrea D'Amore

unread,
Nov 13, 2009, 1:00:56 PM11/13/09
to
In article <hdk0gt$ior$1...@tdi.cu.mi.it>, Argaar <arg...@argaar.net>
wrote:

> si configura come errore il cancelletto?

Si dovrebbe controllare cosa dice il validatore w3c.

Argaar

unread,
Nov 16, 2009, 5:18:46 AM11/16/09
to
Andrea D'Amore ha scritto:

al validatore sono sempre andati bene...ma in realtà non ho mai avuto
problemi di alcun tipo, era più che altro per un vizio di stile...nel
senso che di solito li uso e funziona ma magari è più corretto in un
altro modo...

Hermooz

unread,
Nov 16, 2009, 6:07:52 AM11/16/09
to
On 13 Nov, 12:51, carlo bertuccini <carlo.bertucc...@gmail.com> wrote:
> Il codice seguente perchè va con GET e non con POST?
> Mi sfugge qualcosa ... qualcuno sa dirmi il perchè di tutto
> questo?????

Ma tu sei l'OP, o questo è un problema diverso?

>     enctype="multipart/form-data">

Questo è il busillis. I form di tipo upload vengono gestiti in maniera
diversa da quelli normali,
vedi

http://www.php.net/manual/en/features.file-upload.post-method.php

bye!

0 new messages