bugfix> php > 投稿

私が欲しいのは、スクリプトを実行するときにSESSION変数を変更することです

ここで紹介する例では、SESSION変数は変更されません。常にクローズされており、オープン登録に変更される可能性があります。

「periodoinscripcion.php」

<?php 
session_start();

$inscripcioncerrada = "inscripcion.php"; // CLOSE
$inscripcionabierta = "registrar.php"; // OPEN
$_SESSION['estadoInscripcion'] = $inscripcioncerrada;

if (isset($_REQUEST["estado"])) {
$_SESSION['estadoInscripcion'] = $_REQUEST['estado']; 
}
?>

および 'periodosinscripcion_abrir_registro.php'

<script language="javascript">
    var nuevoEstado = '$inscripcionabierta'; 
    xhr = new XMLHttpRequest(); 
    xhr.open('POST', 'periodoinscripcion.php'); 
    xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); 
    xhr.send(encodeURI('estado=' + nuevoEstado));
</script>

回答 1 件
  • なぜこのようにPHPファイルを構造化したのかわかりませんが、おそらくこれがうまくいくでしょう:

    js

    var nuevoEstado = 'registrar'; 
     xhr = new XMLHttpRequest(); 
     xhr.open('POST', 'periodoinscripcion.php', true);
     var params = 'estado=' + nuevoEstado;
     xhr.open('POST', url, true);
     //Send the proper header information along with the request
     xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
     xhr.send(params);
    
    

    php

    <?php 
    session_start();
    
    $inscripcioncerrada = "inscripcion.php"; // CLOSE
    $inscripcionabierta = "registrar.php"; // OPEN
    $_SESSION['estadoInscripcion'] = $inscripcioncerrada;
    
    if (isset($_POST["estado"])) {
       $_SESSION['estadoInscripcion'] = $_POST['estado']; 
    }
    
    

    ?>

あなたの答え