Session e Post non funzionano usando contemporaneamente form e variabi

di il
1 risposte

Session e Post non funzionano usando contemporaneamente form e variabi

Ho due pagine una con il menu' principale , l'altra con l' applicazione , in mezzo ce' una pagina solo php di appoggio per session che richiamo per rieseguire una funzione nella pagina dell' applicazione ,  ora dovendo trasferire il contenuto di una variabile alle altre pagine con form e un link ho usato ?variabile=contenutovariabile ,  ma la session in questo caso non mi funziona, in piu' ogni volta che provo a usare sul browser i file modificati mi rida' quelli vecchi , ho disabilitato tutte le cache possibili ma senza esito  posto i listati, per cortesia aiutatemi!

listato del menu' principale

</style>
</head>
<body bgcolor = "#00008B">
<h2>PAGINA DEL MENU PRINCIPALE</h2>
<h3>Se vuoi una lista dei  vocaboli premi "LISTA VOCABOLI"</h3>
<h3>Se vuoi eseguire un test di memorizazione vocaboli premi "TEST CON VOCABOLI"</h3>
<h3>Se vuoi inserire nuovi vocaboli nel file premi "INSERIMENTO VOCABOLI"</h3>
<h3>Se vuoi creare un nuovo file premi "NUOVO FILE"</h3>
<h3>Se vuoi inserire o cambiare il file premi "PERCORSO FILE"</h3>
<div id "pulsantiera">
<div id = "pulsanti" align = "center">
<form action="./LIST-VOC.php" target="_blank"> <br>
    <button type="submit">
    LISTA VOCABOLI
    </button>  
</form>
<form  action="ENG-ITA-TEST-PAGE-SUPPORT-SAVE-SESSION_19.php?flag=flag" method="post">  <br>
    <button type="submit" >
    TEST CON VOCABOLI <br>DALL' ITALIANO ALL' INGLESE
    </button>  
</form>

<form action="ENG-ITA-TEST-PAGE-SUPPORT-SAVE-SESSION_19.php?flag=flag1"method="post" > <br>
    <button type="submit" >
    TEST CON VOCABOLI<br>DALL' INGLESE ALL' ITALIANO
    </button>  
</form>
    
    <form action="./RECORD-VOCABOLI-INSERT-PAGE.php" target="_blank"> <br>
    <button type="submit">
    INSERIMENTO VOCABOLI
    </button>  
</form>
    
    <form action="PROVA-INSERIMENTO-TESTO-FINESTRA-PULSANTE.html" target="_blank"> <br>
    <button type="submit">
    NUOVO FILE
    </button>  
</form>

<form action="./VOC-FILE-SELECT-PAGE.php" target="_blank"> <br>
    <button type="submit">
    PERCORSO FILE
    </button>
    
</form>
</div>
</div>
</body>
</html>
<?php
header("Expires: on, 01 Jan 1970 00:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
session_cache_limiter('private');
session_cache_expire(0);
//session_regenerate_id(); 
session_start();

$flago_0 = "";
global $flago_0;

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

$flago_0=$_POST['flag']; }



$_SESSION['flag_lang'] = $flago_0;






?>

pagina di appoggio dati che richiama l' applicazione in un altra pagina

<!DOCTYPE html>
<meta http-equiv="Cache-Control" content="no-store" />
<head>
</head>








<body bgcolor = #66CDAA >

<?php
header("Expires: on, 01 Jan 1970 00:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

session_cache_limiter('private');
session_cache_expire(0);
//session_regenerate_id();
session_start();

//session_unset()
//header("Cache-control: private");
//session_unset();
 //if ($_DEBUG == true) { error_reporting(E_ALL); } 
$filename_appo ="./LISTE-TXT/GLOBAL-DATA.TXT";
 foreach(file($filename_appo) as $APPO1) {
    $APPO = explode(";", $APPO1,);
      $filename_appo = $APPO[0];
      $filename = str_replace(array("\n","\r"), "", $filename_appo);
      $strange_lang = $APPO[1];
      $local_lang = $APPO[2];
     global $strange_lang;
      global $local_lang;
      global $filename;
       }
       //echo $filename;
$linee = file($filename);
foreach(file($filename) as $line) {
    global $parts;
    $parts = explode(";", $line);
   global $parts;
   } 
   //global $end_number;
   $end_number = $parts[0];
   //echo $end_number;
//echo $filename;
//echo $linee;
    
      $randomize_int_value = rand(1,$end_number);

   foreach($linee as $line4) {
       $parts = explode(";", $line4,);
        
    if ($parts[0] == $randomize_int_value){
        $parts0 = $parts[0];
        global $parts0;
        $_SESSION['PARTS0'] = $parts0;
        
      
        $parts1 = $parts[1];
        global $parts1;
        $_SESSION['PARTS1'] = $parts1;
        $appo = $_SESSION['PARTS1'];
        
       
        $parts2 = $parts[2];
        global $parts2;
        $_SESSION['PARTS2'] = $parts2;
        
        
                  // $parts3=$_SESSION['PARTS2'];
        //echo $parts3 ;           
                                        }
             }
            
              $flag2 = $_SESSION['flag_lang'];
              $_SESSION['flag_lang1'] = $flag2;
              echo $flag2;
              echo $_SESSION['flag_lang1'];
              
              //if (isset ($_POST['flag']) ) { $stampa=$_POST['flag'] ;
              //echo "prova";
              //echo $stampa;}
             
            header("location: ENG-ITA-TEST-PAGE_19.php")      
            //echo $parts2;

                    ?>
</body>
</html>

Pagina dell' applicazione

<!DOCTYPE html>
<meta http-equiv="Cache-Control" content="no-store" />
<head>
<style>

.container-4{
background-color: #708090;
color:#B22222;
position: absolute;
top:50%;
left:40%;

}
#principale{
background-color: #708090;
color:#B22222;
position: absolute;
top:55%;
left:43%;
}



#return_browse{
background-color: #708090;
color:#B22222;
position: absolute;
top:60%;
left:43%;
}
#error_message{
position: absolute;
top:67%;
 left:35%;
 }
 #rigth_message{
position: absolute;
top:67%;
left:33%;
 }
  #rigth_message_1{
position: absolute;
top:72%;
left:35%;
 }
 
  #translate{
position: absolute;
top:67%;
left:27%;
 }
 
  #translate_1{
position: absolute;
top:72%;
left:35%;
 }
 
  #translate_b{
background-color: #708090;
color:#B22222;
position: absolute;
top:65%;
left:43%;
 }
 
 
 
 
 
h2 {text-align: center;
color:#63B8FF;
}
h3 {text-align: center;
color:#63B8FF;
}
/*div {text-align: center;}*/

mark {
  background-color: #8FFFFF;
  color: #000066;
}
button{ 
background-color: #708090;
color:#B22222;
}


</style>






</head>








<body bgcolor = "#00008B" >





     


<?php
header("Expires: on, 01 Jan 1970 00:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
session_cache_limiter('private');
session_cache_expire(0);
//session_regenerate_id();
session_start();

global $FLAG1;
global $FLAG0;

$filename_appo ="./LISTE-TXT/GLOBAL-DATA.TXT";

  foreach(file($filename_appo) as $APPO1) {
    $APPO = explode(";", $APPO1,);
        
      $filename = $APPO[0];
      //$filename = str_replace(array("\n","\r"), "", $filename_appo);
      $strange_lang = $APPO[1];
      $local_lang = $APPO[2];
     global $strange_lang;
      global $local_lang;
      global $filename;
      
       }
       
       $flago=$_SESSION['flag_lang1'];
       echo ($flago) ;
       
       $parts7 = $_SESSION['PARTS0'];
       
     
     if ($flago = "flag") { 
     $parts6 = $_SESSION['PARTS1'];
      
     $parts4 = $_SESSION['PARTS2']; }
     elseif ($flago = "flag1") { 
     $parts6 = $_SESSION['PARTS2'];
      
     $parts4 = $_SESSION['PARTS1'];
           }
           
    $FLAG1 =  "prova" ;     
      
       //echo bin2hex($filename)."--";
       //echo bin2hex("inglese-italiano-3000-parole.txt");

?>                   


















<h2>PAGINA DI TEST VOCABOLI</h2>
<h3>In questa pagina si visualizza un vocabolo in <?php echo $strange_lang; ?></h3> 
<h3>ricavato dal file <?php echo $filename;?></h3>
<h3>Se si desidera cambiare file andare nel menu pricipale e selezionare "PERCORSO FILE"</h3>
<h3> Inserire la traduzione esatta nel form sottostante , premendo il tasto si avra' il risultato </h3>
<h2> Il vocabolo da tradurre e':<mark><?php echo $parts6;?></mark> record n°:<?php echo $parts7;?> </h2>

<div class="box">
  <div class="container-4">
  <form method="post">
  <input type="text" id="voca_ita" name="voca_trad" placeholder ='INSERISCI LA TRADUZIONE' >
  <button type="submit" name="invio" > PREMERE PER INVIARE</button>
  </form>   
</div> 
<div id="principale">
    <form action="PROVA_11.php">
    <button type="submit" >MENU PRINCIPALE</button><br>
    </form>
  </div>
  <div id="return_browse">
</form>
    <form action="ENG-ITA-TEST-PAGE-SUPPORT-SAVE-SESSION_18.php">
   <!-- <form onclick ="linko()">-->
    <button type="submit" >NUOVO TEST</button><br>
    </form>
  </div>
  <div id="translate_b">
  <form  method="post" >
<button type="submit" name="translate">TRADUZIONE ESATTA</button>
</form>
</div>
  <?php
header("Expires: on, 01 Jan 1970 00:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
session_cache_limiter('private');
session_cache_expire(0);
//session_regenerate_id();
session_start();



//echo $parts4;
$parts5 = str_replace(array("\n","\r"), "", $parts4);
$parts5= strtolower($parts5);
                    //echo $parts4;
                    global $parts5;
                   // echo $parts5;
                    if (isset($_POST['voca_trad'])) {                    
                    $voc_tra = $_POST['voca_trad'];
                    $voc_tra = strtolower($voc_tra);
                       
                       global $voc_tra;
                    
                    //echo bin2hex($voc_ita)."----";
                    //echo bin2hex($parts5)."----";
                   
                   
                    
                    
                   // echo "---".bin2hex($voc_ita)."----";
                  //   echo bin2hex($parts2); 
                                      
                    if( $parts5 == $voc_tra) { 
                    //echo "--1";
                    echo '<div id="rigth_message"><h3><mark>TRADUZIONE ESATTA! ALTRO VOCABOLO<mark></div>';                       
                    echo '<div id="rigth_message_1"><h3><mark>PREMI IL PULSANTE "NUOVO TEST"<mark></div>';
                        
                         } else { 
                         
                                              
                         $voc_tra = "";
                         //echo "--0";
                         echo '<div id="error_message"><h3><mark>TRADUZIONE ERRATA! RIPROVA<mark></div>';
                          exit;                           
                          }
                          } 
                    
                    
                    if (isset($_POST['translate'])) { 
                    //echo $parts5;
                    
                    
                    echo '<div id="translate"><h3><mark>LA TRADUZIONE DI '.$parts6.' É '.$parts5.'  RECORD N°:'.$parts7.'</mark></div>';                       
                    echo '<div id="translate_1"><h3><mark>PREMI IL PULSANTE "NUOVO TEST"<mark></div>'; 
                    
                    }  
 //$flag0O=$_SESSION['flag_lang1'];
 
   //    echo ($flagO) ;
        
 ?>             
</body>
</html>
                      
                      

1 Risposte

  • Re: Session e Post non funzionano usando contemporaneamente form e variabi

    Ciao da php == 5.6 si usa session_start(); per creare o recuperare una vecchia sessione.

    Inoltre se session_start crea header (impostazioni standard tramite php.ini) non può esistere output, no markup HTML o css ad esempio.

    1) Altrimenti da php = 7.1 $_SESSION non viene creata se non da una session attiva . 2) una variabile con visibilità globale permane finché lo script è in esecuzione eccetto per le variabili speciali tra cui $_SESSION (sempre con sessione attiva, spesso non basta session_create).

    Temporaneamente abilita error_reporting(-1); se vedi errori a schermo o da log.

Devi accedere o registrarti per scrivere nel forum
1 risposte