我 不懂PHP,现在查询需要先登录再查询,我想改成不需要登录就可以查询 的不知道是不是要改我贴上的这段,请朋友们看看,谢谢,!
session_start();
error_reporting(0);
header("Content-type: text/html; charset=utf-8");
require "config.php";
@date_default_timezone_set(PRC);
set_time_limit(0);
@ob_end_clean();
ob_implicit_flush(true);
switch($_GET['act']){
case "database":
if(empty($_SESSION['member'])){
exit('var database=new Array("login");');
}
$connect_db = mysql_connect($dbnhost, $dbnuser, $dbnpass);
$select_db = mysql_select_db($dbname, $connect_db);
mysql_query("SET NAMES 'UTF8'");
mysql_query("SET CHARACTER SET UTF8");
mysql_query("SET CHARACTER_SET_RESULTS=UTF8");
$rs = mysql_query("SHOW TABLES FROM $dbname");
$tables = array();
while ($row = mysql_fetch_row($rs)) {
$tables[] = $row[0];
}
mysql_free_result($rs);
$array_tj=count($tables);
$count=1;
$text="";
foreach($tables as $key=>$tableName){
if($key==count($tables)-1){
$dian="";
}else{
$dian=",";
}
$text=$text.'"'.$tableName.'"'.$dian;
$count++;
}
echo "var database = new Array($text);";
break;
case "select":
if(empty($_SESSION['member'])){
echo "cnrv_msg(\"请登录\");addRow(\"登录后查询\",\"登录后查询\",\"登录后查询\",\"登录后查询\");";
exit;
}
$select_act=(int)addslashes(trim($_POST['select_act']));
$match_act=(int)addslashes(trim($_POST['match_act']));
$key=addslashes(trim($_POST['key']));
$table=addslashes(trim($_POST['table']));
if(empty($key) || $key==''){exit("请输入查询内容");}
if(strlen($key)<4){exit("key length!!!");}
$key = str_replace("_","\_",$key);
$key = str_replace("%","\%",$key);
switch($match_act){
case 2:$key = '=\''.$key.'\'';break;
case 1:$key = ' like \''.$key.'%\'';break;
default:exit("SB");
}
switch($select_act){//查询方式
case 1:$limits="username".$key;break;
case 2:$limits="email".$key;break;
case 3:$limits="username".$key."or email".$key;break;
default:exit("SB");
}
$connect_db = mysql_connect($dbnhost, $dbnuser, $dbnpass);
$select_db = mysql_select_db($dbname, $connect_db);
mysql_query("SET NAMES 'UTF8'");
mysql_query("SET CHARACTER SET UTF8");
mysql_query("SET CHARACTER_SET_RESULTS=UTF8");
$sql="select $Field from `$table` where $limits LIMIT 30";
require "database.php";
$databasename=database($table);
if($result=mysql_query($sql)){
while($rows=mysql_fetch_assoc($result)){
$username= mysql_real_escape_string($rows['username']);
$email= mysql_real_escape_string($rows['email']);
$password= mysql_real_escape_string($rows['password']);
echo "addRow(\"$username\",\"$email\",\"$password\",\"$databasename\");";
}// end while
}
break;
default:print_r("SB");
}
回复讨论(解决方案)
去掉
if(empty($_SESSION['member'])){
echo "cnrv_msg(\"请登录\");addRow(\"登录后查询\",\"登录后查询\",\"登录后查询\",\"登录后查询\");";
exit;
}
不行啊。去掉这个提示框不出了。但是不出查询结果。。
if(empty($_SESSION['member'])){
exit('var database=new Array("login");');
}
if(empty($_SESSION['member'])){
echo "cnrv_msg(\"请登录\");addRow(\"登录后查询\",\"登录后查询\",\"登录后查询\",\"登录后查询\");";
exit;
}
这个去掉试试。
一样。也是不出结果。
谢谢二位!!我没刷新,现在好了!
你选择一个登陆后能查的地址重新登陆下。不显示结果估计是参数的问题
0.0,好久没看到mysql_的函数了.
去掉
13:if(empty($_SESSION['member'])){ exit('var database=new Array("login");');}47:if(empty($_SESSION['member'])){ echo "cnrv_msg(\"请登录\");addRow(\"登录后查询\",\"登录后查询\",\"登录后查询\",\"登录后查询\");"; exit; }78:$Field变量不存在,sql语句错误,可以打印一下sql语句,应该不正确,查询不到结果,或者贴一下报错代码