POST时变量

时间:2013-04-29 16:46:50

标签: php mysql variables

在此代码中,您可以看到从MySQL数据库中排列数据并准备进行更改。 但我对变量$_POST[$here]有疑问。如何将变量插入到该位置。阅读代码以便更好地理解。此代码不起作用。还有其他方法吗?或者这是不可能做这样的事情。如果我不使用变量来改变我每一个或没有一个值。我现在在哭,这是一个令人沮丧的问题。谢谢你的每一个答案......

while ($row = mysql_fetch_array($result) or die(mysql_error())){
$link = $row['link'];
$tittle = $row['tittle'];
$content= $row['content'];
echo "<div>";
echo "<form name='"; echo $link; echo "' method='POST' action='login.php'>";
echo "<h1>"; echo $link; echo "</h1>";
echo "<h3>"; echo $tittle; echo "</h3>";
echo "<input type='text' name='"; echo $link; echo "tittle'>";
echo "<h3>"; echo $content; echo "</h3>";
echo "<textarea name='"; echo $link; echo "content'></textarea>";
echo "<input type='submit' name='"; echo $link; echo "' value='change'>";
echo "</form>";
echo "</div>";
$var1 = $link."tittle"; $titt = $_POST[$var1];
$var2 = $link."content"; $ten = $_POST[$var2];
mysql_query("UPDATE inbox SET tittle='".$titt."', content='".$ten."' WHERE link='".$link."'"); 
echo $link;
}

我修好了!!!

2 个答案:

答案 0 :(得分:2)

您的代码存在很多问题:

  1. 您使用mysql_*个函数代替PDO
  2. 您无法逃避您的$_POST价值暴露您的网站,以免黑客入侵。至少使用mysql_real_escape_string(),但请参阅第1点
  3. 您定义$titt,然后使用导致错误的$tit
  4. 您保留echo而不是简单地连接字符串然后echo该字符串
  5. 要解决很多问题......

答案 1 :(得分:0)

排除安全错误,您可以尝试:

while ($row = mysql_fetch_array($result) or die(mysql_error())){
    $link = $row['link'];
    $tittle = $row['tittle'];
    $content= $row['content'];
    echo "<div>";
    echo "<form name='" . $link . "' method='POST'>";
    echo "<h1>" . $link . "</h1>";
    echo "<h3>" . $tittle . "</h3>";
    echo "<input type='text' name='" . $link . "tittle'>";
    echo "<h3>" . $content . "</h3>";
    echo "<textarea name='" . $link . "content'></textarea>";
    echo "<input type='submit' name='" . $link . "' value='change'>";
    echo "</form>";
    echo "</div>";

    $var1 = $link."tittle";
    $var2 = $link."content";

    if (isset($_POST[$var1]) and isset($_POST[$var2])) {
        $titt = $_POST[$var1];
        $ten = $_POST[$var2];
        mysql_query("UPDATE inbox SET tittle='".$titt."', content='".$ten."' WHERE link='".$link."'"); 
    }

    echo $link;
}