+ -
当前位置:首页 → 问答吧 → 天气预报(小偷) 源码 ...根据IP自动判断地址..支持全国2300多个城市.

天气预报(小偷) 源码 ...根据IP自动判断地址..支持全国2300多个城市.

时间:2007-09-23

来源:互联网

效果图 一.

图片附件: 效果1.JPG (2007-9-22 09:49, 6.79 K)



效果图 一.

图片附件: 效果2.JPG (2007-9-22 10:00, 4.89 K)



测试地址: http://mlmm.cn/tq.php

准备工作:
   1. 下载 IP 数据库 ....地址:  http://www.alixianzi.com/include/tq/ipdata/wry.rar
   2. 下载 地址转编号 数据库文件 并导入你的mysql数据库 地址; http://www.alixianzi.com/include/tq/ipdata/weather_station.rar

tp.php 文件:
复制内容到剪贴板
代码:

<?
/*
tq      天气
qs      趋势
rq      日期
wd      温度
fx      风向
address 地址
qq      805830
*/
include_once('./include/tq/function.inc.php');
$staid = sta_id();
$ip = getIp();
//$address = convertip($ip);
$address = addr();
echo $address." ";
function open($file,$type=''){

if($open=file($file)){
$count=count($open);
for($i=0;$i<$count;$i++){
$theget.=$open[$i];

}

}else{
die('请求过多,超时,请刷新');
}


return $theget;

}

$_str = open('http://www.weathercn.com/tqyb/detail.jsp?sta_id='.$staid);

//echo $_str;

/**
变量说明:
$str 要进行操作的字符串;
$split 拆分目标字符(串);
$from_no 从第几个开始;
$desc_y_n 顺取(〉0的值)还是倒取(0);
*/
//$_str = "aaa .1..aaa.2..aaa .3..aaa.4..aaa.5..bbb..7.bbb.8..bbb.9..bbb.10..bbb";
$split_a = "中国气象局";
$split_b = "时至";

$str_b = strstr($_str,$split_b);//寻找$split_b第一次出现的位置
$str_a = substr($_str,0,strpos($_str, $split_b));//可以取得字符串的指定长度子字符串

function _getStr_from_to($str,$split,$from_no,$desc_y_n)
{
$arr = explode($split,$str);
$size = sizeof($arr);
$from_no = ($from_no<=$size) ? $from_no : $size;
unset($_tmp_out_str);
if($desc_y_n)
{
//正序
for($i=$from_no;$i<$size;$i++)
{
$_tmp_out_str .= $split.$arr[$i];
}
}
else
{
$_tmp_from = $size - $from_no;
for($i=0;$i<$_tmp_from;$i++)
{
$_tmp_out_str .= $arr[$i].$split;
}
}
return $_tmp_out_str;
}
$srting = _getStr_from_to($str_a,"中国气象局",1,1);

//echo $srting;

preg_match_all('/alt=\"([^\"]*)\"/',$srting,$tq);
$tq = $tq[1];
if (is_array($tq))
            $tq = implode('转',$tq);
            
//print_r($tq);
echo $tq." ";
preg_match_all('/([0-9-]*℃)~([0-9-]*℃)/',$srting,$wd);
   $wd = $wd[0];
   $wd = $wd[0];
print_r($wd);

?>
function.inc.php 文件
复制内容到剪贴板
代码:

<?php
// 获取用户IP地址
function getIp() {
    if($_SERVER['HTTP_CLIENT_IP'])
    {
        return $_SERVER['HTTP_CLIENT_IP'];
    } elseif ($_SERVER['HTTP_X_FORWARDED_FOR']) {
        return $_SERVER['HTTP_X_FORWARDED_FOR'];
    } else {
        return $_SERVER['REMOTE_ADDR'];
    }
}

function getFile($url)
{
    if($f=fopen("$url","r"))
    {
        while(!feof($f))
        {
            $s.=fgets($f);
        }
        fclose($f);
        return $s;
    } else {
        return false;
    }   
}

function putFile($file_name,$file_string)
{
    if($f=fopen($file_name,"w"))
    {
        fwrite($f, $file_string);
    }
    fclose($f);
}

function cnSubStr($string,$sublen) {
     if($sublen>=strlen($string)){
           return $string;
     }
     $s="";
     for($i=0;$i<$sublen;$i++){
           if(ord($string{$i})>127){
                 $s.=$string{$i}.$string{++$i};
                 continue;
           }else{
                 $s.=$string{$i};
                 continue;
           }
     }
     return $s."...";
}

function getPageBar($count = 0)
{
    $bad_link_color = "#C0C0C0";
   
    $page["url"]           = eregi_replace("\&page=[^\&]+","",basename($_SERVER[SCRIPT_NAME])."?".$_SERVER[QUERY_STRING]);
   
    $page["result_count"]  = (string) $count;
    $page["this_page"]     = (empty($_GET["page"]))?"1":$_GET["page"];
    $page["this_page"]     = ($page["result_count"] == 0)?"0":$page["this_page"];

    $page["page_size"]     = $GLOBALS["option"]["page_size"];
    $page["page_count"]    = (string) ceil($page["result_count"]/$page["page_size"]);
   
    $page["first_page"]     = ($page["this_page"] > 1)?"<a href=\"".$page["url"]."&page=1\" title=\"首页\"><span style=\"font-size:12px; font-weight: bold; font-familly: Courier;\">&laquo;</span></a>":"";
    $page["rearward_page"]  = ($page["this_page"] < (int) $page["page_count"])?"<a href=\"".$page["url"]."&page=".$page["page_count"]."\" title=\"末页\"><span style=\"font-size:12px; font-weight: bold; font-familly: Courier;\">&raquo;</span></a>":"";
    $page["prev_page"]      = ($page["this_page"] > 1)?"<a href=\"".$page["url"]."&page=".((int)$page["this_page"] - 1)."\" title=\"上一页\"><span style=\"font-size:12px; font-weight: bold; font-familly: Courier;\">&#8249;</span></a>":"";
    $page["next_page"]      = ($page["this_page"] < (int) $page["page_count"])?"<a href=\"".$page["url"]."&page=".((int)$page["this_page"] + 1)."\" title=\"下一页\"><span style=\"font-size:12px; font-weight: bold; font-familly: Courier;\">&#8250;</span></a>":"";
   
    $page['start_page'] = ((int)$page["this_page"]-5<1)?1:(int)$page["this_page"]-5;
    $page['end_page'] = ((int)$page["this_page"]+5 > $page['page_count'])?(int)$page["page_count"]:(int)$page["this_page"]+5;

    for ($i = $page['start_page'];$i <= $page['end_page'];$i++)
    {
        $selected = ($_GET["page"] == $i)?"selected":"";
        $page["page_select"]  .= "<option value=\"$i\" $selected>$i</option>";
        $page["page_list"]  .= ($i == $page["this_page"])?" <font color=\"red\">$i</font> ":"<a href=\"".$page['url']."&page=$i\" title=\"第 ".$i." 页\">[$i]</a>";
    }
   
   
    return $page;
}

function getRows($table,$order='')
{
    if (!empty($order))
    {
        $order = explode(',',$order);
        $order = 'ORDER BY `'.$order[0].'` '.$order[1];
    }
    $query = dbQuery("SELECT * FROM `".$GLOBALS['prefix'].$table."` ".$order.";");
    while ($row = dbArray($query))
    {
        $link[$row['id']] = $row;
    }
    return $link;
}

function autoTime($time)
{
    preg_match('/([0-9]*)-([0-9]*)-([0-9]*) ([0-9]*):([0-9]*):([0-9]*)/',$time,$date);
    return mktime ($date[4],$date[5],$date[6],$date[2],$date[3],$date[1]);
}

function getTime() {
    $t = explode(' ', microtime());
    return $t[1] + $t[0];
}

function calendar($time)
{
    $start = mktime(0, 0, 0, date('m', $time), 1,   date('Y', $time));
    $prev_month['year']  = date('Y',$start-86400);
    $prev_month['month'] = date('m',$start-86400);
    $end   = mktime(0, 0, 0, date('m', $time)+1, 1,   date('Y', $time));
    $next_month['year']  = date('Y',$end);
    $next_month['month'] = date('m',$end);
    $sWeekday=array('日','一','二','三','四','五','六');
    //$sWeekday=array('S','M','T','W','T','F','S');
    $title=date('M Y', $time);

    $str = '';
    $str .= <<<END
<table class="calendar" cellspacing="1">
    <tr class="title">
        <th colspan="1"><a href=?mod=article&year={$prev_month['year']}&month={$prev_month['month']}><span style=\"font-size:12px; font-weight: bold; font-familly: Courier;\">&laquo;</span></a></td>
        <th colspan="5">{$title}</td>
        <th colspan="1"><a href=?mod=article&year={$next_month['year']}&month={$next_month['month']}><span style=\"font-size:12px; font-weight: bold; font-familly: Courier;\">&raquo;</span></a></td>
    </tr>
    <tr class="head">
        <th>{$sWeekday[0]}</td>
        <th>{$sWeekday[1]}</td>
        <th>{$sWeekday[2]}</td>
        <th>{$sWeekday[3]}</td>
        <th>{$sWeekday[4]}</td>
        <th>{$sWeekday[5]}</td>
        <th>{$sWeekday[6]}</td>
    </tr>
    <tr class="cbody">

END;
$year  = (empty($_GET['year']))?date('Y'):$_GET['year'];
$month = (empty($_GET['month']))?date('m'):$_GET['month'];
$query = dbQuery("SELECT FROM_UNIXTIME(date,'%e') as `day`,count(*) as `count` FROM `".$GLOBALS['prefix']."article`,`".$GLOBALS['prefix']."article_class` WHERE FROM_UNIXTIME(date,'%Y/%m') = '".$year."/".$month."' AND `status` = 'published' AND ".$GLOBALS['prefix']."article.class_id = ".$GLOBALS['prefix']."article_class.id AND `in_main_page` = 1 GROUP BY `day`;");
for ($i = 0;$i < mysql_num_rows($query);$i++)
{
    $row = dbArray($query);
    $calendar[$row['day']] = $row['count'];
}

    for ($i = 0;$i < date('w',$start);$i++)
    {
        $str.= '<td> </td>';
    }
    for($stamp=$start;$stamp<$end;$stamp+=86400) // loop through each day, which is 86400 seconds
    {
        $weekday=date('w', $stamp);
        $day = date('d', $stamp);
        if(date('Y-m-d', $stamp)==date('Y-m-d')) $style='today';
        else if(date('w', $stamp)==0 || date('w', $stamp)==6) $style='weekend';
        else $style='weekday';
        $str.= "\t\t".'<td class="'.$style.'">';
        $str.= ($calendar[date('j', $stamp)] > 0)?'<a href="?mod=article&year='.$year.'&month='.$month.'&day='.$day.'">'.(int)$day.'</a>':(int)$day;
        $str.= '</td>'."\n";
        if(date('w', $stamp)==6) $str.="\t".'</tr>'."\n";
    }

    $str .= '</table>';
    return $str;
}
//php利用纯真ip数据库查地址的函数
function convertip($ip) {
        if(!preg_match("/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/", $ip)) {
                return '';
        }

        if($fd = @fopen( "e:\hosts\wkhd\db\ipdata\wry.dat", 'rb')) {//fopen()中是纯真ip数据库文件位置,请自行设定!

                $ip = explode('.', $ip);
                $ipNum = $ip[0] * 16777216 + $ip[1] * 65536 + $ip[2] * 256 + $ip[3];

                $DataBegin = fread($fd, 4);
                $DataEnd = fread($fd, 4);
                $ipbegin = implode('', unpack('L', $DataBegin));
                if($ipbegin < 0) $ipbegin += pow(2, 32);
                $ipend = implode('', unpack('L', $DataEnd));
                if($ipend < 0) $ipend += pow(2, 32);
                $ipAllNum = ($ipend - $ipbegin) / 7 + 1;

                $BeginNum = 0;
                $EndNum = $ipAllNum;

                while($ip1num > $ipNum || $ip2num < $ipNum) {
                        $Middle= intval(($EndNum + $BeginNum) / 2);

                        fseek($fd, $ipbegin + 7 * $Middle);
                        $ipData1 = fread($fd, 4);
                        if(strlen($ipData1) < 4) {
                                fclose($fd);
                                return '系统错误';
                        }
                        $ip1num = implode('', unpack('L', $ipData1));
                        if($ip1num < 0) $ip1num += pow(2, 32);

                        if($ip1num > $ipNum) {
                                $EndNum = $Middle;
                                continue;
                        }

                        $DataSeek = fread($fd, 3);
                        if(strlen($DataSeek) < 3) {
                                fclose($fd);
                                return '系统错误';
                        }
                        $DataSeek = implode('', unpack('L', $DataSeek.chr(0)));
                        fseek($fd, $DataSeek);
                        $ipData2 = fread($fd, 4);
                        if(strlen($ipData2) < 4) {
                                fclose($fd);
                                return 'System Error';
                        }
                        $ip2num = implode('', unpack('L', $ipData2));
                        if($ip2num < 0) $ip2num += pow(2, 32);

                        if($ip2num < $ipNum) {
                                if($Middle == $BeginNum) {
                                        fclose($fd);
                                        return 'Unknown';
                                }
                                $BeginNum = $Middle;
                        }
                }

                $ipFlag = fread($fd, 1);
                if($ipFlag == chr(1)) {
                        $ipSeek = fread($fd, 3);
                        if(strlen($ipSeek) < 3) {
                                fclose($fd);
                                return '系统错误';
                        }
                        $ipSeek = implode('', unpack('L', $ipSeek.chr(0)));
                        fseek($fd, $ipSeek);
                        $ipFlag = fread($fd, 1);
                }

                if($ipFlag == chr(2)) {
                        $AddrSeek = fread($fd, 3);
                        if(strlen($AddrSeek) < 3) {
                                fclose($fd);
                                return 'System Error';
                        }
                        $ipFlag = fread($fd, 1);
                        if($ipFlag == chr(2)) {
                                $AddrSeek2 = fread($fd, 3);
                                if(strlen($AddrSeek2) < 3) {
                                        fclose($fd);
                                        return 'System Error';
                                }
                                $AddrSeek2 = implode('', unpack('L', $AddrSeek2.chr(0)));
                                fseek($fd, $AddrSeek2);
                        } else {
                                fseek($fd, -1, SEEK_CUR);
                        }

                        while(($char = fread($fd, 1)) != chr(0))
                        $ipAddr2 .= $char;

                        $AddrSeek = implode('', unpack('L', $AddrSeek.chr(0)));
                        fseek($fd, $AddrSeek);

                        while(($char = fread($fd, 1)) != chr(0))
                        $ipAddr1 .= $char;
                } else {
                        fseek($fd, -1, SEEK_CUR);
                        while(($char = fread($fd, 1)) != chr(0))
                        $ipAddr1 .= $char;

                        $ipFlag = fread($fd, 1);
                        if($ipFlag == chr(2)) {
                                $AddrSeek2 = fread($fd, 3);
                                if(strlen($AddrSeek2) < 3) {
                                        fclose($fd);
                                        return 'System Error';
                                }
                                $AddrSeek2 = implode('', unpack('L', $AddrSeek2.chr(0)));
                                fseek($fd, $AddrSeek2);
                        } else {
                                fseek($fd, -1, SEEK_CUR);
                        }
                        while(($char = fread($fd, 1)) != chr(0))
                        $ipAddr2 .= $char;
                }
                fclose($fd);

                if(preg_match('/http/i', $ipAddr2)) {
                        $ipAddr2 = '';
                }
                $ipaddr = "$ipAddr1";  //  完整地址为 "$ipAddr1 $ipAddr2"
                $ipaddr = preg_replace('/CZ88\.NET/is', '', $ipaddr);
                $ipaddr = preg_replace('/^\s*/is', '', $ipaddr);
                $ipaddr = preg_replace('/\s*$/is', '', $ipaddr);
                if(preg_match('/http/i', $ipaddr) || $ipaddr == '') {
                        $ipaddr = 'Unknown';
                }

                return $ipaddr;

        } else {

                $datadir = PHPCMS_ROOT.'./ipdata/';
                $ip_detail = explode('.', $ip);
                if(file_exists($datadir.$ip_detail[0].'.txt')) {
                        $ip_fdata = @fopen($datadir.$ip_detail[0].'.txt', 'r');
                } else {
                        if(!($ip_fdata = @fopen($datadir.'0.txt', 'r'))) {
                                return 'Invalid IP data file';
                        }
                }
                for ($i = 0; $i <= 3; $i++) {
                        $ip_detail[$i] = sprintf('%03d', $ip_detail[$i]);
                }
                $ip = join('.', $ip_detail);
                do {
                        $ip_data = fgets($ip_fdata, 200);
                        $ip_data_detail = explode('|', $ip_data);
                        if($ip >= $ip_data_detail[0] && $ip <= $ip_data_detail[1]) {
                                fclose($ip_fdata);
                                return $ip_data_detail[2].$ip_data_detail[3];
                        }
                } while(!feof($ip_fdata));
                fclose($ip_fdata);
                return '未知地址';

        }

}
// station_id 函数
function sta_id(){

    include_once('./include/tq/config.inc.php');
    include_once('./include/tq/error.inc.php');
    include_once('./include/tq/mysql.inc.php');
    include_once('./include/tq/template.inc.php');

unset($onlineip);
if($_SERVER['HTTP_CLIENT_IP']){
     $onlineip=$_SERVER['HTTP_CLIENT_IP'];
}elseif($_SERVER['HTTP_X_FORWARDED_FOR']){
     $onlineip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}else{
     $onlineip=$_SERVER['REMOTE_ADDR'];
}

$ips = $onlineip;


$addr = convertip($ips);

$address = $addr;

$address = str_replace(array('省','市','县','工业','北京','区','大学','武汉','西安','安交','海交','新疆','大连','广西'),array(' ',' ',' ',' 工业','北京 ',' ',' ','武汉 ','西安 ','安 交','海 交','新疆 ','大连 ','广西 '),$address);
$addresss = explode(" ",$address);

$address1 = $addresss[0];
$address2 = $addresss[1];
$address3 = $addresss[2];
$address4 = $addresss[3];

$query = dbQuery("select count(*) as num from ".weather_station." where province like '$address1' ");//查询 省字段 数目
$row = dbArray($query);

$number = $row["num"];


if($number>0 && $address2<>'' && $address1<>上海 && $address1<>重庆){
             unset($addresss[0]);
             }
if($address4==''){
                  unset($addresss[3]);
                 }
if($address3==''){
                  unset($addresss[2]);
                 }


$query = dbQuery("select count(*) as num from ".weather_station." where station like '$address4' ");//查询 县 字段
$row = dbArray($query);
$number = $row["num"];
if($number==0){
               unset($addresss[3]);
              }

$query = dbQuery("select count(*) as num from ".weather_station." where station like '$address3' ");//查询 县 字段
$row = dbArray($query);
$number = $row["num"];
if($number==0){
               unset($addresss[2]);
              }
//数组数据2 查询开始
$queryx = dbQuery("select count(*) as nums from ".weather_station." where station like '$address2' ");//查询 县 字段
$row = dbArray($queryx);
$nums = $row["nums"];

$queryy = dbQuery("select count(*) as numd from ".weather_station." where district like '$address2' ");//查询 市 字段
$row = dbArray($queryy);
$numd = $row["numy"];

if($nums==0 && $numd==0){
               unset($addresss[1]); // 如果 数组数据2 不在数据库里则删除数据2
              }
//数组数据2 查询结束

$query = dbQuery("select count(*) as num from ".weather_station." where district like '$address2' ");//查询 市 字段
$row = dbArray($query);
$number = $row["num"];
if($number>1 && $address3<>'' && $nums<>0 && $address2<>广州 ){
               unset($addresss[1]); // 如果数组数据2在数据库里有 多个 则删除数据2
              }

@extract(dbQuery("select count(*) as num_0 from ".weather_station." where district like '$address1' "));//查询 市 字段
@extract(dbQuery("select count(*) as num_1 from ".weather_station." where station like '$address2' "));//查询 县 字段
$number = $num_0;
$numbery = $num_1;
if($number>1 && $numbery>0 && $address2<>''){
               unset($addresss[0]); //如果数组数据1在数据库里有 多个 则删除数据1
              }

$addresss = implode("",$addresss);                           



//字符串处理完毕 下面开始查询 station_id

$query1 = dbQuery("select count(*) as nums_addresss from ".weather_station." where station like '$addresss' ");
$row1 = dbArray($query1);
$nums_addresss = $row1["nums_addresss"];
$query2 = dbQuery("select count(*) as numd_addresss from ".weather_station." where district like '$addresss' ");
$row2 = dbArray($query2);
$numd_addresss = $row2["numd_addresss"];
if($nums_addresss>0){
  $result = dbQuery("SELECT station_id FROM ".weather_station." WHERE station like '$addresss' ORDER BY id");
  $r = dbArray($result);
  
  $station_id[] = $r[station_id];
  $station_id = $station_id[0];
  return $station_id; // 查询结果
  
                    }

if($nums_addresss==0 && $numd_addresss>0){
  $result = dbQuery("SELECT station_id FROM ".weather_station." WHERE district like '$addresss' ORDER BY id");
  $r = dbArray($result);
  
  $station_id[] = $r[station_id];
  $station_id = $station_id[0];
  return $station_id; // 查询结果
  //echo $station_id;
                    }
}
function get_real_ip()
{
        $ip=false;
        if(!empty($_SERVER["HTTP_CLIENT_IP"]))
        {
                $ip = $_SERVER["HTTP_CLIENT_IP"];
        }
        if (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
        {
                $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
                if ($ip)
                {
                        array_unshift($ips, $ip); $ip = FALSE;
                }
                for ($i = 0; $i < count($ips); $i++)
                {
                        if (!eregi ("^(10|172\.16|192\.168)\.", $ips[$i]))
                        {
                                $ip = $ips[$i];
                                break;
                        }
                }
        }
        return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
}

function addr(){

    include_once('./include/tq/config.inc.php');
    include_once('./include/tq/error.inc.php');
    include_once('./include/tq/mysql.inc.php');
    include_once('./include/tq/template.inc.php');

unset($onlineip);
if($_SERVER['HTTP_CLIENT_IP']){
     $onlineip=$_SERVER['HTTP_CLIENT_IP'];
}elseif($_SERVER['HTTP_X_FORWARDED_FOR']){
     $onlineip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}else{
     $onlineip=$_SERVER['REMOTE_ADDR'];
}

$ips = $onlineip;


$addr = convertip($ips);

$address = $addr;

$address = str_replace(array('省','市','县','工业','北京','区','大学','武汉','西安','安交','海交','新疆','大连','广西'),array(' ',' ',' ',' 工业','北京 ',' ',' ','武汉 ','西安 ','安 交','海 交','新疆 ','大连 ','广西 '),$address);
$addresss = explode(" ",$address);

$address1 = $addresss[0];
$address2 = $addresss[1];
$address3 = $addresss[2];
$address4 = $addresss[3];

$query = dbQuery("select count(*) as num from ".weather_station." where province like '$address1' ");//查询 省字段 数目
$row = dbArray($query);

$number = $row["num"];


if($number>0 && $address2<>'' && $address1<>上海 && $address1<>重庆){
             unset($addresss[0]);
             }
if($address4==''){
                  unset($addresss[3]);
                 }
if($address3==''){
                  unset($addresss[2]);
                 }


$query = dbQuery("select count(*) as num from ".weather_station." where station like '$address4' ");//查询 县 字段
$row = dbArray($query);
$number = $row["num"];
if($number==0){
               unset($addresss[3]);
              }

$query = dbQuery("select count(*) as num from ".weather_station." where station like '$address3' ");//查询 县 字段
$row = dbArray($query);
$number = $row["num"];
if($number==0){
               unset($addresss[2]);
              }
//数组数据2 查询开始
$queryx = dbQuery("select count(*) as nums from ".weather_station." where station like '$address2' ");//查询 县 字段
$row = dbArray($queryx);
$nums = $row["nums"];

$queryy = dbQuery("select count(*) as numd from ".weather_station." where district like '$address2' ");//查询 市 字段
$row = dbArray($queryy);
$numd = $row["numy"];

if($nums==0 && $numd==0){
               unset($addresss[1]); // 如果 数组数据2 不在数据库里则删除数据2
              }
//数组数据2 查询结束

$query = dbQuery("select count(*) as num from ".weather_station." where district like '$address2' ");//查询 市 字段
$row = dbArray($query);
$number = $row["num"];
if($number>1 && $address3<>'' && $nums<>0 && $address2<>广州 ){
               unset($addresss[1]); // 如果数组数据2在数据库里有 多个 则删除数据2
              }

@extract(dbQuery("select count(*) as num_0 from ".weather_station." where district like '$address1' "));//查询 市 字段
@extract(dbQuery("select count(*) as num_1 from ".weather_station." where station like '$address2' "));//查询 县 字段
$number = $num_0;
$numbery = $num_1;
if($number>1 && $numbery>0 && $address2<>''){
               unset($addresss[0]); //如果数组数据1在数据库里有 多个 则删除数据1
              }

$addresss = implode("",$addresss);                           
return $addresss; // 结果


}

?>
config.inc.php
复制内容到剪贴板
代码:

<?php
// this file is mysql config

$dbhost = 'localhost';
$dbname = '********';
$dbuser = '********';
$dbpass = '******';

$prefix = '';

?>
这是关键的文件....剩下的几个在下面的包里.....

[ 本帖最后由 mlmm 于 2007-10-14 14:44 编辑 ]

作者: mlmm   发布时间: 2007-09-22

看帖不回者MJJ

作者: mlmm   发布时间: 2007-09-25

太夸张了吧,一个天气预报而已~~

作者: T.T.R   发布时间: 2007-09-25

:L :L :L

就是~

作者: linzhoulxyz   发布时间: 2007-09-26

:L

作者: dick66   发布时间: 2007-09-26

:L :L :L :L

作者: wukeyuan   发布时间: 2007-09-26

:L :L :L

作者: gently   发布时间: 2007-09-26

:) :) :) :) good!

作者: shenyuxiang2008   发布时间: 2007-09-26

~ :)

作者: xlight   发布时间: 2007-09-26

df

作者: harrisen   发布时间: 2007-09-26

是不是太浪费了

作者: lshfong   发布时间: 2007-09-27

:D

作者: goldwinder   发布时间: 2007-09-27

:P

作者: yuanjing_119   发布时间: 2007-09-27

作者: ivan   发布时间: 2007-09-27

;P 我的JJ想一直用到见马克思呢!所以回一下!;P

作者: 风清杨   发布时间: 2007-09-28

Thanks.
:)

作者: luzhou   发布时间: 2007-09-28

你狠...

作者: 折翼の天使♂   发布时间: 2007-09-28

收了.谢谢!

作者: achun.shx   发布时间: 2007-09-28

楼主是洛阳的?偶郑州呀!很近呢!

作者: achun.shx   发布时间: 2007-09-28

:D 学习了

作者: xiaopihai   发布时间: 2007-09-28

学习……:)

作者: grb12508   发布时间: 2007-09-28

太夸张了

作者: yunlong1984   发布时间: 2007-09-28

靠,我的卡巴斯基提示上面的图片的图片有病毒!!!!

作者: shiyanadd   发布时间: 2007-09-28

我说怎么看着前面几行注释这么熟悉。。。
原来是在我的程序的基础上改的
呵呵,做得不错,不过略显复杂了点

作者: happyeddie   发布时间: 2007-09-28

:) 不敢不回了!

作者: 真烦   发布时间: 2007-09-28

不敢不回了!

作者: 05542002   发布时间: 2007-09-28

:L

作者: DQAndy7799   发布时间: 2007-09-28

不是洛阳的吧

作者: aicaitianya   发布时间: 2007-09-28

夸张!!!但是不错!为了自己的JJ 赶紧回一个!

作者: yunlong1984   发布时间: 2007-09-29

支持!!!!!!!!!

作者: liuguoqing   发布时间: 2007-09-29

太长了

作者: huanglei926   发布时间: 2007-09-29

晕了。。。头晕。。。

作者: houhuiyang   发布时间: 2007-09-29

:L :L

作者: zqfsl   发布时间: 2007-09-29

---------------------------------------------------------------------------------

作者: blazeq   发布时间: 2007-10-02

:@

作者: zhaofei299   发布时间: 2007-10-03

:)

作者: GoodLuck   发布时间: 2007-10-03

呵呵 支持你!!不过你一个天气预报弄的很复杂呀!!!

作者: piaohh   发布时间: 2007-10-09

:L :L

作者: renwl   发布时间: 2007-10-10

“看帖不回者MJJ”
鄙视楼主,本来还想看看代码的,觉得很无聊 。。。。。。。。。。。。。。

作者: morsth   发布时间: 2007-10-11

下载不了啊

作者: risou   发布时间: 2007-10-13

顶一下

作者: fly1983   发布时间: 2007-10-13

谢谢各位朋友的支持哦 :lol :lol :lol

作者: mlmm   发布时间: 2007-10-14

学习了,先收藏

作者: dkq224   发布时间: 2007-10-14

复制PHP内容到剪贴板
PHP代码:

<?php
/*
  @项目名称:[商品导购在线]
  @文件功能:会员用户的登录提交程序,这个程序主要在登录与注册成功后进入后台用到
  @文件版本:V1.0
  @文件作者:袁维
  @创建时间:2007-3-25
  @版权所有:创颖工作室 Copyright 2007 并保留所有权利.
*/
include('init.php');
/* $_GET:注册成功后进入后台用到  $_POST:登录用到 */
$name = isset($_GET['name']) ? $_GET['name'] : $_POST['user_name'];
$pwd  = $_GET['pwd'];
$pass = $_POST['user_pass'];
$login_day = $_POST['login_day'];         //自动登录时间,记入COOKIE
if( $pwd != '' ) $password = $pwd;        //--注册成功后进入后台,密码是已经加密的
else             $password = mymd5($pass);//--登录时的提交
$query = sprintf("select user_id from %s where username='%s' and passwd='%s'",USERS_TAB,$name,$password);
$res = $db->Execute($query);
if( $res->RecordCount() > 0 ) //--登录成功
{
    $user_id = $res->Fields('user_id');
     member_login($user_id,$name);//注册SESSION  
     
     //--写入COOKIE,记下自动登录的时间
     auto_login_write($user_id,$name,$login_day);
    
     //--更新登录次数
     $query = sprintf("update %s set login_num=login_num+1 where user_id=%d",USERS_TAB,$user_id);
     $db->Execute($query);
     
     //--更新最后登录时间
     $last_date = $db->Time();
     $query = sprintf("update %s set last_date='%s' where user_id=%d",USERS_TAB,$last_date,$user_id);
     $db->Execute($query);
     
     //--扫描用户过时的信息--(在下面定义了函数)
     scan_overdue_products($user_id); //扫描过期了的商品
     scan_overdue_demands($user_id);  //扫描过期了的求购信息
     
    //--重定向
    $url = $_GET['url'] or $url = $_POST['url'];
    if( $url != '' ) $url = base64_decode($url);
    else             $url = get_opener();
    header("Location: $url");
}else{ //--登录失败
     Alert('用户名或密码不正确!');
}
?>
<?php 
/*---------------------- 以下接口为自动扫描功能 ---------------------------------------------
*说明: 这些操作过程应该由一个守护进程来做这个工作,但条件的限制下由以下方法实现
*每次会员登录时进行一次表的扫描,也就是说会员在当前会话中只会进行一次这样的操作
*程序具体算法请看程序.
*-------------------------------------------------------------------------------------------*/ 

/*
  * 自动将指定会员已过期的商品放入到仓库中
*/ 
function scan_overdue_products($user_id)
{
  global $db;
  $sql = sprintf("update %s set state=1 where user_id=%d and TO_DAYS(CURDATE())-TO_DAYS(start_date)>enable_day",PRODUCTS_TAB,$user_id);
  $db->Execute($sql);
}

/*
  * 自动修改会员已过期求购商品的属性(更改或删除)
*/ 
function scan_overdue_demands($user_id)
{
    global $db;
    $sql = sprintf("update %s set state=1 where user_id=%d and TO_DAYS(CURDATE())-TO_DAYS(start_date)>enable_day and control=0",DEMAND_INFO_TAB,$user_id);
    $db->Execute($sql); //将保留的信息设为暂时不发布
  
    //----将过期后不保留的信息删除
    //--先删除详细信息
   $sql = sprintf("select dm_id from %s where user_id=%d and TO_DAYS(CURDATE())-TO_DAYS(start_date)>enable_day and control=1",DEMAND_INFO_TAB,$user_id);
   $res = $db->Execute($sql);
   while (! $res->EOF)
   {
     $sql = sprintf("delete from %s where dm_id=%d",DEM_DETAIL_TAB,$res->Fields('dm_id'));
     $db->Execute($sql);
     $res->MoveNext();    
   }
   $res->Close();
   //--再删除原记录
   $sql = sprintf("delete from %s where user_id=%d and TO_DAYS(CURDATE())-TO_DAYS(start_date)>enable_day and control=1",DEMAND_INFO_TAB,$user_id);
   $db->Execute($sql);
}

/*
  * 自动修改会员已过期优惠喜讯的属性(更改或删除)
*/ 
function scan_overdue_agioinfo($user_id)
{
     $query = "select agio_id from %s where TO_DAYS(CURDATE())-TO_DAYS(start_date)>day and start_date!='0000-00-00' and user_id=%d and control=1";
     $query = sprintf($query,AGIO_INFO_TAB,$uid);
    $res = $db->Execute($query);
    while(! $res->EOF )
    {
       //--删除详细表中记录
       $sql = sprintf("delete from %s where agio_id=%d",AGIO_DETAIL_TAB,$res->Fields('agio_id'));
       $db->Execute($sql);
   
       //--删除基本表中记录
      $sql = sprintf("delete from %s where agio_id=%d",AGIO_INFO_TAB,$res->Fields('agio_id'));
      $db->Execute($sql);
   
      //--删除评论表中记录
     $sql = sprintf("delete from %s where agio_id=%d",AGIO_COMM_TAB,$res->Fields('agio_id'));
     $db->Execute($sql);
     $res->MoveNext();
   }

/* ---------------------------------------------------------------------------------------- */
?>

[ 本帖最后由 bzby555 于 2007-10-15 12:15 编辑 ]

作者: bzby555   发布时间: 2007-10-15

呵呵!支持!

作者: k7_1983   发布时间: 2007-12-01

哈哈.好东西.,下载下来研究一下.

作者: gleon   发布时间: 2007-12-01

不错,就是文档描述太少了。

作者: luzhou   发布时间: 2007-12-02

现在 好多网站 都有天气预报, 这些预报信息 是从哪儿获得?

作者: lei76511   发布时间: 2007-12-02

作者: zjlf508   发布时间: 2007-12-02

为了JJ。。。

作者: 雨叶秋寒   发布时间: 2007-12-03

作者: MoHock   发布时间: 2007-12-03

咒语太重了,顶一下,

作者: 23wldayin   发布时间: 2007-12-03

有没搞错

作者: stlany   发布时间: 2007-12-03

作者: suihr   发布时间: 2007-12-04

hg

作者: 阿米   发布时间: 2007-12-04

thanks

作者: lsjss   发布时间: 2007-12-04

恩好东西支持

作者: 神龙   发布时间: 2007-12-04

wo you JJ ..heihei

作者: riechie   发布时间: 2007-12-05

顶起来

作者: tc318   发布时间: 2007-12-06

学习一下

作者: naodai   发布时间: 2007-12-06

下载不了啊

作者: 神龙   发布时间: 2007-12-06

用这么多代码实现这么点功能???!!

作者: Fanbin   发布时间: 2007-12-06

...............................

作者: yufenglx   发布时间: 2007-12-06

我真的快要晕了

作者: tc318   发布时间: 2007-12-06

作者: anysun   发布时间: 2007-12-07

好东西
帮顶一下

作者: allenhuang   发布时间: 2007-12-12


我顶

作者: zap0903   发布时间: 2007-12-12

不错呀,好东东.

作者: skyfen   发布时间: 2007-12-17

是垃圾呀,什么都没有,没用的.不要下

作者: skyfen   发布时间: 2007-12-17

作者: youzaichong   发布时间: 2007-12-18

作者: 金钥匙   发布时间: 2007-12-18

比较厉害!看帖不回者MJJ

作者: it77777   发布时间: 2007-12-19

学习中。。。。。。。。。

作者: tjcaozhenhua   发布时间: 2007-12-19

顶一下。
收藏

作者: hahajohn   发布时间: 2007-12-21

MJJ是什么意思?

作者: 神州浪子   发布时间: 2007-12-22

谢谢分析

作者: cai02   发布时间: 2007-12-23

作者: 05542002   发布时间: 2007-12-23

好多啊

作者: 天之林   发布时间: 2007-12-25

作者: wljk506   发布时间: 2008-01-08

呵呵~  以后用用看

作者: 111   发布时间: 2008-01-18

顶楼主

作者: lifanglin   发布时间: 2008-01-29

好长...

作者: xwfoo   发布时间: 2008-04-20

哈,mjj,你好狠呀。

作者: 05542002   发布时间: 2008-04-20

不会吧,太残忍了

作者: ccylove   发布时间: 2008-04-20

不小心看了

作者: eastwood   发布时间: 2008-04-22

GOOD!

作者: gongchengjun   发布时间: 2008-04-23

cgfhng

作者: tonlywang   发布时间: 2008-04-24

哈哈,我可不想MJJ,所以我回复了。

作者: cnfreead   发布时间: 2008-07-09

顶。。。。。。。。。。。。。。。。

作者: Cr@zyTreE   发布时间: 2008-07-11

adfadfdfa

作者: juehan1314   发布时间: 2008-07-11

:l

作者: benen005   发布时间: 2008-07-11

作者: ggyuhai   发布时间: 2008-07-12