Создавать переменную сеанса php посредством onclick

у меня есть проблема, связанная с переменными сеанса. Мне нужно, чтобы он взял стоимость соединения, которое нажимается:

<!-- Submenu Paciente -->
<ul class="nav nav-tabs" role="tablist">
<li role="MenuPatient" id="ginecologiaMenu" class="active">
<a href="#ginecologia" aria-controls="ginecologia" role="tab" data-toggle="tab" onclick="<?php $_SESSION['ListMenu'] = 'ginecologia'; ?>">Ginecología</a>
</li>
<li role="MenuPatient" id="obstetriciaMenu">
<a href="#obstetricia" aria-controls="obstetricia" role="tab" data-toggle="tab" onclick="<?php $_SESSION['ListMenu'] = 'obstetricia'; ?>">Obstetricia</a>
</li>
<li role="MenuPatient" id="antecedentesMenu">
<a href="#antecedentes" aria-controls="antecedentes" role="tab" data-toggle="tab" onclick="funcionAntecedentes() <?php $_SESSION['ListMenu'] = 'antecedentes'; ?>">Antecedentes</a>
</li>
<li role="MenuPatient" id="documentosMenu">
<a href="#documentos" aria-controls="documentos" role="tab" data-toggle="tab" onclick="<?php $_SESSION['ListMenu'] = 'documentos';?>">Documentos</a>
</li>
</ul>

Чтобы так после мочь использовать эту переменную так что, когда он повернется в страницу, он вернулся в предыдущую закладку в зависимости от стоимости переменной.

Проблема состоит в том, что он всегда берет стоимость последней ссылки: Документы.

4
задан 29.03.2016, 19:39
1 ответ

Хороший это могло бы быть возможное решение, менять твою переменную session на часть backend, тогда твой код html остался бы более или менее так:

<!-- Submenu Paciente -->
<ul class="nav nav-tabs" role="tablist">
   <li role="MenuPatient" id="ginecologiaMenu" class="active">
      <a href="#ginecologia" aria-controls="ginecologia" role="tab" data-toggle="tab" onclick="modificarValor(1)">Ginecología</a>
   </li>
   <li role="MenuPatient" id="obstetriciaMenu">
       <a href="#obstetricia" aria-controls="obstetricia" role="tab" data-toggle="tab" onclick="modificarValor(2)">Obstetricia</a>
   </li>
   <li role="MenuPatient" id="antecedentesMenu">
       <a href="#antecedentes" aria-controls="antecedentes" role="tab" data-toggle="tab" onclick="modificarValor(3)">Antecedentes</a>
    </li>
    <li role="MenuPatient" id="documentosMenu">
       <a href="#documentos" aria-controls="documentos" role="tab" data-toggle="tab" onclick="modificarValor(4)">Documentos</a>
   </li>
</ul>

В верхней части или во внешнем файле js размещать следующую функцию:

function modificarValor(valor){
   var url = 'server.php';
   $.ajax({
     type: 'POST',
     url: url,
     data: {valor},
     success:function(data){
        console.log("tu varible de sesion tiene el valor de "+ data);
     }
   });
}   

И в твоем файле server.php ты размещаешь следующее, где только возьмется за то, чтобы изменять твою переменную session завися стоимость, которую ты перемещаешь его.

$valor = $_POST['valor'];

session_start();

switch ($valor) {
    case 1:
        $_SESSION['ListMenu'] = "ginecologia";
        echo 'ginecologia';
        break;
    case 2:
        $_SESSION['ListMenu'] = "obstetricia";
        echo 'obstetricia';
    break;
    case 3:
        $_SESSION['ListMenu'] = "antecedentes";
        echo 'antecedentes';
    break; 
    case 4:
        $_SESSION['ListMenu'] = "documentos";
        echo 'documentos';
    break;
}

Код ты можешь улучшать это гораздо больше, это одинокое для того, чтобы ты дал себе идею о, как ты можешь делать это. привет.

2
ответ дан 24.11.2019, 14:41
  • 1
    Большое спасибо!! Я смог решать мой проблема:) – JCarlos Balaguer 29.03.2016, 20:55