• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開(kāi)發(fā)教程 > 詳細(xì)頁(yè)面

        用戶注冊(cè)及跟蹤代碼(一)

        用戶注冊(cè)及跟蹤代碼(一)

        更新時(shí)間:2022-05-13 文章作者:未知 信息來(lái)源:網(wǎng)絡(luò) 閱讀次數(shù):

        用戶注冊(cè)冊(cè)及確認(rèn)在線的ASP程序。
        1. SQL的表及儲(chǔ)存過(guò)程
        ---------------------------------------------
        CREATE TABLE [dbo].[userbaseinfo] (
            [userid] [varchar] (50) NOT NULL ,
            [password] [varchar] (50) NOT NULL ,
            [validcodelogin] [char] (50) NOT NULL ,
            [userlevel] [char] (1) NULL ,
            [logintime] [char] (50) NULL
        ) ON [PRIMARY]
        GO

        alter table userbaseinfo
        add
        constraint PK_userbaseinfo_userid
            primary key (userid)
        Go

        CREATE TABLE [dbo].[userdetailinfo] (
            [userid] [varchar] (50) NOT NULL ,
            [password] [varchar] (30) NOT NULL ,
            [realname] [varchar] (10) NULL ,
            [sex] [char] (10) NULL ,
            [birthday] [datetime] NULL ,
            [idcode] [varchar] (50) NULL ,
            [address] [varchar] (300) NULL ,
            [email] [varchar] (50) NULL ,
            [telephone] [varchar] (50) NULL
        ) ON [PRIMARY]
        GO

        alter table userdetailinfo
        add
        constraint PK_userdetailinfo_userid
            primary key (userid)
        Go

        SET QUOTED_IDENTIFIER  OFF    SET ANSI_NULLS  ON
        GO

        CREATE proc dbo.proc_GetRandom_internal
        --取得校驗(yàn)碼
            @minNum        integer,
            @maxNum        integer,
            @RandomNum    float output
        as
        set nocount on

        declare @numRange integer
        declare @ranSeed integer
        declare @curTime  datetime

        begin

          select @numRange=@maxNum-@minNum+1

          select @curTime=getdate()
          select @ranSeed=datediff(s,'2000-1-1',@curTime)  
          select @ranSeed=@ranSeed+1
          select @RandomNum=rand()*@numRange+@minNum
          --print @RandomNum
          return
        end




        GO
        SET QUOTED_IDENTIFIER OFF
        GO
        SET ANSI_NULLS ON
        GO

        SET QUOTED_IDENTIFIER OFF
        GO
        SET ANSI_NULLS ON
        GO


        CREATE proc dbo.proc_GetValidCode_Internal
        --取得校驗(yàn)碼
            @CodeLength    integer,
            @ValidCode    varchar(10) output
        as
        set nocount on

        declare @chrRnd char(1)
        declare @chrRndNo integer

        begin

          select @ValidCode=""

          while (@CodeLength>0)
          begin
            exec proc_GetRandom_internal 1,52,@chrRndNo output
            if @chrRndNo>26
              begin
               select @chrRndNo=@chrRndNo+6
              end
            select @chrRnd=char(@chrRndNo+64)
            select @ValidCode=@ValidCode+@chrRnd
            select @CodeLength=@CodeLength-1
          end
          print @validCode
          return
        end



        GO
        SET QUOTED_IDENTIFIER OFF
        GO
        SET ANSI_NULLS ON
        GO

        SET QUOTED_IDENTIFIER OFF
        GO
        SET ANSI_NULLS ON
        GO


        CREATE proc dbo.proc_UserInfoUpdate
        --用戶更新個(gè)人信息
            @ValidCodeLogin  varchar(10),
            @RealName    Varchar(10),
            @Sex        Varchar(10),
            @Birthday    datetime,
            @IDCode        Varchar(50),
            @Address    Varchar(300),
            @eMail        Varchar(50),
            @Telephone    Varchar(50)
        as

        set nocount on

        declare @UserValidFlag int
        declare @ValidCodeReg varchar(30)
        declare @UserLevel varchar(1)
        declare @UserID varchar(30)

        begin
        exec proc_isUserValidbyCode_internal @ValidCodeLogin,@UserValidFlag output
        if @UserValidFlag<0
          begin
            --select @UserValidFlag as resultID    
              -- -1 用戶尚未登錄
              -- -2 用戶超時(shí)
            return @UserValidFlag
          end
          
        select @UserID=UserID from UserBaseinfo where ValidCodeLogin=@ValidCodeLogin

        Update UserDetailInfo
            set RealName=@RealName,
            Sex=@Sex,
            Birthday=@Birthday,
            IDCode=@IDCode,
            Address=@Address,
            eMail=@eMail,
            Telephone=@Telephone
          where
            UserID=@UserID;
                 
        if (@RealName="" or @Birthday="" or @Sex="" or @IDCode="" or @Address="" or @eMail="" or @Telephone="")
           begin
             --select -3 as resultID      
             return -3  --信息尚未全部填寫
           end   

        select 0 as resultID

        end


        GO
        SET QUOTED_IDENTIFIER OFF
        GO
        SET ANSI_NULLS ON
        GO

        SET QUOTED_IDENTIFIER ON
        GO
        SET ANSI_NULLS ON
        GO

        create proc dbo.proc_UserLogOut
        --用戶退出
            @ValidCodeLogin  varchar(10)
        as

        set nocount on

        declare @UserValidFlag int
        declare @UserLevel varchar(9)

        begin
        exec proc_isUserValidbyCode_internal @ValidCodeLogin,@UserValidFlag output
        if (@UserValidFlag<0)
          begin
            --select @UserValidFlag as resultID
            return @UserValidFlag
              -- -1 用戶尚未登錄
              -- -2 用戶超時(shí)
          end

        Update UserBaseInfo
            set ValidCodeLogin='',
                LoginTime='1970-1-1'
          where
            ValidCodeLogin=@ValidCodeLogin
                 
        --select 0 as resultID
        return 0
        end    

        GO
        SET QUOTED_IDENTIFIER OFF
        GO
        SET ANSI_NULLS ON
        GO

        SET QUOTED_IDENTIFIER OFF
        GO
        SET ANSI_NULLS ON
        GO


        CREATE proc dbo.proc_UserRegBase
        --用戶基本資料注冊(cè)
            @UserID        Varchar(30),
            @Password    Varchar(30)
        as

        set nocount on

        declare @UserLevel varchar(9)
        --declare @ValidCodeReg varchar(10)
        declare @ValidCodeLogin  varchar(10)
        declare @LoginTime  datetime
        declare @userExist int
        declare @PwdLength int

        begin
        select @UserLevel="0"
        select @PwdLength=4
        if (datalength(@Password)<@PwdLength)
           begin
             select -4 as returnID
             return -4        --密碼長(zhǎng)度不夠
           end

        --exec proc_GetValidCode_internal 10,@ValidCodeReg output    --取得用戶注冊(cè)校驗(yàn)碼
        exec proc_GetValidCode_internal 10,@ValidCodeLogin output    --取得用戶登錄校驗(yàn)碼
        exec proc_isUserExist_internal @UserID,@userExist output    --取得用戶存在標(biāo)志
        select @LoginTime=getdate()
        print @userExist
        if @userExist=0
          begin
            select -1 as resultID
            return -1  --用戶已存在
          end

        --插入用戶基本信息表
        insert into UserBaseInfo
           (UserID,Password,UserLevel,ValidCodeLogin,LoginTime)
           Values(@UserID,@Password,@UserLevel,@ValidCodeLogin,@LoginTime)

        --插入用戶詳細(xì)信息表
        insert into UserDetailInfo
           (UserID,Password) Values(@UserID,@Password)


        --取得用戶注冊(cè)校驗(yàn)碼,登錄校驗(yàn)碼
        select 0 as resultID
        select ValidCodeLogin from UserBaseInfo where UserID=@UserID

        return 0
        end


        GO
        SET QUOTED_IDENTIFIER OFF
        GO
        SET ANSI_NULLS ON
        GO

        SET QUOTED_IDENTIFIER OFF
        GO
        SET ANSI_NULLS ON
        GO


        create proc dbo.proc_isUserExist_internal
        --判斷用戶名是否存在
            @UserID        Varchar(30),
            @existFlag    int output
        as

        set nocount on
        begin

        if not EXISTS(select * from UserBaseInfo where UserID=@UserID)
           begin
            select @existFlag =-1
            return
           end
        select @existFlag =0   
        return
        end

        GO
        SET QUOTED_IDENTIFIER OFF
        GO
        SET ANSI_NULLS ON
        GO

        SET QUOTED_IDENTIFIER OFF
        GO
        SET ANSI_NULLS ON
        GO


        create proc dbo.proc_isUserValidbyCode_internal
        --用戶身份檢驗(yàn)(根據(jù)登錄校驗(yàn)碼)
            @ValidCodeLogin  varchar(10),
            @validFlag    int output
        as

        set nocount on

        declare @LoginTime  datetime
        declare @curTime  datetime
        declare @diffTime  datetime

        begin
        if not EXISTS(select * from UserBaseInfo where ValidCodeLogin=@ValidCodeLogin)
          begin
            select @validFlag=-1   --用戶尚未登錄
            return
          end

        select @LoginTime = (select LoginTime from UserBaseInfo where ValidCodeLogin=@ValidCodeLogin)
        select @curTime=getdate()
        select @diffTime=datediff(hh,@LoginTime,@curTime)
        if @diffTime>=10
          begin
            select @validFlag=-2    --用戶超時(shí)
            return  
          end

        select @LoginTime=getdate()                --取得用戶最后登錄時(shí)間
        update UserBaseInfo set LoginTime=@LoginTime where ValidCodeLogin=@ValidCodeLogin

        select @validFlag=0
        return
        end

        GO
        SET QUOTED_IDENTIFIER OFF
        GO
        SET ANSI_NULLS ON
        GO


        溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!

        本類教程下載

        系統(tǒng)下載排行

        主站蜘蛛池模板: 免费人妻无码不卡中文字幕18禁| 粉色视频成年免费人15次 | 亚洲国产成人一区二区三区| 亚洲日本成本人观看| 午夜神器成在线人成在线人免费| 亚洲第一成人在线| 毛色毛片免费观看| 亚洲爆乳AAA无码专区| 日本免费人成视频播放| 黄网站色视频免费观看45分钟| 免费一级毛片不卡在线播放| 一区二区三区免费在线视频 | 免费无码一区二区三区蜜桃大| 亚洲天然素人无码专区| 免费永久在线观看黄网站| 免费无遮挡无码视频在线观看| 国产精品亚洲αv天堂无码| 插鸡网站在线播放免费观看| 亚洲成Av人片乱码色午夜| 亚洲精品视频在线免费| 亚洲国产日韩在线人成下载| 日韩成人免费aa在线看| 国产高清视频免费在线观看 | 亚洲变态另类一区二区三区 | 又粗又硬免费毛片| a毛看片免费观看视频| 亚洲视频欧洲视频| 永久久久免费浮力影院| 9i9精品国产免费久久| 亚洲国色天香视频| 国产精品视_精品国产免费| A国产一区二区免费入口| 亚洲制服丝袜一区二区三区| www亚洲精品少妇裸乳一区二区| 在线毛片片免费观看| 亚洲毛片基地4455ww| 国产亚洲欧洲Aⅴ综合一区| 5g影院5g天天爽永久免费影院| 国产精品亚洲专区无码不卡| 久久精品国产亚洲AV麻豆不卡| 毛片免费在线观看网址|