我试图制作一个简单的PHP系统,它接受用户的登录名,收件人名称和消息内容并将其写入SQL数据库。即使在我发送消息并刷新页面之后,我仍然没有任何错误。但是没有新的条目出现在我的SQL数据库中(通过phpMyAdmin检查)。顺便说一下,所有这些代码都在同一页上。无法将变量写入SQL数据库
开始与一个HTML形式来收集数据:
<form name="login" action="" method="POST">
<p>Recipient: <input type="text" name="recipient"/></p>
<p>Message: <input type="text" name="contents"/></p>
<input type="Submit" Name="submit" value="Send"/>
</form>
然后我设置连接到SQL数据库:
<?php
$link = mysqli_connect('host','username','password','database');
$sqlaction = 'INSERT INTO $userinbox (Sender, Message) VALUES ($email, $username)';
?>
然后进入该信息到数据库中的功能:
<?php
session_start();
function message($link, $sqlaction)
{
$sender = $_SESSION['name'];
$recipient = strtolower($_POST['recipient']);
$contents = $_POST['contents'];
switch ($recipient) {
case 'person1':
$userinbox = 'person1';
$result = mysqli_query($link, $sqlaction);
echo 'Message sent.';
break;
case 'person2':
$userinbox = 'person2';
$result = mysqli_query($link, $sqlaction);
echo 'Message sent.';
break;
case 'person3':
$userinbox = 'person3';
$result = mysqli_query($link, $sqlaction);
echo 'Message sent.';
break;
case 'person4':
$userinbox = 'person4';
$result = mysqli_query($link, $sqlaction);
echo 'Message sent.';
break;
default:
echo 'Current valid users are list of users';
}
}
最后,我调用函数,传递数据库连接变量Bles:
message($link, $sqlaction);
但就像我说的,数据库中没有任何内容出现。我已经花了4天的时间来尝试调试,并且处于放弃的边缘。任何帮助将不胜感激。
尖端的东西:你并不需要一个单独的表中的每个用户的收件箱。只需创建一个名为收件箱的表格并添加字段user_id,owner_id或类似字段。然后,您可以使用存储在同一个表中的所有内容获取特定用户收件箱的内容。原因是如果你得到10.000(100个真正的)用户,你的分贝看起来就像现在一样乱七八糟。 – JimL 2014-10-12 08:00:13