Posts Tagged ‘网页设计’

Step by Step:图解Dreamweaver PHP MySQL留言本制作

本例以Dreamweaver为设计工具,运用Dreamweaver服务器行为的功能,构建一个php+mysql的留言本。

准备

运行环境:AppServ 2.5.9

在appserv网页文件目录www下建立tut目录,tut下建立guestbook目录,留言本相关文件均存放在guestbook下。新建Dreamweaver站点,以tut作为站点根目录。当然,您可以根据自己的习惯建立目录和站点。

用phpmyadmin建立数据库:tut,数据库连接用户:root,密码:hello,您可以自行修改适合您的服务器配置。

在tut库中新建数据表:guestbook,数据表结构如下:
Read more

jquery动态添加和删除html标签

15 Days of jquery第11天介绍了用jquery实现多文件上传,我把代码改了一下,用jquery动态添加和删除表单元素。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>

<script src="js/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
  var spotMax = 3;
  if($('div.spot').size() >= spotMax) {$(obj).hide();}
  $("input#add").click(function(){    addSpot(this, spotMax);
  });
});

function addSpot(obj, sm) {
$('div#spots').append(
    '<div class="spot">' +
    '<input type="text" name="spot_title" /> ' +
    '<input type="text" name="spot_addr" /> ' +
    '<input type="text" name="spot_url" />  ' +
    '<input type="button" class="remove" value="Delete" /></div>')
  .find("input.remove").click(function(){
    $(this).parent().remove();
    $('input#add').show();
  });

  if($('div.spot').size() >= sm) {$(obj).hide();}
};
</script>
</head>

<body>
<form action="test.php" method="post"  name="asdf" id="asdf">
  <div id="spots">
    <input type="button" id="add" name="add" value="add" /><br />
  </div>
  <input type="button" name="Submit" value="Submit" id="send" />
</form>
<script>
  $('#send').click(function(){
  alert('Demonstration Only: submit disabled');
});
</script>
</body>
</html>

Google App Engine显示数据库中的图片

GAE目前还不允许用户操作文件系统,上传的图片只能通过数据库存取。以下的代码实现了shop表中logo图片的动态显示:

class showShopLogo(webapp.RequestHandler):
  def get(self):
    shopid = self.request.get('sid')
    shop = Shop.get_by_id(int(shopid))
    if (shop and shop.logo):
      img = images.Image(shop.logo)
      img.resize(width=128, height=128)
      tumbimg = img.execute_transforms(output_encoding=images.PNG)
      self.response.headers['Content-Type'] = 'image/png'
      self.response.out.write(tumbimg)
    else:
      self.redirect('/images/nologo.png')

定义处理路径:

  application = webapp.WSGIApplication(
                                       [ ...
                                        ('/shop/logo', showShopLogo),
                                        ( ...)
                                       ], debug=True)
  wsgiref.handlers.CGIHandler().run(application)

我们可以通过http://example.com/shop/logo?sid=5这样的格式访问图片,在模板文件中,用<img src=”/shop/logo?sid={{shop.key.id}}” />实现图片的显示。

我喜欢的免费字体网站

http://www.fontspace.com

http://www.urbanfonts.com

http://www.dafont.com

http://www.abstractfonts.com

http://simplythebest.net

解决session_start()错误

有时,我们完成的网页浏览时发生“Warning: session_start(): Cannot send session cookie - headers already sent by (output started at…”的错误。一般的原因是在运行session_start()时,之前已经有实际的html内容输出了,只要将session_start ()的调用移到网页开头部分就能解决。

但是,在Dreamweaver设计中,产生这一问题往往不是上述原因,DW自动产生的代码不会犯如此低级的错误。通常是由于文件UTF-8格式转换或使用网上下载的网页、模板时,文件开始处被插入BOM(Byte Order Mark,字节序标记),正是这个BOM影响到了session的正常运行。

解决的办法也很简单,只要用Ultraedit打开文件,执行另存为,保存时选择“UTF-8 无BOM”即可。如问题依旧,检查session_start函数前的不同PHP代码块之间是否有空行,一般将空行删除即可。

<?php require_once(’Connections/conn.php‘); ?>
(空行删除)
<?php
if (!isset($_SESSION)) {
  session_start();
}
…

另外,header转发也有可能产生此类问题,比如:header(sprintf(”Location:%s”,$insertGoTo)),也可以用以上方法解决。

Page 1 of 212»