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行数据 会的来