Создание переменной сеанса 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>
чтобы затем использовать эту переменную, чтобы при возвращении на страницу она возвращалась на предыдущую вкладку в зависимости от значения переменной.
Проблема в том, что он всегда принимает значение последней ссылки: документы.
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;
}
Код вы можете улучшить его намного больше, это только для дай тебе понять, как ты можешь это сделать. с уважением.