2009年9月6日

输入新在线文档的名称:

一、网址跳转
以下是.htaccess全文:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.zzhou\.net$ [NC]
RewriteRule ^(.*)$ http://zzhou.net/$1 [R=301,L]
RewriteRule ^(\w+)/(\w+)$ view.php?user=$1&sub=$2
RewriteRule ^(\w+)$ view.php?user=$1&sub=home
RewriteRule ^(\w+)/$ view.php?user=$1&sub=home

实现以下功能:
1、将www.zzhou.net自动跳转到zzhou.net


二、mysql字符集问题及其它
1、MySQL 字符集: UTF-8 Unicode (utf8)
2、建表是设定字符集utf8_unicode_ci,字段字符集为utf8_general_ci
3、要读写相关UTF8字段时:
    mysql_query("set names 'utf8' ");  
    mysql_query("set character_set_client=utf8");  
    mysql_query("set character_set_results=utf8");
    mysql_query("set character_set_connection=utf8");
4、设置自增变量
  先建表,然后修改结构,在AUTO_INCREMENT一项打勾。


三、表单检查
  <FORM ID='fm1' ACTION='adduser2.php' METHOD='post'> //将表单提交给adduser2.php
    用户名(英文与数字组合): <INPUT TYPE='TEXT' ID='uname' NAME='username' SIZE='20'>
<BR /><BR />
密码:       <INPUT TYPE='PASSWORD' ID='p1' NAME='pwd' SIZE='20'><BR /><BR />
重输入密码: <INPUT TYPE='PASSWORD' ID='p2' NAME='pwd2' SIZE='20'><BR /><BR />
昵称(可中文): <INPUT TYPE='TEXT' NAME='nick' SIZE='20'><BR /><BR />
图片地址: <INPUT TYPE='TEXT' NAME='pp' SIZE='80'><BR /><BR />
描述一下自己: <BR /><BR />
<TEXTAREA NAME="desc" COLS="80" ROWS="10"></TEXTAREA><BR /><BR />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<INPUT TYPE='BUTTON' NAME='sub' SIZE='30' VALUE='提  交' onClick='checkinput()'><BR /><BR /> //提交前先执行checkinput()
  </FORM>

  <script language="javascript">
    function checkinput()
{
 var flag1=/^[a-zA-Z0-9]{1,20}$/;  
 var tmp='';
 var ff=true;
      if (!flag1.exec(document.getElementById('uname').value)) //检查用户名输入有效性
 {
tmp='用户名只能是英语或数字, 长度1-20位!\n';
ff=false;
 }
 else
 {
ff=true;
 }
      var pwd=document.getElementById('p1').value;
 var pwd2=document.getElementById('p2').value;
 if (pwd !== pwd2)
 {
tmp=tmp+'两次输入的密码不一致!';
ff=false;
 }
 else
 {
 }  
 if (ff==true)
 {
   document.getElementById('fm1').submit(); //全部检查完结,则提交表单
 }
 else
 {
   alert (tmp);
 }
}

  </script>

从表单得到数据:
$user = $_POST['username']; 

在adduser2.php进一步检查用户名是否重复,如重复则提示信息将返回表单页面:
$tmp = "用户".$user2."已存在!";
$tmp = "<script language=javascript>alert ('" . $tmp . "')</script>";
echo $tmp;
echo ("<script language=javascript>window.history.go(-1);</script>"); 


五、建立SQL连接
  $link=mysql_connect("ip address","username","password"); //connect to mysql
  mysql_select_db('db name'); // connect to db  
  mysql_query("set names 'utf8' ");  
  mysql_query("set character_set_client=utf8");  
  mysql_query("set character_set_results=utf8");
  mysql_query("set character_set_connection=utf8");

  查询具体数据:
  $sql = "SELECT * FROM tb_list"; // select sql
  $result = mysql_query($sql);
  while ($user_data = mysql_fetch_array($result))  // get data from dataset array
  {
    $sub = $user_data['fl_subdomain']; // get 1 single data
  }

  检查结果集是否为空:
  $result = mysql_query($sql);
  $i = mysql_num_rows($result);
  if ($i == 0): //有数据

mysql_close($link);//关闭连接


六、cookie
设置cookie:
setcookie('usrid',(string) $userid);
setcookie('usr',$user);
setcookie('pwd',$pwd);

清除cookie:
  setcookie('usrid', "", time() - 3600);
  setcookie('usr', "", time() - 3600);
  setcookie('pwd', "", time() - 3600);  


七、根据查询结果创建动态元素
用类似document.getElementById('button_" . $sub . "').value == '显示'的方法创建动态java script脚本,然后用document.getElementById属性获得相应对象,修改相应的属性。

没有评论: