7月旅游网站建设手札2

发表时间:2011-07-14 15:52:28

接着上次的7月旅游网站建设手札说。

说一下,难点2:预定功能,提供房间之类的在线预订功能。的解决方案!

这里我们使用的dede自带的自定义表单功能。

新建自定义表单,名字就写预定房间。

自己手动增加字段。分别是,名称、房型、人数、您的姓名、您的电话、详细要求、提交时间(这个先不增加,后面有说明)。其中详细要求为多行文本,提交时间为时间类型。

下面设为不公开。然后,确定。

选择“前台浏览”,会有提示信息“后台关闭前台浏览”,这个没关系。把上面的网址修改,把action修改为post,确定,出现提交页面。

查看源代码,复制form的那一段。即从<form action="/plus/diy.php" enctype="multipart/form-data" method="post">到</form>这段代码,包括<form>。

然后,在房间信息详细页,加上预定功能。使用form的需要的信息,加上去。form肯定要加的。上图


 
上form代码部分:
 
  1. <div class="tijiao"> 
  2.                  <form action="/plus/diy.php" enctype="multipart/form-data" method="post"> 
  3. <input type="hidden" name="action" value="post" /> 
  4. <input type="hidden" name="diyid" value="1" /> 
  5. <input type="hidden" name="do" value="2" /> 
  6. <input type="hidden" name="ktitle" value="{dede:field.title/}" /> 
  7. <input type="hidden" name="kfangxing" value="{dede:field.fangxing/}" /> 
  8. <input type="hidden" name="krenshu" value="{dede:field.renshu/}" /> 
  9. <h3>填写详细预订信息</h3> 
  10. <ul> 
  11. <li><span>房间名称:</span><b>{dede:field.title/}</b></li> 
  12. <li><span>房间类型:</span><b>{dede:field.fangxing/}</b></li> 
  13. <li><span>人&nbsp;&nbsp;数:</span><b>{dede:field.renshu/}</b></li> 
  14. <li><span>您的姓名:</span><b><input type='text' name='kxingming' id='kxingming' style='width:250px'  class='intxt' value='' /></b></li> 
  15. <li><span>联系方式:</span><b><input type='text' name='kdianhua' id='kdianhua' style='width:250px'  class='intxt' value='' /></b></li> 
  16. <li class="ar"><span>详细要求:</span><b><textarea name='kyaoqiu' id='kyaoqiu' style='width:300px;height:120'></textarea></b></li> 
  17. <li><span>验证码:</span><b><input name="validate" type="text" id="vdcode2" class="ipt-txt" style="width:60px;text-transform: uppercase;" /><img src='{dede:global.cfg_cmsurl/}/include/vdimgck.php'/></b></li> 
  18. </ul> 
  19. <input type="hidden" name="dede_fields" value="ktitle,text;kfangxing,text;krenshu,text;kxingming,text;kdianhua,text;kyaoqiu,multitext" /> 
  20. <input type="hidden" name="dede_fieldshash" value="66959fae0cc8a1ece09acb372a27420a" /> 
  21. <div align='center' style='height:30px;padding-top:10px;'> 
  22. <input type="submit" name="submit" value="提 交" class='coolbg' /> 
  23. &nbsp;  
  24. <input type="reset" name="reset" value="重 置" class='coolbg' /> 
  25. </div> 
  26. </form> 
  27. </div> 

这里,我手动加了验证码。

这里,我们需要修改/plus/diy.php部分。

在 $query = "INSERT INTO `{$diy->table}` (`id`,`senddate`, `ifcheck` $addvar)  VALUES (NULL,$senddate, 0 $addvalue); ";代码的上面加入以下代码:

 

  1. $svali = GetCkVdValue();  
  2.     if($validate=='' || $validate!=$svali)  
  3.     {  
  4.          ShowMsg("验证码不正确!","-1");  
  5.          exit();  
  6.     }  
  7. $senddate = time(); 

上面部分,是检验验证码是否正确。date部分,则是获取当前时间。

而在插入数据的代码中,就需要增加senddate的部分。

然后,在自定义的表单里面增加提交时间,这点很重要!

到这来,预定功能就完成了,提交成功后,后台就显示相关提交的信息了。

这里,因为time()获取的是时间戳,所以,后台显示的提交成功的提交时间,显示的也是时间戳,不是我们需要的具体时间。这里就需要修改一点代码。

在dede文件夹里面的diy_list.htm文件里面插入以下代码:

  1. else if($fielddata[1]=='datetime')  
  2.             {  
  3.                $fields[$field] = GetDateTimeMk($fields[$field]);  
  4.             }  

则可以让后台看到得是具体时间!

未完待续...

------分割线---------------------------------------

Tags: dede 自定义表单 预定

留个脚印

点击我更换图片 (请输入验证码)

最新评论