Newsgroup: it.comp.www.php
Titolo: Domanda su passaggio valori lato server

Ciao a tutti,
mi trovo in una situazione particolare, in sostanza dovrei inviare dei dati 
da un modulo a una pagina tramite post, senza farli passare attraverso il 
codice, al momento ho qualcosa del tipo:
$variabile = contenuto;
<form action="pagina.php" method="post">
  <input type="hidden" name="miavariabile" value="$variabile" />
</form>
il problema cosi però è che il contenuto di $variabile viene visualizzato 
direttamente in codice html. Vorrei invece poterlo comunicare a pagina.php 
senza che venga visualizzato.
Ok pensavo all'uso delle sessioni, ma prima di scomodarle, vorrei sapere se 
ci sono altre soluzioni per poter inserire direttamente queste variabili 
nell'header della pagina e richiamarle nella pagina successive senza passare 
per l'INPUT HIDDEN. Il tutto ovviamente lato server.
Grazie in anticipo,
Cooper.
-- 
BlueWare WebStudio
 [web:] 
http://www.blueware.it
 [msn:] 
coo...@blueware.it
 [icq:] 146781935 

 ovviamente lato server.  
Se le passi tramite header NON stai lavorando lato server.
-- 
I am what I am, I do what I can
Do. Or do not. There is not try.


intendevo tramite php mediante l'istruzione:
header(" etc etc ");
Grazie ancora,


 header(" etc etc ");
Idem come sopra. Header invia dati al client, l'utente vi puo'
accedere, se devi passare dati da una pagina ad un'altra in modo
trasparente all'utente USA le sessioni.


"Setec Astronomy" <setec@_NO_NOSPAM_freemail.it> ha scritto nel messaggio 
news:0akHe.24111$B6.6...@twister1.libero.it...
Ok, proviamo con le sessioni. La situazione č questa:
(a) inizializzazione delle variabili:
if ($_POST["var"] == "" ) { $var = "valore default"; } else { $var = $_POST 
["var"]; }
FASE 1:
(b) caricamento del form con i valori di default di cui al punto (a)
(c) invio del form e passaggio alla fase 2.
FASE 2:
(d) validazione del form lato server
     (d1) se i campi del form sono validati correttamente vai alla fase 3, 
altrimenti passa a (d2)
     (d2) visualizza messaggio di errore e passa alla fase 1.
FASE 3:
(e) visualizza un report dei dati inseriti nel form
(f) se utente clicca su conferma, passa alla fase 4;
(g) se utente clicca su modifica, passa alla fase 1;
(h) se utente clicca su annulla, carica pagina iniziale.
FASE 4:
(i) invia mail.
ciň premesso, il punto (a) viene eseguito a ogni caricamento della pagina 
mentre le fasi (da 1 a 4) sono gestite mediante il costrutto switch.
Ora con le sessioni, io inizializzo con:   session_start () e assegno il 
valore per esempio $_SESSION ["val"] = valore e lo richiamo con $val = 
$_SESSION["val"].
Il problema adesso č il punto (a), finchč i dati sono passati mediante form 
(fase 1 e 2) li leggo tramite $_POST ma quando passo alla fase successiva 
(fase 3) imposto scrivendo: $_SESSION ["val"] = valore e questo riesco a 
passarlo alla fase 4. Non riesco perň a far riconoscere il valore se invece 
ritorno alla fase 1.
Il punto (a) l'ho modificato nel modo seguente:
    if (!isset ($_POST["var"])) {
       if (!isset ($_SESSION["var"])) {
         $var = "Es: Mario Rossi";
  } else {
         $var = $_SESSION["var"];
     }
   } else {
       $var = $_POST["var"];
   }
perň riscontro sempre lo stesso problema. L'obiettivo in poche parole č 
inizializzare il form con i valori di default e portarmi i valori di default 
(o quelli inseriti dall'utente) per tutta la durata del modulo dalla fase 1 
alla fase 4, sia quando questi valori sono passati tramite form che quando 
non lo sono.
Come dovrei risolvere a questo punto?
Grazie in anticipo.


 Come dovrei risolvere a questo punto?
Utilizza un campo GET "fase":
if (!isset ($_GET['fase'])) {
	$_GET['fase'] = 0;
}
Poi fai uno switch con $_GET['fase'], se sei alla fase 0 carichi i
valori di default in sessione ed usi quelli per popolare il form, se
sei alla fase 1 usi direttamente quelli della sessione, se sei alla
fase 2 salvi in sessione i valori del form etc. etc.


 
non so se questo può aiutarti...
volevo solo farti notare che se a.php contiene la form:
<form name="form1" method="post" action="b.php">
	<input type="submit" name="Submit" value="Invia">
	<input name="var" type="hidden" value="">
        <input type="text" name="textfield">
</form>
e b.php
<?php
if(!($_POST['var'])){
       $_POST['var']=9;
    }
if(!($_POST['textfield'])){
       $_POST['textfield']='ciccio';
    }
?>
ottieni di avere l'inizializzazione nalla pagina destinazione e non devi
fare il giro con i valori della form in chiaro...
se il campo è un textfield stesso discorso se l'utente non scrive niente
puoi inizializzare il valore nell'action...
però o non ho capito a che ti serve: questo giochetto nasconde solo
l'inizializzazione o almeno i contenuti dei campi, non mi pare di vedere
altri effetti.
Ciao Gianfranzo