сохранение нескольких параметров в одном 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
}

?> 
Author: Marcos, 2017-02-18

3 answers

Ответ прост, и вам не нужно проверять, существует ли $_SESSION ["данные"] ...

<?php
    session_start();       
    $_SESSION["dato"][]=$_POST["datoparametro"];
?> 
 0
Author: Ricardo Maldonado, 2017-02-18 17:04:30

Если идея состоит в том, чтобы сохранить в переменной 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"];
?>
 2
Author: Marcos, 2017-02-18 15:39:24

Чтобы передать переменную в качестве сеанса, этот код должен выполнить:

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");
}

 0
Author: PieroDev, 2017-02-18 15:58:45