【发布时间】:2014-05-29 16:25:34
【问题描述】:
我制作了一个 html 页面,您可以在其中在输入字段中写一些东西,并在同一页面上提交后显示它。但是当我尝试将书面信息放在 mysql 数据库的输入字段中时,它不会在该数据库中收到任何内容。
我的代码:
<?php
session_start();
if(isset($_SESSION["username"])) {
?>
<html>
<head>
<link href="css/index.css" rel="stylesheet" type="text/css" >
<link rel="stylesheet" type="text/css" href="css/style2.css" />
</script>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
var message = $("input").val();
var old = $("#content").html();
$("#content").html(old + '<p><span style="font-variant:small-caps">
<span style="font-size:1.5em"><b><span style="text-transform:capitalize">
<?php echo $_SESSION["username"];?></span> : </b></span>
<span style="font-size:1.6em">' + message +
"</span></span></p>");
$("#content").scrollTop($("#content")[0].scrollHeight);
});
});
</script>
</head>
<form method="post" action="startseite.php">
<div id="message">
<input type="text" name="spind" value="" size="55" maxlength="90">
<input type="submit" name="hallo">
<button>Senden</button>
</div></form>
<?php
$verbindung = mysql_connect("localhost", "db", "123456")
or die("Fehler im System");
mysql_select_db("db")
or die("Verbindung zur Datenbank war nicht erfolgreich");
$user = $_SESSION["username"];
$message = $_POST["spind"];
$eintrag = "INSERT INTO chat
(user, message)
VALUES
($user, $message)";
mysql_query($eintrag);
mysql_close($verbindung);
}
?>
【问题讨论】:
-
忽略您通过直接使用未经处理的用户输入对 sql 注入敞开大门,您需要引用您的值 ->
VALUES ('$user', '$message') -
首先在 $_POST['spind'] 和会话以及插入语句中的变量周围添加单引号
标签: javascript php html mysql database