Heim  >  Artikel  >  Backend-Entwicklung  >  PHP修改为不需要登陆就可以查询,代码内详

PHP修改为不需要登陆就可以查询,代码内详

WBOY
WBOYOriginal
2016-06-20 12:27:17935Durchsuche

我 不懂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)
$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语句,应该不正确,查询不到结果,或者贴一下报错代码

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn