Newsgroup: it.comp.www.php
Titolo: classi e form

Stò provando ad imparare la tecnica delle classi.
Ho costruito una classe, ne creo un istanza passandoli i seguenti valori: 
nomeDatabase (mysql) , nomeTabella, password, Id ecc..
La stessa contiene una funzione che crea automaticamente un form in base 
alla tabella a cui mi collego, quindi crea tante caselle di testo(conteneti 
i dati) quanti sono i campi.alla fine i soliti pulsanti 
[esci][nuovo][aggiorna][elimina] che utilizzano (oppure vorrei far 
utilizzare) il metodo post per attivare le relative funzioni di 
inserimento,cancellazione,modifica sfruttando echo"<form method='post' 
action='$PHP_SELF'>".
Lo stesso codice lo utilizzavo con una funzione senza usare le classi e 
funzionava perfettamente.Quà però non riesco ad abbinare le funzioni ai 
pulsanti.
Ho provato anche passando alla classe il nome del form "<form method='post' 
action=".$this->form.">"
Sicuramente stò sbagliando pesamtemente ma dalla documentazione in mio 
possesso non sò come trattare  le istanze di classe che generano un form.
Grazie.Alex

Scusa, cosi' non si capisce niente.
Se incolli un pezzo di codice di esempio e spieghi in breve quale è il
problema forse riesco ad aiutarti.
Nel caso fortunato in cui io abbia capito...
Attento che all'interno delle classi o semplicemente nelle funzioni, le
variabili che arrivano in POST o in GET da un form devono essere dichiarate
così:
$_POST['nomeVariabile']
o se in GET
$_REQUEST['nomeVariabile']
e non semplicemente $nomeVariabile.
A meno che tui non le dichiari (all'interno della funzione) come varibili
globali con
global $nomeVariabile;
Ale


Per adesso stò effettuando ancora delle prove..vediamo se riesco a farmi 
capire
da una pagina eseguo questo codice:
<?php
include("classi.php");
echo"<FORM METHOD='POST' ACTION='$PHP_SELF'>";
echo"<input type='submit' name='vismagazzino' value='vismagazzino'><br>";
echo"<input type='submit' name='newmagazzino' 
value='newmagazzino'><br><br>";
?>
dove classi.php contiene il codice sottostante
<?php
class record
{
  var $form;
  var $ncampi;
  var $database;
  var $tabella;
  var $kpassword;
  var $id;
  var $idcampo;
  var $campo1;
  var $campo2;
  var $campo3;
  var $campo4;
  var $campo5;
  var $campo6;
  var $campo7;
  var $campo8;
  var $campo9;
  var $campo10;
  var $campo11;
  var $campo12;
  var $val1;
  var $val2;
  var $val3;
  var $val4;
  var $val5;
  var $val6;
  var $val7;
  var $val8;
  var $val9;
  var $val10;
  var $val11;
  var $val12;
   function record ($form,$database,$tabella,$kpassword,$id,$idcampo)
          {
             $this->form = $form;
             $this->database = $database;
             $this->tabella = $tabella;
             $this->kpassword = $kpassword;
           //  $this->id = $id;
             $this->idcampo = $idcampo;
                         echo"<form method='post' action = 
'".$this->form."'>";
                          echo"nome form : ". $this->form;
                                  $db = 
mysql_connect("localhost","root",$this->kpassword) or die("Immossibile 
Connetersi :" . mysql_error());  // si connette al database
                                  $tab=mysql_list_fields($this->database,$this->tabella); 
//estrae i nomid ei campi
                                  $nc=mysql_num_fields($tab);        // 
ricava il numero dei campi
                                  // mysql_close($db);// chiude la 
connessione
                                   if($id <> "0")//il record esiste
                                      {
                                      $this->id = $id;
                                       // se id è diverso da 0 allora 
visualizza il record
                                        //carica i record in base alla 
selezione
                                      $Query=mysql_query("select * from 
".$this->tabella." where ".$this->idcampo." = ".$this->id,$db); // utilizza 
le variabili tabella e campo
                                             switch ($nc-1)
                                             {
                                             case 7:
                                             $arrayvalore = 
array(0=>mysql_result($Query,0,0),1=>mysql_result($Query,0,1),2=>mysql_result($Query,0,2),3=>mysql_result($Query,0,3),4=>mysql_result($Query,0,4),5=>mysql_result($Query,0,5),6=>mysql_result($Query,0,6),7=>mysql_result($Query,0,7)); 
//carica nell'array i valori dei campi
                                             break;
                                             case 8:
                                             $arrayvalore = 
array(0=>mysql_result($Query,0,0),1=>mysql_result($Query,0,1),2=>mysql_result($Query,0,2),3=>mysql_result($Query,0,3),4=>mysql_result($Query,0,4),5=>mysql_result($Query,0,5),6=>mysql_result($Query,0,6),7=>mysql_result($Query,0,7),8=>mysql_result($Query,0,8)); 
//carica nell'array i valori dei campi
                                             break;
                                             case 9:
                                             $arrayvalore = 
array(0=>mysql_result($Query,0,0),1=>mysql_result($Query,0,1),2=>mysql_result($Query,0,2),3=>mysql_result($Query,0,3),4=>mysql_result($Query,0,4),5=>mysql_result($Query,0,5),6=>mysql_result($Query,0,6),7=>mysql_result($Query,0,7),8=>mysql_result($Query,0,8),9=>mysql_result($Query,0,9)); 
//carica nell'array i valori dei campi
                                             break;
                                             case 10:
                                             $arrayvalore = 
array(0=>mysql_result($Query,0,0),1=>mysql_result($Query,0,1),2=>mysql_result($Query,0,2),3=>mysql_result($Query,0,3),4=>mysql_result($Query,0,4),5=>mysql_result($Query,0,5),6=>mysql_result($Query,0,6),7=>mysql_result($Query,0,7),8=>mysql_result($Query,0,8),9=>mysql_result($Query,0,9),10=>mysql_result($Query,0,10)); 
//carica nell'array i valori dei campi
                                             break;
                                             }
                                      }
                                    mysql_close($db);// chiude la 
connessione
                          $campo = array();
                          for($n=0;$n<$nc;$n++)
                          {
                          $campo[$n]= mysql_field_name($tab,$n);
                          }
                          if(!isset($this->id))echo"<table width=50% 
border='1' bgcolor='#cc99ff' align='center'>";
                          else echo"<table width=50% border='1' 
bgcolor='#99ffcc' align='center'>";
                          echo"<tr><td>  </td></tr>";
                          echo"<tr><td align='center'><B>". 
strtoupper($this->database)."</B></td></tr>"; // assegna l'intestazione 
della maschera al nome del database
                          echo"<tr><td><B><A HREF='elenco.php'>Torna 
all'ELENCO</A></B></td></tr>";
                          echo"</table>";
                          echo"<tr><td> </td></tr>";
                           if(!isset($this->id))echo"<table width=50% 
border='1' bgcolor='#cc99ff' align='center'>";
                           else echo"<table width=50% border='1' 
bgcolor='#99ffcc' align='center'>";
                          for($c=0;$c< count($campo);$c++) // serve a 
verificare se carica i nomi dei cami nell'array
                          {
                                     if($campo[$c]<> $this->idcampo )// 
salta il campo se è id
                                     {
                                     $valcampo=$campo[$c]; // è il valore 
del campo della tabella
                                     if(!isset($this->id)) echo"<tr><td 
align='right'><B>$campo[$c]  :  </B><textarea  cols='50'  name = $campo[$c] 
value= ></textarea> </td></tr>";   // scorre i campi della tabella
                                     if(isset($this->id)) echo"<tr><td 
align='right'><B>$campo[$c]  :  </B><textarea  cols='50'  name = $campo[$c] 
value= >".$arrayvalore[$c]."</textarea> </td></tr>";   // scorre i campi 
della tabella e crea le caselle di testo
                                     }
                          }
                              if(!isset($this->id)) echo"<tr><td><input type 
='submit' value='Registra' name='registra'><input type='submit' value='Esci' 
name='esci'></td></tr>";
                              else echo"<tr><td><input type ='submit' 
value='Registra' name='registra'><input type='submit' value='Nuovo' 
name='nuovo'><input type='submit' value='Esci' name='esci'><input 
type='submit' value='Elimina' name='elimina'><input type ='password'name 
='password'>";
                          echo"</td>";
                          echo"</tr>";
                          echo"</table>";
                           if(isset($_POST["esci"])) 
header("Location:elenco.php");// chiude la maschera tornando all'elenco
                           if(isset($_POST["nuovo"])) //verifica se è stato 
permuto nuovo così azzera la  variabile id
                           {
                           $this->$x = "gggggg";
                            return $this-> $x; //  aggiorna(); 
//formvuota($kpassword,"magazzino","magazzino");//crea una mascheara vuota 
recupera il numero campi da inserire
                           }
                          echo"</form>";
            }
ecc....
QUESTO CODICE CREA UN FORM  di x campi escludendo il campo kiave 
(autoincrementante)
switch serve a vedere quanti campi contiene ( per adesso ho impostato 
solamente 7-8-9-10 ) i campi vengono popolati dai dati tutto funziona...MA 
NON RIESCO A FAR USCIRE I DATI DALLA CLASSE passandoli alla pagina che l'ha 
generata.
Per farmi capire allego anche il codice che funzionava nel caso di utilizzo 
in funzione semplice.
Questo codice gestisce i dati con inserimenti (se non impostato campo 
chiave) modifica e d eliminazione.
function 
registra($ncampi,$database,$tabella,$kpassword,$id,$campo1,$campo2,$campo3,$campo4,$campo5,$campo6,$campo7,$campo8,$campo9,$campo10,$campo11,$campo12,$val1,$val2,$val3,$val4,$val5,$val6,$val7,$val8,$val9,$val10,$val12,$val12)
          {
           //corregge i valori passati alla funzione
            $val1=FormatStr($val1);
            $val2=FormatStr($val2);
            $val3=FormatStr($val3);
            $val4=FormatStr($val4);
            $val5=FormatStr($val5);
            $val6=FormatStr($val6);
            $val7=FormatStr($val7);
            $val8=FormatStr($val8);
            $val9=FormatStr($val9);
            $val10=FormatStr($val10);
            $val11=FormatStr($val11);
            $val12=FormatStr($val12);
            $db1 = mysql_connect("localhost","root",$kpassword) or 
die("Immossibile Connetersi :" . mysql_error());  // si connette al database
             mysql_select_db($database,$db1);
            $ver=mysql_query("select id from ".$tabella." where id = 
'".$id."'",$db1);//verifica se il record è presente nella tabella
            $nr=mysql_num_rows($ver);
            switch($ncampi)//esegue l'operazione in base al numero dei campi
            {
               case 1:
                 // se i campi sono 1
               // SE IL RECORD NON è PRESENTE LO INSERISCE altrimenti lo 
aggiorna
                if($nr<1)$Query=mysql_query("insert into 
".$tabella."(".$campo1.")VALUES ('".$val1."')",$db1);
                else $Query=mysql_query("update ".$tabella." set ".$campo1." 
= '".$val1."' where id = '".$id."'",$db1);
                break;
               case 2:
               // se i campi sono 2
               if($nr<1)$Query=mysql_query("insert into 
".$tabella."(".$campo1.",".$campo2.")VALUES 
('".$val1."','".$val2."')",$db1);
               else $Query=mysql_query("update ".$tabella." set ".$campo1." 
= '".$val1."',".$campo2." = '".$val2."' where id = '".$id."'",$db1);
               break;
               case 3:
               // se i campi sono 3
               if($nr<1)$Query=mysql_query("insert into 
".$tabella."(".$campo1.",".$campo2.",".$campo3.")VALUES 
('".$val1."','".$val2."','".$val3."')",$db1);
               else $Query=mysql_query("update ".$tabella." set ".$campo1." 
= '".$val1."',".$campo2." = '".$val2."',".$campo3." = '".$val3."' where id = 
'".$id."'",$db1);
                break;
               case 4:
                // se i campi sono 4
               if($nr<1)$Query=mysql_query("insert into 
".$tabella."(".$campo1.",".$campo2.",".$campo3.",".$campo4.".)VALUES 
('".$val1."','".$val2."','".$val3."','".$val4."')",$db1);
                else $Query=mysql_query("update ".$tabella." set ".$campo1." 
= '".$val1."',".$campo2." = '".$val2."',".$campo3." = 
'".$val3."',".$campo4." = '".$val4."' where id = '".$id."'",$db1);
                break;
               case 5:
               // se i campi sono 5
               if($nr<1) $Query=mysql_query("insert into ".$tabella." 
(".$campo1.",".$campo2.",".$campo3.",".$campo4.",".$campo5.")VALUES 
('".$val1."','".$val2."','".$val3."','".$val4."','".$val5."')",$db1);
               else $Query=mysql_query("update ".$tabella." set ".$campo1." 
= '".$val1."',".$campo2." = '".$val2."',".$campo3." = 
'".$val3."',".$campo4." = '".$val4."',".$campo5." = '".$val5."' where id = 
'".$id."'",$db1);
                break;
               case 6:
                // se i campi sono 6
               if($nr<1)$Query=mysql_query("insert into 
".$tabella."(".$campo1.",".$campo2.",".$campo3.",".$campo4.",".$campo5.",".$campo6.")VALUES 
('".$val1."','".$val2."','".$val3."','".$val4."','".$val5."','".$val6."')",$db1);
                else $Query=mysql_query("update ".$tabella." set ".$campo1." 
= '".$val1."',".$campo2." = '".$val2."',".$campo3." = 
'".$val3."',".$campo4." = '".$val4."',".$campo5." = '".$val5."',".$campo6." 
= '".$val6."' where id = '".$id."'",$db1);
                break;
               case 7:
                 // se i campi sono 7
               if($nr<1) $Query=mysql_query("insert into 
".$tabella."(".$campo1.",".$campo2.",".$campo3.",".$campo4.",".$campo5.",".$campo6.",".$campo7.")VALUES 
('".$val1."','".$val2."','".$val3."','".$val4."','".$val5."','".$val6."','".$val7."')",$db1);
                else $Query=mysql_query("update ".$tabella." set ".$campo1." 
= '".$val1."',".$campo2." = '".$val2."',".$campo3." = 
'".$val3."',".$campo4." = '".$val4."',".$campo5." = '".$val5."',".$campo6." 
= '".$val6."',".$campo7." = '".$val7."' where id = '".$id."'",$db1);
                break;
               case 8:
                 // se i campi sono 8
               if($nr<1)$Query=mysql_query("insert into 
".$tabella."(".$campo1.",".$campo2.",".$campo3.",".$campo4.",".$campo5.",".$campo6.",".$campo7.",".$campo8.")VALUES 
('".$val1."','".$val2."','".$val3."','".$val4."','".$val5."','".$val6."','".$val7."','".$val8."')",$db1);
               else $Query=mysql_query("update ".$tabella." set ".$campo1." 
= '".$val1."',".$campo2." = '".$val2."',".$campo3." = 
'".$val3."',".$campo4." = '".$val4."',".$campo5." = '".$val5."',".$campo6." 
= '".$val6."',".$campo7." = '".$val7."',".$campo8." = '".$val8."' where id = 
'".$id."'",$db1);
                break;
               case 9:
                 // se i campi sono 9
               if($nr<1)$Query=mysql_query("insert into 
".$tabella."(".$campo1.",".$campo2.",".$campo3.",".$campo4.",".$campo5.",".$campo6.",".$campo7.",".$campo8.",".$campo9.")VALUES 
('".$val1."','".$val2."','".$val3."','".$val4."','".$val5."','".$val6."','".$val7."','".$val8."','".$val9."')",$db1);
               else $Query=mysql_query("update ".$tabella." set ".$campo1." 
= '".$val1."',".$campo2." = '".$val2."',".$campo3." = 
'".$val3."',".$campo4." = '".$val4."',".$campo5." = '".$val5."',".$campo6." 
= '".$val6."',".$campo7." = '".$val7."',".$campo8." = 
'".$val8."',".$campo9." = '".$val9."' where id = '".$id."'",$db1);
               break;
               case 10:
                // se i campi sono 10
               if($nr<1)$Query=mysql_query("insert into 
".$tabella."(".$campo1.",".$campo2.",".$campo3.",".$campo4.",".$campo5.",".$campo6.",".$campo7.",".$campo8.",".$campo9.",".$campo10.")VALUES 
('".$val1."','".$val2."','".$val3."','".$val4."','".$val5."','".$val6."','".$val7."','".$val8."','".$val9."','".$val10."')",$db1);
               else $Query=mysql_query("update ".$tabella." set ".$campo1." 
= '".$val1."',".$campo2." = '".$val2."',".$campo3." = 
'".$val3."',".$campo4." = '".$val4."',".$campo5." = '".$val5."',".$campo6." 
= '".$val6."',".$campo7." = '".$val7."',".$campo8." = 
'".$val8."',".$campo9." = '".$val9."',".$campo10." = '".$val10."' where id = 
'".$id."'",$db1);
                break;
               case 11:
               // se i campi sono 11
               if($nr<1)$Query=mysql_query("insert into 
".$tabella."(".$campo1.",".$campo2.",".$campo3.",".$campo4.",".$campo5.",".$campo6.",".$campo7.",".$campo8.",".$campo9.",".$campo10.",".$campo11.")VALUES 
('".$val1."','".$val2."','".$val3."','".$val4."','".$val5."','".$val6."','".$val7."','".$val8."','".$val9."','".$val10."','".$val11."')",$db1);
               else $Query=mysql_query("update ".$tabella." set ".$campo1." 
= '".$val1."',".$campo2." = '".$val2."',".$campo3." = 
'".$val3."',".$campo4." = '".$val4."',".$campo5." = '".$val5."',".$campo6." 
= '".$val6."',".$campo7." = '".$val7."',".$campo8." = 
'".$val8."',".$campo9." = '".$val9."',".$campo10." = 
'".$val10."',".$campo11." = '".$val11."' where id = '".$id."'",$db1);
                break;
               case 12:
               // se i campi sono 12
               if($nr<1)$Query=mysql_query("insert into 
".$tabella."(".$campo1.",".$campo2.",".$campo3.",".$campo4.",".$campo5.",".$campo6.",".$campo7.",".$campo8.",".$campo9.",".$campo10.",".$campo11.",".$campo12.")VALUES 
('".$val1."','".$val2."','".$val3."','".$val4."','".$val5."','".$val6."','".$val7."','".$val8."','".$val9."','".$val10."','".$val11."','".$val12."')",$db1);
               else $Query=mysql_query("update ".$tabella." set ".$campo1." 
= '".$val1."',".$campo2." = '".$val2."',".$campo3." = 
'".$val3."',".$campo4." = '".$val4."',".$campo5." = '".$val5."',".$campo6." 
= '".$val6."',".$campo7." = '".$val7."',".$campo8." = 
'".$val8."',".$campo9." = '".$val9."',".$campo10." = 
'".$val10."',".$campo11." = '".$val11."',".$campo12." = '".$val12."' where 
id = '".$id."'",$db1);
                break;
               }
             mysql_close($db1);// chiude la connessione
              }
}
Grazie Alex

 ('".$val1."','".$val2."','".$val3."','".$val4."','".$val5."','"
$val6."','".$val7."','".$val8."','".$val9."','".$val10."','".$val11."','"


 di stile e logica della programmazione ad oggetti.
Ai consigli di Sandrino aggiungo:
cerca di dare un nome logico alle variabile secondo il uso e alla loro 
visibilità. Io ad esempio, chiamo tutti i parametri delle funzioni con 
una p davanti, le variabili globali con la g e le variabili locali con 
la w (questo a prescindere dal linguaggio usato).
Quindi in qualsiasi momento ed in qualsiasi punto del programma so che 
(giusto per fare un esempio):
$pMiaVariabile è un parametro passato alla funzione
$wMiaVariabile è una variabile locale
$gMiaVariabile è una variabile globale
ecc...
Ciao
Gianni

 Non ti offendere... Che brutto codice!
Mamma...
Non ti offendere... Che brutto quoting!
Bye.
:P


ROTFL
.....però Alessandro ha ragione ;-)
Ciao
Gianni

Non mi offendo affatto...anzi benvenga qualsiasi consiglio serva a 
migliorare la mia conoscenza...
Premetto che sono autodidatta che solo da un paio di mesi mi sono 
interessato a php precedentemente ho fatto un pò di esperienza con visual 
basic,
visual.net
 ma niente di speciale (qualche applicazione che si usa in 
ufficio)
Adesso cerco di capire le dritte che mi hai dato....
.... 

Intanto Grazie!
Ho seguito i vostri consigli ma quando voglio ritornare un valore ( return 
$val;)
non riesco a passare il valore dalla funzione nella classe al modulo che 
l'ha generata.
E quando utilizzo il metodo print della variabile form non riesco ad 
abbinare un'evento ai pulsanti in essa contenuti
(scusate ma i libri in mio possesso consigliavano il metodo 
if(isset($_POST["nome pulsante"])) per intercettare la pressione del 
pulsante, in questo caso però non riconosce il controllo creato.....
Dove sbaglio? 

OPPS scusate...avevo scordato $this->  .rimane il problema dei pulsanti 
Grazie 

Faccio un po' fatica a capire esattamente qual e' il tuo problema.
Quanto menzioni è corretto:
if(isset($_POST["nome pulsante"]))
Deve funzionare. A patto che il tuo form invii i dati in POST.
E questo metodo di verificare le variabili ($_POST $_REQUEST ecc) è comodo
perchè funziona ovunque... Ovvero sia nello script principale che in un
metodo di una classe o in una funzione.
A questo punto, se il tuo form invia in POST non ti resta che verificare che
il nome del campo che stai cercando. Forse è sbagliato.
Se vuoi incolla qui la parte di form che contiene il campo che cerchi con 
if(isset($_POST["nome pulsante"]))
e anche la realtiva parte di controllo.
Ale.


 e anche la realtiva parte di controllo.
in grandi linee il (pulsante) non è altro che un campo tipo submit 
all'interno di una tabella il valure del quali è l'id del record
allora viene passato ad una funzione che genera un form con i dettagli del 
record
l'utente dovrebbe poter effettuare le operazioni di eding
echo"<input type='submit' name='vis' value='Visualizza record 
corrente'><br>";
if(isset($_POST["vis"]))  print $rec->getForm($PHP_SELF,"nomeDatabase","nome 
Tabella","password",".$mioId.","campoKey");
Effettuato il print del form vorrei che i (pulsanti)
creati con la riga
                             else $myform .= $valore."<tr><td><input type 
='submit' value='Registra' name='registra'><input type='submit' 
value='Nuovo' name='nuovo'><input type='submit' value='Esci' 
name='esci'><input type='submit' value='Elimina' name='elimina'><input type 
='password'name ='password'>";
effettuassero delle operazioni (registrare,eliminare,inserire i dati scritti 
dll'utente nel form generato)
Grazie...(scusate se ho riscritto il messaggio non avevo visto questa 
risposta)
Questa è la calsse che genera il form
function getForm ($form,$database,$tabella,$kpassword,$id,$idcampo)
          {
             $this->arrayvalore=$arrayvalore;
             $this->form = $form;
             $this->database = $database;
             $this->tabella = $tabella;
             $this->kpassword = $kpassword;
              $this->idcampo = $idcampo;
             $myform = "<form method='post' action = 
'".$this->form."'></form>";
                                  $db = 
mysql_connect("localhost","root",$this->kpassword) or die("Immossibile 
Connetersi :" . mysql_error());  // si connette al database
                                  $tab=mysql_list_fields($this->database,$this->tabella); 
//estrae i nomid ei campi
                                  $nc=mysql_num_fields($tab);        // 
ricava il numero dei campi
                                  // mysql_close($db);// chiude la 
connessione
                                   if($id <> "0")//il record esiste
                                      {
                                      $this->id = $id;
                                       // se id è diverso da 0 allora 
visualizza il record
                                        //carica i record in base alla 
selezione
                                      $Query=mysql_query("select * from 
".$this->tabella." where ".$this->idcampo." = ".$this->id,$db); // utilizza 
le variabili tabella e campo
                                             switch ($nc-1)
                                             {
                                             case 7:
                                             $this->arrayvalore = 
array(0=>mysql_result($Query,0,0),1=>mysql_result($Query,0,1),2=>mysql_result($Query,0,2),3=>mysql_result($Query,0,3),4=>mysql_result($Query,0,4),5=>mysql_result($Query,0,5),6=>mysql_result($Query,0,6),7=>mysql_result($Query,0,7)); 
//carica nell'array i valori dei campi
                                             break;
                                             case 8:
                                             $this->arrayvalore = 
array(0=>mysql_result($Query,0,0),1=>mysql_result($Query,0,1),2=>mysql_result($Query,0,2),3=>mysql_result($Query,0,3),4=>mysql_result($Query,0,4),5=>mysql_result($Query,0,5),6=>mysql_result($Query,0,6),7=>mysql_result($Query,0,7),8=>mysql_result($Query,0,8)); 
//carica nell'array i valori dei campi
                                             break;
                                             case 9:
                                             $this->arrayvalore = 
array(0=>mysql_result($Query,0,0),1=>mysql_result($Query,0,1),2=>mysql_result($Query,0,2),3=>mysql_result($Query,0,3),4=>mysql_result($Query,0,4),5=>mysql_result($Query,0,5),6=>mysql_result($Query,0,6),7=>mysql_result($Query,0,7),8=>mysql_result($Query,0,8),9=>mysql_result($Query,0,9)); 
//carica nell'array i valori dei campi
                                             break;
                                             case 10:
                                             $this->arrayvalore = 
array(0=>mysql_result($Query,0,0),1=>mysql_result($Query,0,1),2=>mysql_result($Query,0,2),3=>mysql_result($Query,0,3),4=>mysql_result($Query,0,4),5=>mysql_result($Query,0,5),6=>mysql_result($Query,0,6),7=>mysql_result($Query,0,7),8=>mysql_result($Query,0,8),9=>mysql_result($Query,0,9),10=>mysql_result($Query,0,10)); 
//carica nell'array i valori dei campi
                                             break;
                                             }
                                      }
                                    mysql_close($db);// chiude la 
connessione
                          $campo = array();
                          for($n=0;$n<$nc;$n++)
                          {
                          $campo[$n]= mysql_field_name($tab,$n);
                          }
                          if(!isset($this->id)) $myform .= $valore."<table 
width=50% border='1' bgcolor='#cc99ff' align='center'>";
                          else $myform .=$valore."<table width=50% 
border='1' bgcolor='#99ffcc' align='center'>";
                           $myform .= $valore."<tr><td>  </td></tr>";
                           $myform .= $valore."<tr><td align='center'><B>". 
strtoupper($this->database)."</B></td></tr>"; // assegna l'intestazione 
della maschera al nome del database
                           $myform .= $valore."<tr><td><B><A 
HREF='elenco.php'>Torna all'ELENCO</A></B></td></tr>";
                           $myform .= $valore."</table>";
                           $myform .= $valore."<tr><td> </td></tr>";
                           if(!isset($this->id)) $myform .= $valore."<table 
width=50% border='1' bgcolor='#cc99ff' align='center'>";
                           else  $myform .= $valore."<table width=50% 
border='1' bgcolor='#99ffcc' align='center'>";
                          for($c=0;$c< count($campo);$c++) // serve a 
verificare se carica i nomi dei cami nell'array
                          {
                                     if($campo[$c]<> $this->idcampo )// 
salta il campo se è id
                                     {
                                     $valcampo=$campo[$c]; // è il valore 
del campo della tabella
                                     if(!isset($this->id)) $myform .= 
$valore."<tr><td align='right'><B>$campo[$c]  :  </B><textarea  cols='50' 
name = $campo[$c] value= ></textarea> </td></tr>";   // scorre i campi della 
tabella
                                     if(isset($this->id))  $myform .= 
$valore."<tr><td align='right'><B>$campo[$c]  :  </B><textarea  cols='50' 
name = $campo[$c] value= >".$this->arrayvalore[$c]."</textarea> </td></tr>"; 
// scorre i campi della tabella e crea le caselle di testo
                                     }
                          }
                              if(!isset($this->id))  $myform .= 
$valore."<tr><td><input type ='submit' value='Registra' 
name='registra'><input type='submit' value='Esci' name='esci'></td></tr>";
                              else $myform .= $valore."<tr><td><input type 
='submit' value='Registra' name='registra'><input type='submit' 
value='Nuovo' name='nuovo'><input type='submit' value='Esci' 
name='esci'><input type='submit' value='Elimina' name='elimina'><input type 
='password'name ='password'>";
                           $myform .= $valore."</td>";
                           $myform .= $valore."</tr>";
                           $myform .= $valore."</table>";


Scusa ma il metodo post va impostato nello script principale o nella classe? 
non riesco a rendere visibili le variabili post create nella classe.
esempio
script principale
nella form principale
Echo"<Form action='$PHP_SELF' method='post'>"
.....echo"<input type=submit>"
invoca la classe
 passandoli anche il nome corrente con la variabile $PHP_SELF'
$mioform = new nomeoggetto
$dovestastocavolodivariabile = $mioform->miaform(formchechiamalafunzione 
,eccc...)
print $dovestastocavolodivariabile;
$vediamosefunziona=$_POST["mio campo"]
invocando $_POST["mio campo"] non si vede un Ciofolo!!
nella classe
class....
function miaform("...........formchechiamalafunzione
 $form = "<form action=' formchechiamalafunzione ' method='post'>"
 $form .= $valore."<input type='text' value='mio campo'>"
dove sbaglio !!