Создание переменной сеанса 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
Author: JCarlos Balaguer, 2016-03-29

1 answers

Ну это может быть возможным решением, изменить переменную session в бэкэнде, тогда ваш 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
Author: Goyo, 2016-03-29 19:45:46