用sqlite database写简单留言板的问题

Home Home
引用 | 编辑 独吾洋
2008-04-10 14:44
楼主
推文 x0
现在我在练习做个简单的留言板

但是问题是不能把留言储到资料库里 (sqlite)

我的server已经安装sqlite

然后我用putty在我的空间里创造了个资料库了(*.db)

然后我在资料库里创造了表格储存留言板用

表格的标签有"id", "message", "name", "email"

所以我在putty用的sqlite指令
复制程式
create table messages (id INTEGER auto_increment PRIMARY KEY,
message TEXT,
name TEXT,
email TEXT);


然后index.php网页里的一小部分code
复制程式
<?php
require "includes/defs.php";

$message = $_POST['message'];
$name = $_POST['name'];
$email = $_POST['email'];

if (! empty($message)) {
addEntry($message, $name, $email);
}
?>


defs.php新增留言部分的code
复制程式
<?php
// Add a new entry to the database
function addEntry($message, $name, $email) {
$dbh = sqlite_open(DATABASE, 0606, $sqlite_error)
or die("Couldn't open database: $sqlite_error");
$query = "insert into messages (message, name, email) values ('$message', '$name', '$email')";
$result = sqlite_query($dbh, $query, SQLITE_BOTH, $sqlite_error)
or die("Insertion failed: $sqlite_error");
sqlite_close($dbh);
}
?>


但是当我留言板的表格里填一些文字后
复制程式
<form method="post" action=".">
<p>
<textarea rows=6 cols=72 name="message">Message</textarea><br>
<input type="text" size=40 name="name" value="Name"><br>
<input type="text" size=40 name="email" value="Email"><br>
<input name="submit" type="submit" value="Add message">
</form>

我按submit

但是出现Insertion failed

请问上面的code问题出在哪?

我觉得问题应该是出在defs.php那里的code

献花 x0
引用 | 编辑 andyz
2008-04-10 23:42
1楼
  
php.ini 里 有一个参数
设成register_globals = On 试试

献花 x0
引用 | 编辑 独吾洋
2008-04-12 02:12
2楼
  
下面是引用andyz于2008-04-10 23:42发表的 :
php.ini 里 有一个参数
设成register_globals = On 试试

请问php.ini在哪设定?

其实我用的伺服器是学校提供的

不管smarty, php, sqlite和mysql都是安装好的

所以我还要修改php.ini吗?

献花 x0
引用 | 编辑 andyz
2008-04-13 20:15
3楼
  
下面是引用独吾洋于2008-04-12 02:12发表的 :


请问php.ini在哪设定?

其实我用的伺服器是学校提供的

不管smarty, php, sqlite和mysql都是安装好的

所以我还要修改php.ini吗?

php.ini 是在/etc/底下

写一个档案
<?
phpinfo();
?>

看看register_globals是否为On

献花 x0