сохранение нескольких параметров в одном session
у меня есть сомнение с PHP
, я выполняю форму с одним input
и с 2 кнопками, одной для сохранения и одной для сбора.
идея состоит в том, что при нажатии кнопки Сохранить она сохраняется в $_SESSION
, столько переменных, сколько записано в input
, но оказывается, что она сохраняет мне только последнюю записанную переменную.
я помещаю что-то из кода.
Index.php
<body>
<form action="guardar.php" method="post">
<br/><br/>
<h1>Escriba una palabra o un numero</h1><br/>
<input type="text" name="datoparametro" VALUE="" id="datoparametro"><br/><br/>
<input type="submit" name="ok" VALUE="guardar"><br/>
</form>
<input type="submit" value="recojer" onclick="location='recojer.php'"/> <br/>
<input type="submit" value="borrar" onclick="location='borrar.php'"/>
</body>
Guardar.php
<?php
session_start();
$midato=$_POST["datoparametro"];
$_SESSION["dato"]=$midato;
if(isset($_SESSION["dato"])){
$midato=$_SESSION["dato"]+ 1;
}
else{
$midato=array();
$midato[]=$_POST["datoparametro"];
$_SESSION["dato"]=$midato
}
?>
3 answers
Ответ прост, и вам не нужно проверять, существует ли $_SESSION ["данные"] ...
<?php
session_start();
$_SESSION["dato"][]=$_POST["datoparametro"];
?>
Если идея состоит в том, чтобы сохранить в переменной session $_SESSION["dato"]
столько значений, сколько отправлено в $_POST["datoparametro"]
, Вы можете сделать следующее:
Проверить, существует ли переменная
$_SESSION["dato"]
. В случае, если он не существует, мы инициализируем его какarray
.Затем мы добавляем значение, отправленное в
$_POST["datoparametro"]
, в массив в переменной$_SESSION["dato"]
.
Пример:
<?php
session_start();
// Si no existe, la inicializamos
if (empty($_SESSION["dato"])) {
$_SESSION["dato"] = array();
}
// Agregamos el nuevo valor al arreglo
$_SESSION["dato"][] = $_POST["datoparametro"];
?>
Чтобы передать переменную в качестве сеанса, этот код должен выполнить:
if ($ldapbind) { session_start(); $_SESSION['name']=$_POST["t1"]; echo" alert('Bienvenido Al Panel de Administracion de Usuario.'); window.location.href='panel.php'; "; }
Затем на другой странице, где будет получено имя перед HTML, вы должны поместить этот код: Кроме того, это с некоторой безопасностью, если другой человек знает имя вашей другой страницы, но не вошел в систему с этим кодом, он не сможет получить доступ, только если он вошел в систему.
session_start(); if (!isset($_SESSION['name'])) { header("location: index.php"); }