I have seen examples for this online, but it only seems to break my code. I want to be able to I would like to store a field queried, using the code below in a session variable.
PHP:
<?php
// Collect input
// If an input has been given
if(isset($_POST["aSearch"])) {
$searchq = $_POST["aSearch"];
$searchq = preg_replace("#[^0-9a-z]#i","",$searchq); //Can only search words
// Select records if name's match
$sql = "SELECT * FROM birdt WHERE birdName LIKE '%$searchq%'";
}
// Tests if connection is made to the db to query it
if ($conn->query($sql)=== TRUE){
echo "The rows you have searched for are:";
} else {
echo "Connection failed: ";
echo $conn->error;
}
// Show fields
$result = $conn->query($sql);
// Output data of each row
if ($result-> num_rows> 0) {
readfile("ViewReturn.html");
while($row = $result-> fetch_assoc()) {
// redirect the user to a new page
echo "<a href='sort.php'> Bird Name: ".$row["birdName"]. "</a><br><br>"; // Important row
}
} else {
echo "0 results";
}
?>
This code can be used to return values from the database depending on the users input. It will return the "birdName" and allow the user to click a queried result to go to the "sort.php" page.
How would you store the returned field "birdName" once/before it's clicked in a session variable, so it can be accessed in the following page?
P.S. I understand my question is quite specific and unideal, but I'm seriously struggling to get this to work, and I'm quite desperate, thanks.
答案 0 :(得分:0)
在脚本的开头你需要输入
session_start();
然后,您可以通过将数据库中的每个鸟名称推送到此数组中,将所有鸟类名称保存在会话变量中。
$_SESSION['birdNames'] = array();
if ($result-> num_rows> 0) {
readfile("ViewReturn.html");
while($row = $result-> fetch_assoc()) {
// redirect the user to a new page
$_SESSION['birdNames'][] = $row['birdName'];
echo "<a href='sort.php'> Bird Name: ".$row["birdName"]. "</a><br><br>"; // Important row
}
} else {
echo "0 results";
}
然后, sort.php
可以使用session_start();
继续会话,并访问$_SESSION['birdNames']
以获取所有鸟类名称。
但是,我怀疑这不是你想要的。如果您希望sort.php
只处理用户点击的特定鸟名,您不应该使用会话变量,它应该是一个URL参数。
echo "<a href='sort.php?id=" . $row["id"] . "'> Bird Name: ".$row["birdName"]. "</a><br><br>";
然后sort.php
可以使用$_GET['id']
来获取用户点击的鸟的ID。