PHP Wamp server


PHP Wamp server

嘿,我有一个包含不同国家信息的数据库。我还有一个html页面,您可以在其中提交有关国家的信息。有人可以帮我编写一个代码,说明信息已存储在数据库中,而不仅仅是重定向到空白页吗?

这是我的 html 页面,您可以在其中提交信息:

<!DOCTYPE HTML>
<html>
<head>
    <meta charset="UTF-8">
        <title>Sett inn land</title>
</head>
<body>
    <form action="geoinn.php" method="get">
        Land: <input type="text" name="navn"> <br>
        Hovedstad: <input type="text" name="hovedstad"> <br>
        Areal: <input type="text" name="areal"> <br>
        Folketall: <input type="text" name="folketall"> <br>
        <input type="submit" value="Legg inn informasjon">  
    </form>
</body>
</html>

这是您在另一页上单击"提交"时被重定向到的页面。在这个页面上,我想有一个代码说"信息已存储在我们的数据库中"或它没有:

    <?php
    $tjener = "localhost";
    $brukernavn = "root";
    $passord ="";
    $database ="Geografi";
    $kobling = mysqli_connect($tjener,$brukernavn,$passord,$database);
    $kobling->set_charset("utf8");
?>
<!DOCTYPE HTML>
<html>
<head>
    <meta charset="UTF-8">
    <title>Geografi</title>
</head>
<body>
    <?php
    $land = $_GET["navn"];
    $hovedstad = $_GET["hovedstad"];
    $areal = $_GET["areal"];
    $folketall = $_GET["folketall"];
    $sql ="INSERT INTO land (navn,hovedstad, areal, folketall)       VALUES('$land','$hovedstad','$areal', '$folketall')";
    mysqli_query($kobling, $sql);
    mysqli_close($kobling);
    ?>
</body>
</html>

添加一些输出,你会得到一些输出。您获得的空白页是执行更新的页面。您可以添加基本的 HTML 页面标记,但不在<body>内输出任何内容

$sql ="INSERT INTO land 
             (navn,hovedstad, areal, folketall)       
       VALUES('$land','$hovedstad','$areal', '$folketall')";
$result = mysqli_query($kobling, $sql);
if ( $result === FALSE ) {
   echo '<p>FAILED MESSAGE</p>';
} else {
   echo '<p>SUCCESS MESSAGE</p>';
}
echo "<p>Land = $land</p>";
echo "<p>hovedstad = $hovedstad</p>";
// and so on
mysqli_close($kobling);

正如周杰伦所说,

您的脚本面临 SQL 注入攻击的风险。了解 MySQLi 的预准备语句。