由于这两天一直研究XOOPS的模块,所以找到了这篇很好的模块开发快速入门。
看了以后,就兴致勃勃的来开发模块了,可是开发的过程中遇到一些问题。
应该是我看的太快了,要学而时习之啊。因此翻译在这里。
==============
作者:Surance Yin
邮箱:Suranceyin@yahoo.com.cn
主页:http://www.fltek.com.cn
=================
使用表单和数据库
现在我们在ndex.php里面制作一个表单
<?php
// Tutorial
// Created by KaotiK
require('http://www.cnblogs.com/mainfile.php');
require(XOOPS_ROOT_PATH.'/header.php');
?>
<form name="tutorial_form" method="post" action="index.php">
<table width="400" border="0">
<tr>
<td align="right">Name</td>
<td><input type="text" name="name"></td>
</tr><tr>
<td align="right">Address</td>
<td><input type="text" name="address"></td>
</tr><tr>
<td align="right">Telephone</td>
<td><input type="text" name="tel"></td>
</tr><tr>
<td align="right">Email</td>
<td><input type="text" name="email"></td>
</tr><tr>
<td> </td>
<td><input type="submit" name="submit" value="submit"></td>
</tr>
</table>
</form>
<?php
require(XOOPS_ROOT_PATH.'/footer.php');
?>
|
现在在主菜单点击tutorial ,可以看到一个含有 name, address, telephone 和email 、submit按钮的表单。点击“Submit”会回到index.php不过不会做什么数据库操作。现在我们来加上以下的代码:
<?php
// Tutorial
// Created by KaotiK
require('http://www.cnblogs.com/mainfile.php');
require(XOOPS_ROOT_PATH.'/header.php');
if (isset($_POST['submit'])){
echo 'my name is: '. $_POST['name'];
}
?>
|
我现在只显示了上面一部分代码,这样看起来少一点。.
现在,如果点击submit你会看到"my name is: " 后面是你的名字。
这里讲解了PHP的基本语法,略过。
<?php
// Tutorial
// Created by KaotiK
require('http://www.cnblogs.com/mainfile.php');
require(XOOPS_ROOT_PATH.'/header.php');
if (isset($_POST['submit'])){
if (empty($_POST['name'])){
echo 'please fill in a name';
} else {
echo 'my name is: '. $_POST['name'];
}
}
?>
|
如果用户没有填用户名,我们要返回一个错误。
这里讲解了PHP的基本语法,略过。
将数据存入数据库
我们来继续。现在我们要把数据插入数据库了。
<?php
// Tutorial
// Created by KaotiK
require('http://www.cnblogs.com/mainfile.php');
require(XOOPS_ROOT_PATH.'/header.php');
if (isset($_POST['submit'])){
if (empty($_POST['name'])){
echo 'please fill in a name';
} else {
$name=$_POST['name'];
$address=$_POST['address'];
$tel=$_POST['tel'];
$email=$_POST['email'];
$query = "Insert into ".$xoopsDB->prefix("tutorial_myform")." (name, address, telephone, email) values ('$name', '$address', '$tel', '$email' )";
$res=$xoopsDB->query($query);
if(!$res) {
echo "error: $query";
} else {
echo "Data was correctly inserted into DB!";
}
}
}
?>
|
新代码的前4行将表单的数据赋给变量。这样做可以比较容易理解代码的内容。下面的 $query用在 $xoopsDB:
$res=$xoopsDB->query($query);
|
下面一行:
用来检验在插入数据库过程中是否有异常。如果是的话,就打印"Data was correctly inserted into DB!". 下面我会具体讲解.