十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这个问题太笼统,就算是贴上源代码也不见得就能用,建议从头学习php。基本功能的思路大致如下:
创新互联云计算的互联网服务提供商,拥有超过13年的服务器租用、服务器主机托管、云服务器、虚拟空间、网站系统开发经验,已先后获得国家工业和信息化部颁发的互联网数据中心业务许可证。专业提供云主机、虚拟空间、域名注册、VPS主机、云服务器、香港云服务器、免备案服务器等。
建立后台数据库,建立相关表。
建立数据库连接php文件,以供调用。
在php页面中使用input建立所需类型的按钮(例如button,summit等),使用form调用数据库操作文件,并传递变量;或者用onClick等方式调用javascript处理命令。
在数据库操作文件中调用数据库连接文件,并用SQL语句操作数据库数据。
登陆的话你要学习表单知识,php验证表单提交的数据,以及如何跟数据库进行匹配,注册的话也差不多,首先表单提交内容,php接收内容,最后一点不同的是注册是要写数据库的。所以三个知识点你最起码要懂。(表单 php接收数据 sql语言)这三个。;后台的话设计内容比较多,不过数据库方面的到是不外乎 1、查询 2、修改 3、删除 4、新增 这4种sql语言,最后一点就是你要懂html代码,因为这是学做网页的基本
JS 实现BASE64_ENCODE 和 BASE64_DECODE
script language='javascript'
/* utf.js - UTF-8 = UTF-16 convertion
*
* Copyright (C) 1999 Masanao Izumo iz@onicos.co.jp
* Version: 1.0
* LastModified: Dec 25 1999
* This library is free. You can redistribute it and/or modify it.
*/
/*
* Interfaces:
* utf8 = utf16to8(utf16);
* utf16 = utf16to8(utf8);
*/
function utf16to8(str) {
var out, i, len, c;
out = "";
len = str.length;
for(i = 0; i len; i++) {
c = str.charCodeAt(i);
if ((c = 0x0001) (c = 0x007F)) {
out += str.charAt(i);
} else if (c 0x07FF) {
out += String.fromCharCode(0xE0 | ((c 12) 0x0F));
out += String.fromCharCode(0x80 | ((c 6) 0x3F));
out += String.fromCharCode(0x80 | ((c 0) 0x3F));
} else {
out += String.fromCharCode(0xC0 | ((c 6) 0x1F));
out += String.fromCharCode(0x80 | ((c 0) 0x3F));
}
}
return out;
}
function utf8to16(str) {
var out, i, len, c;
var char2, char3;
out = "";
len = str.length;
i = 0;
while(i len) {
c = str.charCodeAt(i++);
switch(c 4)
{
case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7:
// 0xxxxxxx
out += str.charAt(i-1);
break;
case 12: case 13:
// 110x xxxx 10xx xxxx
char2 = str.charCodeAt(i++);
out += String.fromCharCode(((c 0x1F) 6) | (char2 0x3F));
break;
case 14:
// 1110 xxxx 10xx xxxx 10xx xxxx
char2 = str.charCodeAt(i++);
char3 = str.charCodeAt(i++);
out += String.fromCharCode(((c 0x0F) 12) |
((char2 0x3F) 6) |
((char3 0x3F) 0));
break;
}
}
return out;
}
/* Copyright (C) 1999 Masanao Izumo iz@onicos.co.jp
* Version: 1.0
* LastModified: Dec 25 1999
* This library is free. You can redistribute it and/or modify it.
*/
/*
* Interfaces:
* b64 = base64encode(data);
* data = base64decode(b64);
*/
var base64EncodeChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
var base64DecodeChars = new Array(
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63,
52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1,
-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1,
-1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1);
function base64encode(str) {
var out, i, len;
var c1, c2, c3;
len = str.length;
i = 0;
out = "";
while(i len) {
c1 = str.charCodeAt(i++) 0xff;
if(i == len)
{
out += base64EncodeChars.charAt(c1 2);
out += base64EncodeChars.charAt((c1 0x3) 4);
out += "==";
break;
}
c2 = str.charCodeAt(i++);
if(i == len)
{
out += base64EncodeChars.charAt(c1 2);
out += base64EncodeChars.charAt(((c1 0x3) 4) | ((c2 0xF0) 4));
out += base64EncodeChars.charAt((c2 0xF) 2);
out += "=";
break;
}
c3 = str.charCodeAt(i++);
out += base64EncodeChars.charAt(c1 2);
out += base64EncodeChars.charAt(((c1 0x3) 4) | ((c2 0xF0) 4));
out += base64EncodeChars.charAt(((c2 0xF) 2) | ((c3 0xC0) 6));
out += base64EncodeChars.charAt(c3 0x3F);
}
return out;
}
function base64decode(str) {
var c1, c2, c3, c4;
var i, len, out;
len = str.length;
i = 0;
out = "";
while(i len) {
/* c1 */
do {
c1 = base64DecodeChars[str.charCodeAt(i++) 0xff];
} while(i len c1 == -1);
if(c1 == -1)
break;
/* c2 */
do {
c2 = base64DecodeChars[str.charCodeAt(i++) 0xff];
} while(i len c2 == -1);
if(c2 == -1)
break;
out += String.fromCharCode((c1 2) | ((c2 0x30) 4));
/* c3 */
do {
c3 = str.charCodeAt(i++) 0xff;
if(c3 == 61)
return out;
c3 = base64DecodeChars[c3];
} while(i len c3 == -1);
if(c3 == -1)
break;
out += String.fromCharCode(((c2 0XF) 4) | ((c3 0x3C) 2));
/* c4 */
do {
c4 = str.charCodeAt(i++) 0xff;
if(c4 == 61)
return out;
c4 = base64DecodeChars[c4];
} while(i len c4 == -1);
if(c4 == -1)
break;
out += String.fromCharCode(((c3 0x03) 6) | c4);
}
return out;
}
//input base64 encode
function strdecode(str){
return utf8to16(base64decode(str));
}
document.write(strdecode('5L2g5aW9Iee+juWlsyE='));
/script
首先直接做成一页,中间步骤的数据处理用JS,然后就可以正常提交,交给原系统的注册处理页面
意思就是数据结构?
我的解决方案是两个表即可
班级列表,其中包含的字段基本就是: 班级的唯一ID,班级的年纪,几班,任课老师等信息
学生列表,其中包含的字段基本就是: 学生唯一的ID,学生所属的班级的唯一ID,以及其他学生信息
我想,涉及到班级的信息也就只有那么多,成绩之类全部可以放到学生表中
如果考试次数较多,可以在建立一个专门记录成绩的表,字段:
试卷唯一的ID,隶属考试ID,隶属学生的唯一ID,成绩,日期
等等
其余交给你自己想了
国内的php后台管理系统应该主要就是基于thinkphp开发的,其中有thinkcms,FastAdmin,TP6-Admin基于微信管理后台的MoChat。
这些都是比较新的php管理系统,还有基于laravel的管理系统laravel-admin。
如果文件类型是.txt,可以直接用file_get_contents()去获取,再echo出来就行了。
如果是图片,直接在html中添加img标签引入就行了。
其它情况,要看你的文件类型,浏览器是不是什么文件都可以直接打开的。