Newsgroup: it.comp.www.php
Titolo: Si perdono le variabili

In uno script con due if, uno che esegue se si è cliccato il
tasto di ricerca e l'altro che si esegue se si clicca il tasto di
modifica, ho una serie di variabili che imposto nel primo caso,
quando si effettua la ricerca, quando eseguo la modifica, le
variabili risultano essere tutte vuote, come mai? dove vanno
a finire i valori e perchè si perdono?
Grazie.

 wrote in message
news:9v2j72$36cs$1...@stargate1.inet.it...

Tu intendi una cosa del tipo:
<?PHP
    if($ricerca == "ricerca"){
        $ric_eff = "si";
        .....
        ......
    } else {
        //Naturalmente la variabile  $ric_eff = "si";  non l'hai nell'else
dell'if. perche' non l'hai inizializzata o cambiata o ecc... di
//valore a meno che non le dichiari fuori dal if, nell'else non l'hai
    }
?>
Era questo il problema???.
Se no chiarificalo meglio che non si capisce tanto.
Ciao

> Tu intendi una cosa del tipo:
Cercherò di essere più chiaro, perchè non mi funziona ancora, questo è lo
script.
<?php
if ($submito == "Applica Modifiche")
{
Applico le modifiche al mio archivio, con una query di UPDATE
UPDATE archivio SET campo1  = "$campo1", campo2 = "$campo2"
     WHERE campo1 = "$oldcampo1" and  campo2 = "$oldcampo2"
}
if ($submit == "Cerca")
{
select * from archivio where campo1 = "$campo1" and campo2 = "$campo2"
  if  (trovo il record)
  {
      $oldcampo1 = $campo1 = $row[0];
      $oldcampo2 = $campo2 = $row[1];
  }
  else
  {
    echo "\n rolled back \n";
      $oldcampo1 = $campo1 = '';
      $oldcampo2 = $campo2 = '';
  }
}
?>
<form method=post>
<table>
 <tr>
  <td valign=top align=right><b>campo1:</b></td>
  <td valign=top align=left><input type="text" name="campo1" value="<?php
print $campo1; ?>" size="50" maxlength="50"></td>
  <td></td>
 </tr>
 <tr>
  <td valign=top align=right><b>campo2:</b></td>
  <td valign=top align=left><input type="text" name="campo2" value="<?php
print $local; ?>" size="50" maxlength="50"></td>
  <td></td>
 </tr>
 <tr>
  <td align=center width="30%"><input type=submit name=submit
value="Cerca"></td>
  <td align=center width="30%"><input type=submit name=submito
value="Applica Modifiche"></td>
 </tr>
</form>
Perchè le variabili $oldcampo1 e $oldcampo2 non sono disponibili quando
viene
premuto il tasto submito con il valore di "Applica Modifiche"???
Grazie


In un form tu "chiami" questo tuo script e, se effettui una "CERCA" ti salvi
le var $oldcampo1 e 2, ok; ma quando tu clicchi sul bottone modifica
richiami lo script e  le variabili $oldcampo1 e $oldcampo2 non le hai,
perchè lo script viene ricaricato dal server e dato in pasto al tuo browser,
la soluzione + spontanea è quella di usare cookie o var di sessione.
Ciao.

 la soluzione + spontanea è quella di usare cookie o var di sessione.
Si ma io non lo so fare ancora, non potresti aiutarmi, con qualche esempio
di linea di codice?
Grazie.


Ti posso scrivere in breve come funzionano le sessioni, magari ci sono altre
soluzioni migliori. Nell'informatica non è sicuro nulla.
Ogni utente che si collega al tuo sito viene referenziato con una sorta di
numero univoco che corrisponde a un file fisico sul server di solito (in
Windows) in PHP\sessiondata\ nel quale tu ci puoi mettere ogni tipo di var,
quando l'utente chiude il browser la sessione viene "persa" e di conseguenza
le var "perse".
E' inutile che ti posto codice, se guardi su 
php.net
 e cerchi session è
tutto chiarissimo.
Ciao.

Scusatemi se mi intrometto nella vostra discussione, ma la storia delle
sessioni
interessa anche me:ho visto quello che dice 
php.net
 ma ho provato e la cosa non
funziona:
Non ho capito a cosa serve session_name(); e a me interessa solo inizializzare
una variabile di sessione(nel mio caso nome utente)e l'ho fatto 
scrivendo:
session_start();
$HTTP_SESSION_VAR("NomeUtente")=$NomeUtente; 
La variabile $NomeUtente viene passata alla pagina php da un form html.
E' corretto?Come faccio a richiamare tyale variabile all'interno di un altro 
file php?
Grazie.
-- 
Posted from  [80.16.165.106] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Session_name:
session_name() returns the name of the current session. If name is
specified, the name of the current session is changed to
its value.
Io facevo cosi': start della sessione e poi se la var $qta_basket non era
ancora stata inizializzata o meglio non era referenziata nel file di
sessione la registravo altrimenti ne prendevo il valore
<?PHP
session_start();
 if (!session_is_registered("qta_basket")){
      $qta_basket = 0;
      session_register("qta_basket");
 } else {
     global $qta_basket;
 }
?>
<Html>
...
...
</Html>