如何使用PHP将数据发送到另一个页面?

如何使用PHP将数据发送到另一个页面?,php,html,mysql,Php,Html,Mysql,我有一个网站,它应该显示一些来自MySQL服务器的关于食品法庭的信息,我所做的是,我将数据显示在网站上,如果他们点击,它们将被重定向到另一个网页。我的问题是,我如何才能检查他们单击的超链接是什么,以便在第二个网页上显示准确的信息 我所做的是,我试图使用get发送信息,但没有结果。有人能给我引路吗?我不熟悉PHP和MySQL编码 这是我用来显示美食广场信息的网站的PHP代码 <?php require 'dbFunction.php'; $con

我有一个网站,它应该显示一些来自MySQL服务器的关于食品法庭的信息,我所做的是,我将数据显示在网站上,如果他们点击,它们将被重定向到另一个网页。我的问题是,我如何才能检查他们单击的超链接是什么,以便在第二个网页上显示准确的信息

我所做的是,我试图使用get发送信息,但没有结果。有人能给我引路吗?我不熟悉PHP和MySQL编码

这是我用来显示美食广场信息的网站的PHP代码

              <?php
    require 'dbFunction.php';
    $con = getDbConnect();
    if (!mysqli_connect_errno($con)) {
        $result = mysqli_query($con,"SELECT * FROM foodcourt");
    while($row = mysqli_fetch_array($result)) {
        echo "<a href=\"foodstalldetail.php?fc=$row[FCNo]\">Foodcourt " . $row['FCNo'] . "</a><br />";
        echo $row['FCDescription'] . "<br />";
        echo $row['FCImage'] . "<br />";
        echo "<br>";
        $data=$row['FCNo'];
        } 
    } else {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }
    mysqli_close($con);
    ?>  
    <?php
    require 'dbFunction.php';
    $con = getDbConnect();
    $data = $_GET['$row[FCNo]'];
    if (!mysqli_connect_errno($con)) {
                   $result = mysqli_query($con,
                "SELECT * "
                . "FROM StallDetails SD AND FoodDetails FD"
                . "WHERE FD.StallID = SD.StallID "
                . "AND FD.FCNo = ".$data);
    while($row = mysqli_fetch_array($result)) {
            echo "Foodcourt " . $row['FCNo'] . "<br />";
            echo $row['Details']."<br />";
            echo $row['Description'].",<br> ";
            echo "Price: $".$row['Price']."<br> ";
    }  }
    else {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }
    mysqli_close($con);

这是我用来“接收”信息的代码

              <?php
    require 'dbFunction.php';
    $con = getDbConnect();
    if (!mysqli_connect_errno($con)) {
        $result = mysqli_query($con,"SELECT * FROM foodcourt");
    while($row = mysqli_fetch_array($result)) {
        echo "<a href=\"foodstalldetail.php?fc=$row[FCNo]\">Foodcourt " . $row['FCNo'] . "</a><br />";
        echo $row['FCDescription'] . "<br />";
        echo $row['FCImage'] . "<br />";
        echo "<br>";
        $data=$row['FCNo'];
        } 
    } else {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }
    mysqli_close($con);
    ?>  
    <?php
    require 'dbFunction.php';
    $con = getDbConnect();
    $data = $_GET['$row[FCNo]'];
    if (!mysqli_connect_errno($con)) {
                   $result = mysqli_query($con,
                "SELECT * "
                . "FROM StallDetails SD AND FoodDetails FD"
                . "WHERE FD.StallID = SD.StallID "
                . "AND FD.FCNo = ".$data);
    while($row = mysqli_fetch_array($result)) {
            echo "Foodcourt " . $row['FCNo'] . "<br />";
            echo $row['Details']."<br />";
            echo $row['Description'].",<br> ";
            echo "Price: $".$row['Price']."<br> ";
    }  }
    else {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }
    mysqli_close($con);

您不需要发送任何数据

通常使用GET变量。例如:

<a href="user.php?id=344">Wayne</a>
在本例中,一旦您拥有
id
,您就可以决定显示哪些用户详细信息:

$userDetails = $user->get($id);
另一个例子:

<a href="details.php?show=recipe&id=34">Wayne</a>

。。。翻译成:

  • show=配方
  • id=34

您引用变量的方式如下: $_GET['$row[FCNo]']

但url中的变量看起来是fc,因此您可以按如下方式访问它:
$_GET['fc']

你做错了。您在get变量中也使用了$row,并且没有将$data括在引号中
'
。还有一件事您没有选择数据库。使用
mysqli\u select\u db
函数选择您的数据库。在选择表时也使用和。使用下面的代码

  <?php
        require 'dbFunction.php';
        $con = getDbConnect();
mysqli_select_db($con,"db_name");
        $data = $_GET['fc'];
        if (!mysqli_connect_errno($con)) {
                       $result = mysqli_query($con,
                    "SELECT * "
                    . "FROM StallDetails SD , FoodDetails FD"
                    . "WHERE FD.StallID = SD.StallID "
                    . "AND FD.FCNo = '".$data."'");
        while($row = mysqli_fetch_array($con,$result)) {
                echo "Foodcourt " . $row['FCNo'] . "<br />";
                echo $row['Details']."<br />";
                echo $row['Description'].",<br> ";
                echo "Price: $".$row['Price']."<br> ";
        }  }
        else {
            echo "Failed to connect to MySQL: " . mysqli_connect_error();
        }
        mysqli_close($con);

这看起来非常不安全。您确定您的用户参数正确吗?使用
mysqli
时,您应该使用参数化查询,并将用户数据添加到查询中。不要使用字符串插值来完成此操作,因为您将创建严重的错误。您的代码从根本上已被破坏,并且容易受到攻击。安全问题不是问题,因为我实际上是为一个学校项目执行此操作的。我使用此代码纯粹是为了学术目的,而不是商业用途。我使用了该代码,并收到了警告。警告:mysqli_fetch_array()希望参数1是mysqli_结果,布尔值在C:\Program Files(x86)\EasyPHP-DevServer-14.1VC11\data\localweb\CA2\foodStallDetail.php的第31行中给出。我已经编辑了我的答案,请检查它。我希望这对您有用尽管使用了您与我共享的更新代码,但仍会出现相同的错误。很抱歉,再次编辑它可能会解决您的问题,而($row=mysqli\u fetch\u array($con,$result)){是出现错误的行。尽管使用了更新的代码,它仍然不会停止出现。哇,谢谢你的建议。我会尝试一下,如果我将来遇到问题,我会在这里发表评论。谢谢!嗨,我只是想问一下,这对MySQL是否同样有效?我理解你的意思,但我不知道是否可以使用我的SQL是否替换$userDetails?您好,我这样编辑了它,但它不起作用,因为有一个错误说mysqli_fetch_array()希望参数1是mysqli_result,对象在C:\Program Files(x86)\EasyPHP-DevServer-14.1VC11\data\localweb\CA2\foodStallDetail.php中给出