PHP-生成多个表单,但是表单只为每个表单输出相同的内容

PHP-生成多个表单,但是表单只为每个表单输出相同的内容,php,forms,Php,Forms,好的,我基本上已经生成了一个链接列表,这些链接使用表单向PHP发送一个变量,允许我在下一页从每个链接加载不同的内容。但是,每个链接每次似乎只从数据库请求相同的数据。我使用的PHP版本是5.3.14版 以下是第一页的php代码: <?php //DATABASE CONNECTION $News=mysql_query("SELECT * FROM Tutorial"); while($row=mysql_fetch_array($N

好的,我基本上已经生成了一个链接列表,这些链接使用表单向PHP发送一个变量,允许我在下一页从每个链接加载不同的内容。但是,每个链接每次似乎只从数据库请求相同的数据。我使用的PHP版本是5.3.14版

以下是第一页的php代码:

    <?php
        //DATABASE CONNECTION

        $News=mysql_query("SELECT * FROM Tutorial");
        while($row=mysql_fetch_array($News))
          {
            printf("<div class='NewsItem'><div class='title'>%s</div><form enctype='multipart/form-data' action='tutorial.php' method='post'><input type='hidden' name='tutorial' value='%s'/><input type='submit' name='submit' value='%s' id='hyperlink-style-button'/></div>", $row['Title'], $row['Title'], $row['Title']);
          }
        ?>

这是第二个页面的php代码,我希望表单允许我从每个链接显示不同的内容

<?php
    //DATABASE CONNECTION

    $Tutorial=$_POST['tutorial'];
    $query="SELECT * FROM Tutorial WHERE Title='$Tutorial'";
    $News=mysql_query($query);
    while($row=mysql_fetch_array($News))
      {
        printf("<div class='NewsItem'><div class='title'>%s</div>%s</div>", $row['Title'], $row['Tutorial']);
      }
     unset($_POST['tutorial']);
     unset($Tutorial);
    ?>
您错过了
。试试这个

printf("<div class='NewsItem'><div class='title'>%s</div><form enctype='multipart/form-data' action='tutorial.php' method='post'><input type='hidden' name='tutorial' value='%s'/><input type='submit' name='submit' value='%s' id='hyperlink-style-button'/></form></div>", $row['Title'], $row['Title'], $row['Title'])
也代替

$Tutorial=$_POST['tutorial'];

注意:您的代码容易受到SQL注入攻击。请使用事先准备好的声明


警告:mysql扩展从PHP 5.5.0开始,将在将来删除。相反,应该使用or扩展。请不要使用
mysql.*
来开发新代码。

我想您可能已经快速点击了提交按钮。你应该编辑以添加你的问题的其余部分。是的,我很抱歉现在编辑了。你“相信”你的PHP版本在4到5之间吗
phpinfo()
请了解您的服务器。谢谢,我不知道我可以这样做。我很惊讶还没有人因为使用“mysql_”函数集而责骂您。我之所以迟迟不让它们离开,是因为它们是我最先学会的,但为了安全和理智,在你与这些功能形成深刻的情感联系之前,现在就改变PDO。谢谢你指出这一点。但这并不能解决生成的每个链接在第2页上创建相同内容的问题。谢谢,解决了这个问题
$Tutorial=$_POST['tutorial'];
$Tutorial=mysql_real_escape_string($_POST['tutorial']);