当前位置:编程学习 > php >>

PHP - 要求输入姓名密码 ,判断数据库是否存在这个用户,如果有这个用户就下载这个用户的文件

PHP的,每个用户都有一个指定的doc文件,首页放有两个文本框及一个按钮,按钮是下载功能,文本框一要求输入姓名,文本框二要求输入一串指定的数字,然后判断数据库是否存在这个用户,如果有这个用户 即 下载文件到本地,散分了 ,200分求助,解决之后另加50分,这个问题对PHP高手不是很难吧,下面上我的一点代码,直接修改我的就好。 说明一下:我的表名是post ,字段 id name dir password tijianhao user time dir是文件路径,name 跟 tijianhao 是主要用到的 <form id="form2" name="form2" method="post" action="" onsubmit="return checkform(this)"> <div class="error"><?php echo $error; ?></div> <div class="user">姓 名:<input type="text" name="username" id="username" class="type_user"/></div> <div class="pass">体检号:<input type="text" name="usernumber" id="usernumber" class="type_pass" /></div> <div class="login"><input type="button" id="down" value="下载" name="submit" class="type_login" onclick="checkuser()"/></div> <div class="forgetpass"><input type="button" value="登录" name="login" onclick="disp_alert()" class="type_forgetpass"/></div> </form> 加我QQ也行:40425411,半夜12点前都在,谢谢!
追问:大神 ! 怎么联系你,还是有点不懂 !!
答案:应该是sql问题吧
$sql = "select * from student where studentname='$studentname' and password='$password'";
是不是值没有传进去啊
用. 拼接下,
$sql = "select * from student where studentname='".$studentname."' and password='".$password."'";
其他:{ echo 你这里主要是想知道怎么做下载吧?
1:数据库 
$name = mysql_escape_string(rawurldecode($_GET['name']));
$tijianhao= mysql_escape_string(rawurldecode($_GET['tijianhao']));
$res = mysql_query('SELECT * FROM post WHERE name='.$name.' AND tijianhao='.$tijianhao);
if ( false!==($row = mysql_fetch_array($res)) ) exit('sorry');
else echo 'download';

2:下载

function header_filename($filename) {
	$encoded_filename = urlencode ( $file_name );
	$ua = $_SERVER['HTTP_USER_AGENT'];
	if (preg_match ( "/MSIE/", $ua )) {
		header ( 'Content-Disposition: attachment; filename="' . $encoded_filename . '"' );
	} else if (preg_match ( "/Firefox/", $ua )) {
		header ( 'Content-Disposition: attachment; filename="' . $file_name . '"' );
	} else {
		header ( 'Content-Disposition: attachment; filename="' . $file_name . '"' );
	}
}
	$file_size = filesize ( $file_path );
	
	header ( "Content-type:application/octet-stream" );
	header ( "Accept-Ranges:bytes" );
	header ( "Accept-Length:" . $file_size );
	header ( "Content-Transfer-Encoding: binary" );
	header("Content-Disposition: attachment; filename=".header_filename($file_name)); 
	header ( "Pragma: no-cache" );
	@readfile($file_path); 不懂·· 两楼回答得不错,不过有点小错误。
楼主用的是post方式提交,所以应该是
$_POST['name']和$_POST['tijianhao']
if判断条件里应该是!=而不是!==,估计是笔误
另外,从楼主提供的表单来看,登陆和下载是在同一个表单内的,所以处理的时候要判断一下按下的是哪个按钮,可以用
if(array_key_exists('submit',$_POST))和
if(array_key_exists('login',$_POST))来判断
下载的话,如果直接下载,就需要自行构建HTTP头,所以会比较麻烦,就和二楼提供的代码一样。
如果只是显示一个下载链接或者用header\js跳转,相对会简单很多。 加你QQ了。 

上一个:大侠们帮忙推荐一款能适用于服务器的PHP环境一键安装软件,谢谢了。
下一个:php写入数据到php文件第2行 以及更改第3行数据 会的来

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,