Передача сеанса между двумя HTML-страницами

#javascript #php #html #session

#javascript #php #HTML #сеанс

Вопрос:

Я пытаюсь передать сеанс между двумя HTML-страницами,

 $row=mysqli_fetch_assoc($result);
$sname = $row["SP_Name"];
$sname = ucfirst($sname);
$sprice1 = $row["SP_Price1"];
$sprice1 = ucfirst($sprice1);
$_SESSION["sprice1"] = $sprice1;
echo "<tr><td>".'<a  class="btn btn-success" href="pym.html" value="$sprice1">'.$row["SP_Price1"].'</a>'."</tr></td>";
  

на второй странице я пытаюсь использовать это значение для js:

 <script type="text/javascript">
  var temp = "<?php session_start(); echo($_SESSION['sprice1']); ?>";
  var price = temp;

  var gst = .18;
  var k = Number(price)*Number(gst);
  var total = Number(price) Number(k)
  document.getElementById("gstprice").innerHTML =k.toFixed(1);
  document.getElementById("total").innerHTML =total.toFixed(1);
  document.getElementById("sprice").innerHTML = price;
</script>
  

но значение не передается, и var Price отображается как пустой

Комментарии:

1. вы не вызывали session_start() на первой странице.

2. Зачем использовать HTML-страницы? разве вы не можете просто переименовать их в .php? и start_session() на каждой странице, и все готово?

3. Вам также необходимо вызвать session_start() в вашем коде на первой странице.

4. теперь я вызвал его, но он все тот же, и я переименовал файлы в php, но это также не работает. Я попробовал команду <?php session_start(); echo($_SESSION[‘sprice1’]); ?> вне JS, и она работает

5. поместив ваши двойные кавычки <?php … ?> insdie на вторую страницу, PHP не будет выполнять эти скрипты, удалите эти двойные кавычки.

Ответ №1:

запускайте сеанс на каждой странице, где вы используете session['name']; тег

 <?php
session_start();

$row=mysqli_fetch_assoc($result);
$sname = $row["SP_Name"];
$sname = ucfirst($sname);
$sprice1 = $row["SP_Price1"];
$sprice1 = ucfirst($sprice1);
$_SESSION["sprice1"] = $sprice1;
echo "<tr><td>".'<a  class="btn btn-success" href="pym.html" value="$sprice1">'.$row["SP_Price1"].'</a>'."</tr></td>";
?>
  

html-страница

 <?php session_start(); ?> 
<html>
//
//
</html>
  

Комментарии:

1. спасибо!, теперь, когда я передаю <?php session_start(); echo ($_SESSION[‘sprice1’]); ?> внутри HTML, он работает, но данные не извлекаются внутри JS

2. <script type="text/javascript"> <?php echo 'var msg = "'.json_encode($_SESSION['msg']).'";'; </script>