Claudiogarau.it :: Tutorials & Scripts, PHP, Linux and more. :: Mappa del sito
Tutorials & Scripts, PHP, Linux and more.

Home :: Php :: Indice Php

Trucchi per l'utilizzo del metodo POST con PHP

Inserito il: 26-07-2006


Come ha scritto il mio amico Luca Ruggero in un suo bell'articolo, esistono fondamentalmente due metodi per utilizzare il metodo POST nella trasmissione dei dati tramite form: si creano due pagine, una contenente il modulo per l'invio e l'altra il codice che interpreterà i dati, oppure, si inserisce tutto il codice in una pagina che mostrerà dinamicamente o il form o l'output derivante dall'invio dei dati a seconda del comportamento richiesto.

Concettualmente, non è possibile ritenere uno dei due metodi citati come il migliore, ma in termini pratici utilizzare una sola pagina è preferibile: una sola pagina da creare, un solo codice da modificare in caso di aggiornamento, un solo documento da spedire sul server..

Form e codice su due pagine diverse

Vediamo ora come utilizzare POST su due pagine; ecco il codice del modulo che salveremo in una pagina chiamata "form.html":
<form method="POST" action="form.php">
Inserisci il tuo nome:
<input type="text" name="nome">
<input type="submit" name="invia" value="Invia">

</form>
Ed ecco il codice server side per l'elaborazione dei dati trasmessi da salvare nella pagina indicata nell'action del form:
<?
//controlliamo che sia stato inviato il parametro
if(isset($_POST['nome']))
{
  $nome = trim(stripslashes($_POST['nome']));
  if ($nome!=="")
  {
    echo $nome;
  }
  //notifica in caso di parametro vuoto
  else{
    echo "Non hai inserito il nome.";
  }

  //non si potrà accedere direttamente
  //alla pagina contenente il codice server side
}else{
  header("Location:form.html");
}
?>
Il codice proposto è molto semplice e i commenti aiutano a chiarire i vari passaggi, al lettore non rimane altro che eseguire un test su quanto proposto.

Form e codice in una sola pagina

Per creare una pagina contenente sia il modulo per la raccolta dei dati che il codice per la loro elaborazione, sfutteremo l'esistenza di un parametro, quello d'invio, che se assente permetterà al codice di visualizare il form, se presente consentirà invece di mostrare l'output desiderato:
<?
//controlliamo la presenza del parametro d'invio
if(isset($_POST['invia']))
{
  $submit = $_POST['invia'];
  $nome = trim(stripslashes($_POST['nome']));
  if ($nome!=="")
  {
    echo $nome;
  }else{
    echo "Non hai inserito il nome.";}
}else{
  //nel caso in cui manchi il parametro d'invio 
  //verrà visualizzato il form
?>
<form method="POST" action="form.php">
Inserisci un nome:
<input type="text" name="nome">

<input type="submit" name="invia" value="Invia">
</form>
<?
}
?>
Il listato proposto può essere implementato a piacere, per esempio anche in questo caso potremmo aggiungere un ulteriore controllo sull'invio del parametro "$_POST['nome']"; oppure protremmo effettuare un controllo sulla base di una querystring spedita tramite action come nell'esempio di Luca.

Attenzione: questo articolo è stato concesso in esclusiva per la pubblicazione a Mrwebmaster.it; ne è vietata la riproduzione,
anche parziale, senza l'esplicito consenso dell'autore e della redazione di Mrwebmaster.it.


Indice Php
Apache (19)
CGI (11)
Java (12)
Jsp (16)
Linux (18)
Manuali (6)
Perl (12)
PostgreSQL (12)
Tomcat (10)
Unix (12)
Libri (0)
Forum



Autenticazione HTTP con PHP
In questo articolo proponiamo un semplicissimo esempio di autenticazione HTTP, detta anche WWW-Authenticate, che mostra come utilizzare gli headers per... Leggi l'articolo


Corsi per Webmaster, Web Designer, Programmatori, Grafici e Sistemisti

Mrwcorsi.it
Mrwebmaster.it
4 You Gratis.it
Ceptive.it
Giochi Gratis
Pierotofy.it
Giornale Webmaster
Manuali
Morpheusweb.it
SEO Directory
Visual designer
Forum per Webmaster




Pagina caricata in 0.0001 secondi. | Per informazioni | ©CG di Claudio Garau P.IVA 03219430927 RSS