How to set unset sequence in php

63 views Asked by At

there are two inputs that should show interactions. Everything works, but when I want to refresh the page I add unset($_SESSION['one'], $_SESSION['second']) an error appears enter image description here

Without unset($_SESSION['one'], $_SESSION['second']) enter image description here

But you still need to reset everything when you refresh the page

search.php

<?php
session_start();
?>
<body>
   <form action="new.php" method="post">
      <div>
         <input type="search" name='search1' list="doc" id="inp1">
         <datalist id='doc'>
            <option value="diclo">diclo</option>
            <option value="keto">keto</option>
         </datalist>
      </div>
      <div>
         <input type="search" name='search2' list="doc2" id="inp2">
         <datalist id='doc2'>
            <option value="diclo">diclo</option>
            <option value="keto">keto</option>
         </datalist>
      </div>
      <div>
         <button name='btn'>Save</button>
      </div>
   </form>
<?php
if(isset($_SESSION['error'])) { ?>
<div> <?= $_SESSION['error'] ?></div>
<?php }
unset($_SESSION['error']);
if(isset($_SESSION['one']) && isset($_SESSION['second'])) { ?>
<div>
   <div>
      <p><?= $_SESSION['one'] ?></p>
   </div>
   <p><?= $_SESSION['second'] ?></p>
   <form action="del.php" method='post'>
      <button name='btn1'>INTERACTION</button>
   </form>
</div>
<?php }
?>   
<?php
if (isset($_SESSION['yes'])) {
   $getDrugInt = $model->getDrugInt($_SESSION['one'], $_SESSION['second']);
   for ($i = 0; $i < count($getDrugInt); $i++) { ?>
      <div>
         <p> <?= $getDrugInt[$i]['profDescription']?> </p>
      </div>
<?php   }
}
unset($_SESSION['yes']);
?>
<?php
unset($_SESSION['one'], $_SESSION['second']); ?>

new.php

session_start();
$arr = array('diclo', 'keto');

if(isset($_POST['btn'])) {
   unset($_SESSION['one'], $_SESSION['second']);
   $inputone = $_POST['search1'];
   $inputsecond = $_POST['search2'];
   if(in_array($inputone, $arr) && in_array($inputsecond, $arr)) {
      $_SESSION['one'] = $inputone;
      $_SESSION['second'] = $inputsecond;
      header('location: search.php');
   } else {
      $_SESSION['error'] = 'No results found';
      unset($_SESSION['one'], $_SESSION['second']);
      header('location: search.php');
   }
}

del.php

session_start();
if(isset($_POST['btn1'])) {
   $_SESSION['yes'] = true;
   header('location: search.php');
} else {
   $_SESSION['yes'] = false;
}

Thank you.

0

There are 0 answers