簡體   English   中英

如何從另一個文件訪問變量?

[英]How can I access a variable from another file?

所以基本上我在名為get.php的文件中有2個變量$ Score和$ Name。 我無法訪問它們。 我試圖創建一個新表格,但是沒有用。 雖然我可以將它們放入其中

if (isset($_POST['name_php'])) {
}

在將data-toto-database.php中並將表單操作更改為./php/get.php中。 但是,然后在瀏覽器控制台中回顯結果,而不是在html表中回顯數組項。 凡為結果必須在一個HTML表這樣的 。這是get.php文件。

include("getting-data-into-database.php");

$sql = "SELECT * FROM Leaderboard ORDER BY score DESC";
$result = $conn-> query($sql);
$datas = array();

$id = 0;

if ($result-> num_rows > 0) {
  while ($row = $result-> fetch_assoc()) {
  $datas[] = $row;
  }
  $sliced = array_slice($datas, 0, 10);
  for ($i = 0; $i < sizeof($sliced); $i++) {
    $id = $id + 1;
    echo '<tr><td>' . $id . '</td>' .'<td>' . $sliced[$i]['name'] . '</td>' . '<td>' . $sliced[$i]['score'] . '</td></tr>';
  }
}
?>

這是getting-data-into-database.php文件:

$conn = mysqli_connect('localhost', 'root', '', 'Leaderboard');

if (isset($_POST['name_php'])) {
  $Name = mysqli_real_escape_string($conn, $_POST['name_php']);
  $Score = mysqli_real_escape_string($conn, $_POST['score_php']);

  $adding_data = "INSERT INTO Leaderboard (name, score)
  VALUES ('$Name', '$Score')";

  if ($conn->query($adding_data) === TRUE) {
    echo "New record created successfully";
  } else {
      echo "Error: " . $adding_data . "<br>" . $conn->error;
  }
}
?>

這是html形式:

<form id="myForm" action="php/getting-data-into-database.php" method="post">
  <input type="hidden" class="info" id="namePhp_input" name="name_php">
  <input type="hidden" class="info" id="scorePhp_input" name="score_php">
</form>

最后是js代碼:

  $("#namePhp_input2").val($("#nameInput").val());
  $("#scorePhp_input2").val($(".Score").html());
  pauseTimer();
  $.post($("#myForm").attr('action'), $("input.info").serializeArray(), function(info) {
    console.log(info);
    $(".Datas").load('./php/get.php');
  });

任何想法如何解決這一問題?

至少有兩個選擇。

首先:在PHP中創建表並將其發送到JavaScript文件。 使用jQuery .html並將AJAX POST響應傳遞到$ .html的第一個參數。

第二:通過json發送數據。 json_encodejson_decode使用javascript進行 解析

您還可以使用stringify使用json將數據從JavaScript發送到PHP。

使用$ _SESSION在文件之間傳遞變量

get.php

// starts a session
session_start(); 

// set sessions
$_SESSION['score'] = $Score;
$_SESSION['name'] = $Name;

compare.php

// starts a session
session_start(); 

// compare db value with session
if($_SESSION['score'] == $dbValue){
 ...
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM