⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stu_upload_task.php

📁 在实际教学应用中
💻 PHP
字号:
<?php 	
	session_start();
	include "ItAssisFC/FLib.php";
	Stu_is_login();
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>EasyTeacher信息技术课堂教学助手(ItAssis)学生端-提交作业</title>
<link href="et.css" rel="stylesheet" type="text/css">
<style type="text/css">
body,td,th {font-size: 14px;}
</style>
</head>
<body>
<?php
	function Return_upload_task_msg($ok,$msg){
		$bottom_msg="";
		if($ok){
			$jump_url="stu_mng_task.php?list=new";
			$image="upload_success.gif";
			$bottom_msg="
				恭喜作业提交成功!<p>2秒后将自动回转到[<strong>我的作业</strong>]。</p>
				<SCRIPT LANGUAGE=\"JavaScript\">
					function Replace_page(){window.location.replace(\"$jump_url\");}
					setTimeout('Replace_page();',2*1000);
				</SCRIPT>";
		}else{
			$jump_url=$_SERVER['PHP_SELF'];
			$image="upload_fail.jpg";
			$bottom_msg="作业提交失败,请对照提示查找错误原因!<p>[<strong><a href=\"{$_SERVER['PHP_SELF']}\">返回上页</a></strong>]";
		}

		echo "
			<div align=center><span class=red><h2>$msg</h2>
			<h3><img src=images/$image><p>$bottom_msg</h3></span></div>";
		exit;
	}//end function Return_upload_task_msg

	include "config.inc.php";
	include "conn.inc.php";
	$db=Connect_db($CFG_DB_ADDRESS,$CFG_DB_PORT,$CFG_DB_NAME,$CFG_DB_OWNER,$CFG_DB_PWD);

	if(!isset($_POST['submit'])){
		//显示提交作业页面
		$rsc_array=Read_course_List2($db);
		if(!$rsc_array){echo "目前没有设置课程,不能上传文件。";exit;}
?>
<div align="center"><img src="images/task_tijiaozuoye.jpg"> </div>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="POST" enctype="multipart/form-data" name="form1">
  <table width="740" border="1" align="center" cellspacing="0" bordercolor="#FFFFFF" bgcolor="#E9FCF0">
    <tr>
      <td width="98"><div align="right"><span class="red">第一步</span></div></td>
      <td width="300"><input name="file" type="file"  id="file" onSelect="this.disabled=true;" >
      </td>
      <td width="328">说明:选择你刚才保存的作业(一般在<span class="blue">我的文档</span>中)</td>
    </tr>
    <tr>
      <td><div align="right"><span class="red">第二步</span></div></td>
      <td><select name="crs_id" id="crs_id">
          <?php
		$sql ="select title from course where cid=".$_SESSION['cid'];
		$result=mysql_query($sql,$db) or die("$sql<br>" . mysql_error());
		$array=mysql_fetch_array($result);

		//如果教师设置课程,则当日课程在最上方
		if($_SESSION['cid']!="NULL")
			echo "<option value=".$_SESSION['cid'].">〖".$array['title']."〗</option>";
		else if($CFG_TASK_UPLOAD_LIMITED)
			{echo "<option >对不起,老师没有设置课程,暂时不能提交作业</option>";exit;}

		if(!$CFG_TASK_UPLOAD_LIMITED){
      		echo '<option value="null">****老师没有指定课程,请选择其他课程****</option>';
			$g=$_SESSION['grade'];
			while($array=array_shift($rsc_array))
				if($array['type']==3 && $array['suit']==$g) //只显示所在年级课程
					echo"<option value=".$array['cid'].">〖".$array['title']."〗</option>";
		}
		?>
        </select>
      </td>
      <td>说明:选择作业要交到哪一课,一般不需要选择</td>
    </tr>
  </table>
  <p align="center">
    <input name="submit" type="submit" id="submit" value="交作业">
  </p>
</form>
<?php
	}else{
		$msg="";$i=1;
		if($_POST['crs_id']=="null")
			{$msg.="错误 $i :你没有选择课程!<p>";$i++;}

		if(!trim($_FILES['file']['name']))
			{$msg.="错误 $i :你没有选择文件!<p>";$i++;}

		if($_FILES['file']['size']<10)
			{$msg.="错误 $i :好象不是文件吧!<p>";$i++;}

		$ofname=$_FILES['file']['name'];
		$file=pathinfo($ofname);
		$ext=@strtolower($file['extension']);
		if(!$ext)
			{$msg.="错误 $i :不合法的文件!<p>";$i++;}

		$forbiden_ext=preg_split("/\|/",$CFG_TASK_FORBIDEN_EXT);
		if(in_array($ext,$forbiden_ext)) $ext.=".et";//所有禁止文件类型追加.et

		$time=date("ymdhs");
		$rand=mt_rand(10000,99999);
		$nfname="$time$rand.$ext";

		$size=$_FILES['file']['size'];
		if($size>$CFG_TASK_MAXSIZE*1024)
			{$msg.="错误 $i :文件超过限定大小($CFG_TASK_MAXSIZE K)<p>";$i++;}

		if($msg!="")
			Return_upload_task_msg(false,$msg);

		$source_fname=$_FILES['file']['tmp_name'];
		$upload_dir="$CFG_TASK_DIR/".$_POST['crs_id'];

		$stu_id=$_SESSION['sid'];
		$crs_id=$_POST['crs_id'];
		//检查作业是否有重复提交
		$sql ="select count(*) as num from s_c_t where crs_id=$crs_id and stu_id=\"$stu_id\"";
		$result=mysql_query($sql,$db) or die("$sql<br>" . mysql_error());
		$array=mysql_fetch_array($result);
		if($array['num']>=$CFG_TASK_UPLOAD_MAX_NUM){
			$msg.="错误 $i :课程作业重复提交!此课程下已有“{$array['num']}”个作业,<p>请返回[<strong><a href=\"stu_mng_task.php\">我的作业</a></strong>]<span class=blue>删除</span>以往作业后再重新提交。";
			Return_upload_task_msg(false,"$msg");
		}

		if( Upload_file($source_fname,$upload_dir,$nfname) ){
			//将提交文件基本信息插入task表(大小、类型。序号和时间为自动)
			$sql ="INSERT INTO task(ofname,nfname,size)";
			$sql.=" VALUES(\"$ofname\",\"$nfname\",$size)";
			mysql_query($sql,$db) or die("$sql<br>" . mysql_error());

			//插入s_c_t关联表(学生号、作业号、课程号)

			$tsk_id=mysql_insert_id();
			$sql ="INSERT INTO s_c_t(stu_id,tsk_id,crs_id)";
			$sql.=" VALUES(\"$stu_id\",$tsk_id,$crs_id)";
			mysql_query($sql,$db) or die("$sql<br>" . mysql_error());

			//更新在线课堂表中作业记录
			$online_class=$_SESSION['grade']."_".$_SESSION['class'];
			$result=mysql_list_tables($CFG_DB_NAME);
			$i=0;
			while($row = mysql_fetch_row($result))
					$tables[$i++]=$row[0];

			if( in_array($online_class,$tables)){
				$sql="update $online_class set upload='Y' where sid=\"$stu_id\"";
				mysql_query($sql,$db) or die("<b>$sql</b><br>" . mysql_error());
			}

			Return_upload_task_msg(true,"");
		}else
			Return_upload_task_msg(false,"<h1><span class=red>未知原因导致交作业失败!");
	}
?>
<table width="740"  border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td width="576" bgcolor="#F7F3F7"><p><span class="red">&nbsp;注意:</span></p>
      <ol>
        <li class="explain_hight">请不要重复提交作业。</li>
        <li class="explain_hight">重复的、不好的作业请在[<strong class="red">我的作业</strong>]删除。</li>
        <li class="explain_hight">作业一定要<span class="red"><strong>交到对应课程</strong></span>。</li>
      </ol></td>
  </tr>
</table>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -