qmail注册程序

2024-04-22 06:18
文章标签 程序 注册 qmail

本文主要是介绍qmail注册程序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  <?
#Igenus RegNewUser By SunGod
#Email:cn63@21cn.com
#2003.11.16
include "config/config_inc.php";
$Cmd  = $HTTP_GET_VARS['Cmd'];
$vpopmailbindir = "/home/vpopmail/bin/"; #设定vpopmail的bin目录
if ($Cmd == "reg")
{
 $mailname = $HTTP_POST_VARS['mailname'];
 $domain  = $HTTP_POST_VARS['domain'];
 $passwd1 = $HTTP_POST_VARS['passwd1'];
 $passwd2 = $HTTP_POST_VARS['passwd2'];
 $username = $HTTP_POST_VARS['username'];
 $usersex = $HTTP_POST_VARS['usersex'];
 $year   = $HTTP_POST_VARS['year'];
 $month  = $HTTP_POST_VARS['month'];
 $day   = $HTTP_POST_VARS['day'];
 $phonenum  = $HTTP_POST_VARS['phonenum'];
 $useraddr  = $HTTP_POST_VARS['useraddr'];
 $passquess  = $HTTP_POST_VARS['passquess'];
 $passanswer = $HTTP_POST_VARS['passanswer'];
 $checkbox  = $HTTP_POST_VARS['checkbox'];
 $userage = $year.$month.$day;
#_____________________________________________________输出头文件
 echo "
<HTML>
<HEAD>
<TITLE>提示</TITLE>
<META HTTP-EQUIV=/"Content-Type/" CONTENT=/"text/html; charset=gb2312/">
<LINK REL=/"stylesheet/" HREF=/"css/igenus.css/" TYPE=/"TEXT/CSS/">
</HEAD>
<BODY BGCOLOR=/"#5A8C52/" TEXT=/"#000000/" LEFTMARGIN=/"4/" TOPMARGIN=/"4/" MARGINWIDTH=/"2/" MARGINHEIGHT=/"2/">
</br></br>";
#______________________________________________________
 if ($checkbox != "ok")  #检查是否选中协议
 {
   echo "
<center>请返回阅览邮箱使用许可协议,需同意该协议后方可注册</center>
</BR>
<center><input type=/"BUTTON/" value=/"返回/" class=/"myinput2/" onClick=/"history.back()/" name=/"BUTTON/"></center>
</HTML>";
exit;
  }
 if (!ereg("^[0-9a-z]+[0-9a-z]$",$mailname)) #检查账号内是否有非法字符
 {
  echo "
<center>账号不能含有非法字符及大写字母 ,请返回重新填写。</center>
</BR>
<center><input type=/"BUTTON/" value=/"返回/" class=/"myinput2/" onClick=/"history.back()/" name=/"BUTTON/"></center>
</HTML>";
  exit;
 }
#________________________________________________________________________________

 if (strlen($mailname) < 3) #检查账号长度是否小于3位
 {
  echo "
<center>请不要妄想通过修改提交表单来危害本系统,你的ip已经被记录!</center>
</BR>
<center><input type=/"BUTTON/" value=/"返回/" class=/"myinput2/" onClick=/"history.back()/" name=/"BUTTON/"></center>
</HTML>";
  exit;
 }
 $mailname = strtolower($mailname); #将未能过滤的大写字母转换为小写
#________________________________________________检查账号是否存在 
 $sql = mysql_connect($CFG_MYSQL_HOST, $CFG_MYSQL_USER, $CFG_MYSQL_PASS);
 mysql_select_db($CFG_MYSQL_DB,$sql);
 $query = "select pw_id from vpopmail where pw_domain = '$domain' and pw_name = '$mailname'";
 $result = @mysql_query($query,$sql);
 $data = mysql_fetch_array($result);
 if ($data)
 {
   mysql_close($sql); #关闭数据库
   echo "
<center>该帐号已经被使用,请返回选择其他账号并使用检测按钮进行有效性查询。</center>
</BR>
<center><input type=/"BUTTON/" value=/"返回/" class=/"myinput2/" onClick=/"history.back()/" name=/"BUTTON/"></center>
</HTML>";
  exit;
 }
#________________________________________________________________________________开始注册过程

 $mailaddr = $mailname."@".$domain; #生成完整的邮件地址
 $query = "select domainsize from userinfo where mstat = '$domain'"; #从该域管理用户处取出默认邮箱空间大小 
 $result = @mysql_query($query,$sql);
 $data = mysql_fetch_array($result);
 $size = $data['domainsize']; #取得空间大小
 $execlineA = $vpopmailbindir."vadduser ".$mailaddr." ".$passwd1; #添加账号的shell语句
 $execlineB = $vpopmailbindir."vsetuserquota ".$mailaddr." ".$size; #更改邮件空间的shell语句
 $outshowA = system($execlineA); #执行两条语句来设置用户,并返回信息
 $outshowB = system($execlineB);
 if ($outshowA != "" or $outshowB != "") #有输出则说明语句执行有问题
 {
   mysql_close($sql);
   echo "
<center>在创建账号的过程中出现不可预料的错误,请稍后再注册......</center>
</BR>
<center><input type=/"BUTTON/" value=/"返回/" class=/"myinput2/" onClick=/"history.back()/" name=/"BUTTON/"></center>
</HTML>";
  $message = "执行的语句为:".$execlineA."和".$execlineB."返回的结果为:".$outshowA."和".$outshowB;
  mail("root@8kb.com","注册错误!",$message); #给管理员信箱返回注册错误情况
  exit;
 }
#_______________________________________________若无错误产生,开始进一步验证和写入数据
 $query = "select pw_id from vpopmail where pw_domain = '$domain' and pw_name = '$mailname'"; #从库中取刚注册的用户资料,看是否注册成功 
 $result = @mysql_query($query,$sql);
 $data = mysql_fetch_array($result);
 if (!$data)
 {
   mysql_close($sql); #关闭数据库
   echo "
<center>在创建账号的过程中出现不可预料的错误,请稍后再注册......</center>
</BR>
<center><input type=/"BUTTON/" value=/"返回/" class=/"myinput2/" onClick=/"history.back()/" name=/"BUTTON/"></center>
</HTML>";
  exit;
 }
#_________________________________________________若用户库资料无问题,开始写入用户资料
 $userID = $data['pw_id']; #从用户库取得的编号,使用这个编号为索引在资料库写入用户资料
 $time = getdate();
 if (strlen($time[seconds]) <2){$time[seconds] = "0".$time[seconds];}
 if (strlen($time[minutes]) <2){$time[minutes] = "0".$time[minutes];}
 if (strlen($time[hours]) <2){$time[hours] = "0".$time[hours];}
 if (strlen($time[mon]) <2){$time[mon] = "0".$time[mon];}
 if (strlen($time[mday]) <2){$time[mday] = "0".$time[mday];}
#生成当前时间,精确到秒
 $gettime = $time[year].$time[mon].$time[mday].$time[hours].$time[minutes].$time[seconds];
 $query = "INSERT INTO userinfo (id,mstat,lostanswer,lostquession,username,userage,userphonenum,usersex,useraddr,createtime,domainsize)VALUES('$userID','3','$passanswer','$passquess','$username','$userage','$phonenum','$usersex','$useraddr','$gettime','$size')";
 $result = @mysql_query($query,$sql);
   mysql_close($sql); #关闭数据库
 if ($result)
 {
  echo "
<center>你所申请的电子信箱 ".$mailaddr." 已经创建完毕,感谢你使用本邮件系统。</center>
</BR>
<center><input type=/"BUTTON/" value=/"关闭/" class=/"myinput2/" onClick=/"window.close()/" name=/"BUTTON/"></center>
</HTML>";
  exit;
 }else
 {
  echo "
<center>在创建账号的过程中出现不可预料的错误,请稍后再注册.......</center>
</BR>
<center><input type=/"BUTTON/" value=/"返回/" class=/"myinput2/" onClick=/"history.back()/" name=/"BUTTON/"></center>
</HTML>";
  exit;
 }

}
?>

<HTML>
<HEAD>
<TITLE>新用户注册</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
<LINK REL="stylesheet" HREF="css/igenus.css" TYPE="TEXT/CSS">
<SCRIPT LANGUAGE="JavaScript">
function checkDate(dateStr) {
    var year = dateStr.substring(0, 4);
    var month = dateStr.substring(4, 6);
    var day  = dateStr.substring(6, 8);

    if(year < 1900 || year > 2050) {
      return(false);
    }

    if(month < 1 || month > 12) {
      return(false);
    }

    if(day < 1 || day > 31) {
      return(false);
    }

    return(true);
  }


  function chkValidStr(str) {
    var validStrCnt;
    var i;

    for(i = 0, validStrCnt = 0; i < str.length; i++) {
      if(str.substring(i, i+1) != ' ') {
        ++validStrCnt;
      }
    }

    if(validStrCnt == 0)
      return(false);

    return(true);
  }


  function regUserInfoData() {
    if(chkValidStr(document.form1.mailname.value) == false) {
      alert('没有输入用户名。');
      document.form1.mailname.focus();
    }
    else if(document.form1.mailname.value.length < 3) {
      alert('用户名必须是英文字母和数字组合,至少3个字符。');
      document.form1.mailname.focus();
    }
    else if(chkValidStr(document.form1.passwd1.value) == false || document.form1.passwd1.value.length < 5) {
      alert('没有输入新密码或密码少于5位。');
      document.form1.passwd1.focus();
    }
    else if(document.form1.passwd2.value == '' || document.form1.passwd2.value.length < 5) {
      alert('没有输入确认密码或密码少于5位。');
      document.form1.passwd2.focus();
    }
    else if(chkValidStr(document.form1.username.value) == false) {
      alert('没有输入姓名。');
      document.form1.username.focus();
      alert(document.form1.usersex.value);
    }
    else if(chkValidStr(document.form1.useraddr.value) == false) {
      alert('没有输入联系地址');
      document.form1.useraddr.focus();
    }
    else if(chkValidStr(document.form1.phonenum.value) == false) {
      alert('没有输入联系电话');
      document.form1.phonenum.focus();
    }
    else if(chkValidStr(document.form1.passquess.value) == false || document.form1.passquess.value.length < 5) {
      alert('没有输入密码保护问题或少于5位');
      document.form1.passquess.focus();
    }   
    else if(chkValidStr(document.form1.passanswer.value) == false || document.form1.passanswer.value.length < 5) {
      alert('没有输入密码保护答案或少于5位');
      document.form1.passanswer.focus();
    }     
    else {
      if(document.form1.passwd1.value != document.form1.passwd2.value) {
        alert('新密码及确认密码不匹配。');
        document.form1.passwd1.focus();
      }
      else {
        if(document.form1.year.value.length == 2) {
          document.form1.year.value = 1900 + parseInt(document.form1.year.value);
        }

        if(document.form1.month.value.length == 1) {
          document.form1.month.value = '0'+document.form1.month.value;
        }

        if(document.form1.day.value.length == 1) {
          document.form1.day.value = '0'+document.form1.day.value;
        }

        getdate = document.form1.year.value+document.form1.month.value+document.form1.day.value;
        if(getdate == '' || checkDate(getdate) == true) {
          document.form1.submit();
        }
        else {
          document.form1.year.focus();
          alert("错误的生日");
        }
      }
    }
  }



function chkDupUserId(userId, mailDomainName) {
    if(userId == '') {
      alert('没有输入用户名。');
      document.form1.mailname.focus();
    }
    if(userId.length < 3) {
      alert('用户名必须是英文字母和数字组合,至少3个字符。');
      document.form1.mailname.focus();
      }
    else {
      var mywin = window.open('check.php?name='+userId+'&domain='+mailDomainName, "helpWin", "RESIZABLE=no,SCROLLBARS=yes,WIDTH=280,HEIGHT=200");
      mywin.window.focus();
    }
  }
  </SCRIPT>
</HEAD>
<BODY BGCOLOR="#5A8C52" TEXT="#000000" LEFTMARGIN="4" TOPMARGIN="4" MARGINWIDTH="2" MARGINHEIGHT="2">
<CENTER>
 <TABLE WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="0">
  <TR>
   <TD><B></B></TD>
   <TD ALIGN="RIGHT"> <B> </B>
    <INPUT TYPE="BUTTON" VALUE="关闭" CLASS="myinput2" onClick="window.close()">
   </TD>
  </TR>
 </TABLE>
 <BR>
</CENTER>
<FORM NAME="form1" METHOD="post" ACTION="reg.php?Cmd=reg" onSubmit="return false;">
 <CENTER>
  <p><b><font color="#FFFFFF">注册新用户</font></b></p>
  <TABLE BORDER="1" CELLSPACING="0" CELLPADDING="2" BGCOLOR="#EAF3E9" BORDERCOLOR="#FFFFFF" WIDTH="95%" ALIGN="CENTER">
   <TR BGCOLOR="#D0E6CE">
    <TD ALIGN="RIGHT" width="38%"><B>注册邮箱名:</B></TD>
    <TD width="62%">
     <input type="text" name="mailname" size="12" maxlength="20" CLASS="myinput" STYLE='font-family:Tahoma'>
     @
     <select name="domain" CLASS="myinput" STYLE='font-family:Tahoma'>
      <?php
        $sql = mysql_connect($CFG_MYSQL_HOST, $CFG_MYSQL_USER, $CFG_MYSQL_PASS);
                  mysql_select_db($CFG_MYSQL_DB,$sql);
        $query = "SELECT * FROM dir_control";
        $result = @mysql_query($query,$sql);
                  $rows = @mysql_num_rows($result);
        if ($rows <= 1){
         echo "<option value=''>没有域名存在</option>"; }
        else {
         for($i=1;$i<= $rows;$i++){
         $data = mysql_fetch_array($result);
         if ($data['domain'] != "dom_89") {
         echo "<option value=".$data['domain'].">".$data['domain']."</option>
         ";}
         }
        mysql_close($sql);
        } ?>
     </select>
     <input type="button" value="检查账号是否可用" class="myinput2" onClick="JavaScript: chkDupUserId(document.form1.mailname.value, document.form1.domain.value)" name="BUTTON">
    </TD>
   </TR>
   <TR BGCOLOR="#D0E6CE">
    <TD ALIGN="RIGHT" width="38%"><b>邮箱密码:</b></TD>
    <TD width="62%">
     <input type="password" name="passwd1" size="17" maxlength="16" class="myinput" style='font-family:Tahoma'>
      (5-16个字符)</TD>
   </TR>
   <TR BGCOLOR="#D0E6CE">
    <TD ALIGN="RIGHT" width="38%"><b>邮箱密码确认:</b></TD>
    <TD width="62%">
     <input type="password" name="passwd2" size="17" maxlength="16" class="myinput" style='font-family:Tahoma'>
    </TD>
   </TR>
  </TABLE>
  <p><BR>
   <B><font color="#FFFFFF">用户资料</font></B></p>
  <p>(请如实填写,以后找回密码将会用到)<BR>
  </p>
  <TABLE BORDER="1" CELLSPACING="0" CELLPADDING="2" BGCOLOR="#EAF3E9" BORDERCOLOR="#FFFFFF" WIDTH="95%" ALIGN="CENTER">
   <TR BGCOLOR="#D0E6CE">
    <TD ALIGN="RIGHT" width="37%"><b>姓名:</b></TD>
    <TD width="63%">
     <input type="text" name="username" size="12" maxlength="8" class="myinput" style='font-family:Tahoma'>
      (2-4个字符)</TD>
   </TR>
   <tr bgcolor="#D0E6CE">
    <td align="RIGHT" width="37%"><b>性别:</b></td>
    <td width="63%">
     <input type="radio" name="usersex" value="1" checked>
     男  
     <input type="radio" name="usersex" value="2">
     女</td>
   </tr>
   <tr bgcolor="#D0E6CE">
    <td align="RIGHT" width="37%"><b>出生年月:</b></td>
    <td width="63%">
     <input type="text" name="year" size="4" maxlength="4" class="myinput" style='font-family:Tahoma'>
     -
     <input type="text" name="month" size="2" maxlength="2" class="myinput" style='font-family:Tahoma'>
     -
     <input type="text" name="day" size="2" maxlength="2" class="myinput" style='font-family:Tahoma'>
       例:1977-09-18</td>
   </tr>
   <TR BGCOLOR="#D0E6CE">
    <TD ALIGN="RIGHT" width="37%"><b>联系地址:</b></TD>
    <TD width="63%">
     <input type="text" name="useraddr" size="30" maxlength="50" class="myinput" style='font-family:Tahoma'>
    </TD>
   </TR>
   <TR BGCOLOR="#D0E6CE">
    <TD ALIGN="RIGHT" width="37%"><b>联系电话:</b></TD>
    <TD width="63%">
     <input type="text" name="phonenum" size="14" maxlength="14" class="myinput" style='font-family:Tahoma'>
    </TD>
   </TR>
   <TR BGCOLOR="#D0E6CE">
    <TD ALIGN="RIGHT" width="37%"><b>密码保护问题:</b></TD>
    <TD width="63%">
     <input type="text" name="passquess" size="30" maxlength="50" class="myinput" style='font-family:Tahoma'>
      (5-24个字符)</TD>
   </TR>
   <TR BGCOLOR="#D0E6CE">
    <TD ALIGN="RIGHT" width="37%"><b>密码保护答案:</b></TD>
    <TD width="63%">
     <input type="text" name="passanswer" size="30" maxlength="50" class="myinput" style='font-family:Tahoma'>
      (5-24个字符)</TD>
   </TR>
  </TABLE>
  <BR>
  <BR>
  <B><font color="#FFFFFF">邮箱使用许可协议</font></B><BR>
  <BR>
  <TABLE BORDER="1" CELLSPACING="0" CELLPADDING="2" BGCOLOR="#EAF3E9" BORDERCOLOR="#FFFFFF" WIDTH="95%" ALIGN="CENTER">
   <TR BGCOLOR="#D0E6CE">
    <TD ALIGN="center">
     <textarea name="textfield4" cols="65" rows="10" wrap="VIRTUAL">          陵江在线个人免费邮箱服务协议

 一、前言:

   陵江在线网站(WWW.LJOL.NET)以下简称陵江在线所提供的各项服务的所有权和运作权归南部电信有限公司。陵江在线提供的服务将完全按照其发布的章程、服务条款和操作规则严格执行。

 二、服务条款
 1、服务内容
  1) 免费提供10兆邮箱存储空间;允许传送附件最大容 量为3兆,允许可收取的单封邮件最大为3兆;
  2) 用户可以使用Web界面收发邮件;
  3) 新注册用户可以使用SMTP/POP功能;
  4) 客服服务邮箱:webmaster@8kb.com。
  5) 本信箱仅对南部县电信用户服务
 2、限制性服务
  1) 系统定期会对邮箱内六个月前的邮件进行清理;
 

 3、服务开通及终止    
   用户必须完全同意所有关于陵江在线免费邮箱的服务条款,并完成相应的注册程序,才能成为陵江在线免费邮箱系统的正式用户。    
  1) 用户连续50天以上(含50天)未以任何方式登录自己的邮箱,系统将此邮箱作无主邮箱,删除该邮箱内的所以邮件,冻结此邮箱的收信功能(用户重新登录后,收信功能自动开启),如用户在帐号冻结后的60天内还未进行登录,将删除其帐号;
  2) 如果用户处于以下状态:再收一封信,邮箱空间就将超出,则系统将会发出警告信通知用户,用户不清理邮箱就无法再继续收信。
  3) 用户违反本服务条款,经陵江在线核实后,将删除其帐号。

  注:用户帐号被删除后,用户使用陵江在线免费邮箱服务的权利马上终止,从即时起,用户没有权利要求,陵江在线也没有义务传送信息给用户或第三方。

 4、保守用户隐私
   真实的用户资料将作为陵江在线提供售后服务的依据和用户获得法律保障的前提,用户必须提供真实的用户资料, 如上述资料有变动,请及时更新。陵江在线保留对不如实填写个人资料之免费邮箱用户取消其使用个人免费邮箱的权利。
   尊重用户个人隐私是陵江在线的一项基本政策,除以下三种情况外,陵江在线不会在未经合法用户授权时,同意公开、编辑或透露用户资料及其它保存在陵江在线中的保密性内容:
  1) 根据有关法律规定要求;
  2) 有关权力机关要求;
  3) 用户授权。

 5、有限责任
   在技术条件和商业条件允许情况下,陵江在线提供如下免费邮箱服务,陵江在线不对其他服务或其它原因导致邮箱系统不能正常运行做出任何承诺。
   陵江在线免费邮箱提供的服务:免费存储空间、系统日常维护、处理客户投诉;陵江在线不对其它服务提出承诺。
   用户的责任:由于用户过错原因导致陵江在线损失(包括因此陵江在线需对第三方承担的损失)由用户赔偿;

 6、法律适用
   用户对所发布邮件的内容单独承担责任,用户对服务的使用是根据国家法律、地方法律和国际成文法律,国际惯例及本协议规定;
   用户需对自己在网上的行为承担法律责任。用户不得在陵江在线上散布和传播反动、色情或其他违反国家法律的信息;
   若用户的行为不符合以上条款,陵江在线将通知该用户,并保留立即终止对该用户的邮箱服务的权利。

 7、商业用途
   陵江在线保留对免费邮箱用户投放商业性广告的权利,如用户对广告的月均点击率低于当月所有免费用户的点击广告平均值的,陵江在线经以电子邮件方式通知用户后,将有权终止并取消其所获得的个人免费邮箱服务。
   如用户拒绝接受陵江在线投放商业性广告的行为,用户可选择取消所获得的个人免费邮箱服务;否则,陵江在线有理由认为用户自愿接受由陵江在线发送的商业广告。

   三、服务条款的调整
   1、个人免费邮箱服务条款要与中华人民共和国的法律法规及其解释相一致,如发生陵江在线服务条款与中华人民共和国法律相抵触时,陵江在线有权单方将这些条款完全按法律规定重新调整,其它条款效力不受影响。
   2、陵江在线服务条款一旦发生变动,将会在重要页面上提示修改内容或以电子邮件形式通知给用户,用户可以作如下选择:
   1) 如果不同意所改动的内容,用户可以主动取消所获得的个人免费邮箱服务;
   2) 如果用户继续使用个人免费邮箱服务,则视为完全接受服务条款的变动。
   3)用户要继续使用陵江在线个人免费邮箱服务,有必要对最新的陵江在线个人免费邮箱服务条款进行仔细阅读和重新确认,当发生有关争议时,以最新的服务条款为准。
   3、不可抗力免责:
  不可抗力是指:不能预见、不能避免且不能克服的客观情况;包括但不限于:天灾人祸、政府行为以及罢工、战争等等原因所导致的本协议任何一方无法完全或部分履行合同的,遭遇不可抗力的一方可据此免责。
  陵江在线在进行服务器配置、维护时有时需要短时间中断服务,或者由于Internet上的通路的偶然阻塞造成用户访问的速度下降或不能正常使用本协议规定的服务,用户认同这属于陵江在线免责范畴,陵江在线无须对此承担任何责任,但有义务尽量避免中断服务,且必要时应于中断前及时通知用户。
</textarea>
    </TD>
   </TR>
   <TR BGCOLOR="#D0E6CE">
    <TD ALIGN="center">
     <input type="checkbox" name="checkbox" value="ok">
     我同意以上协议</TD>
   </TR>
  </TABLE>
  <BR>
  <BR>
  <BR>
  <INPUT TYPE="BUTTON" VALUE="注册" CLASS="myinput2" onClick="regUserInfoData()">
  <INPUT TYPE="reset" VALUE="重填" CLASS="myinput2" name="重设">
 </CENTER>
 <P ALIGN="CENTER">&</P>
</FORM>
</BODY>
</HTML>

这篇关于qmail注册程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/924996

相关文章

Go路由注册方法详解

《Go路由注册方法详解》Go语言中,http.NewServeMux()和http.HandleFunc()是两种不同的路由注册方式,前者创建独立的ServeMux实例,适合模块化和分层路由,灵活性高... 目录Go路由注册方法1. 路由注册的方式2. 路由器的独立性3. 灵活性4. 启动服务器的方式5.

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

EMLOG程序单页友链和标签增加美化

单页友联效果图: 标签页面效果图: 源码介绍 EMLOG单页友情链接和TAG标签,友链单页文件代码main{width: 58%;是设置宽度 自己把设置成与您的网站宽度一样,如果自适应就填写100%,TAG文件不用修改 安装方法:把Links.php和tag.php上传到网站根目录即可,访问 域名/Links.php、域名/tag.php 所有模板适用,代码就不粘贴出来,已经打

跨系统环境下LabVIEW程序稳定运行

在LabVIEW开发中,不同电脑的配置和操作系统(如Win11与Win7)可能对程序的稳定运行产生影响。为了确保程序在不同平台上都能正常且稳定运行,需要从兼容性、驱动、以及性能优化等多个方面入手。本文将详细介绍如何在不同系统环境下,使LabVIEW开发的程序保持稳定运行的有效策略。 LabVIEW版本兼容性 LabVIEW各版本对不同操作系统的支持存在差异。因此,在开发程序时,尽量使用

Spring 源码解读:自定义实现Bean定义的注册与解析

引言 在Spring框架中,Bean的注册与解析是整个依赖注入流程的核心步骤。通过Bean定义,Spring容器知道如何创建、配置和管理每个Bean实例。本篇文章将通过实现一个简化版的Bean定义注册与解析机制,帮助你理解Spring框架背后的设计逻辑。我们还将对比Spring中的BeanDefinition和BeanDefinitionRegistry,以全面掌握Bean注册和解析的核心原理。

CSP 2023 提高级第一轮 CSP-S 2023初试题 完善程序第二题解析 未完

一、题目阅读 (最大值之和)给定整数序列 a0,⋯,an−1,求该序列所有非空连续子序列的最大值之和。上述参数满足 1≤n≤105 和 1≤ai≤108。 一个序列的非空连续子序列可以用两个下标 ll 和 rr(其中0≤l≤r<n0≤l≤r<n)表示,对应的序列为 al,al+1,⋯,ar​。两个非空连续子序列不同,当且仅当下标不同。 例如,当原序列为 [1,2,1,2] 时,要计算子序列 [

这些心智程序你安装了吗?

原文题目:《为什么聪明人也会做蠢事(四)》 心智程序 大脑有两个特征导致人类不够理性,一个是处理信息方面的缺陷,一个是心智程序出了问题。前者可以称为“认知吝啬鬼”,前几篇文章已经讨论了。本期主要讲心智程序这个方面。 心智程序这一概念由哈佛大学认知科学家大卫•帕金斯提出,指个体可以从记忆中提取出的规则、知识、程序和策略,以辅助我们决策判断和解决问题。如果把人脑比喻成计算机,那心智程序就是人脑的

uniapp设置微信小程序的交互反馈

链接:uni.showToast(OBJECT) | uni-app官网 (dcloud.net.cn) 设置操作成功的弹窗: title是我们弹窗提示的文字 showToast是我们在加载的时候进入就会弹出的提示。 2.设置失败的提示窗口和标签 icon:'error'是设置我们失败的logo 设置的文字上限是7个文字,如果需要设置的提示文字过长就需要设置icon并给

基于SpringBoot的宠物服务系统+uniapp小程序+LW参考示例

系列文章目录 1.基于SSM的洗衣房管理系统+原生微信小程序+LW参考示例 2.基于SpringBoot的宠物摄影网站管理系统+LW参考示例 3.基于SpringBoot+Vue的企业人事管理系统+LW参考示例 4.基于SSM的高校实验室管理系统+LW参考示例 5.基于SpringBoot的二手数码回收系统+原生微信小程序+LW参考示例 6.基于SSM的民宿预订管理系统+LW参考示例 7.基于