有誰可以教我如何改?

edited 十月 2013 in PHP新手區
我的問題是:如何讓user若登入的帳號密碼錯誤或沒有輸入任何字還有按取消的時候就自動關閉 ├140┤

原始討論: http://twpug.net/x/modules/newbb/viewtopic.php?topic_id=1271

評論

  • edited 二月 2006
  • edited 二月 2006
    這是一個留言版的後端是需要登入才可做刪除或修改,但他登入的方式像是一個windows的小視窗要你做登入
  • edited 二月 2006
  • edited 二月 2006
    我有附加檔案上去沒有看到嗎?那就在貼一次嘍~

    <?php
    include 'setup.php'; // 匯入設定檔



    if(!isset($PHP_AUTH_USER))
    {
    Header("WWW-authenticate: basic realm=\"留言版管理\"");
    Header("HTTP/1.0 401 Unauthorized");
    echo "不可以按取消鍵蒙騙過關喔..";
    exit;
    }
    elseif ($PHP_AUTH_USER!=$ADMIN_ACCOUNT OR $PHP_AUTH_PW!=$ADMIN_PASSWORD)
    {
    echo "不是管理者請趕快離開,謝謝你的合作";
    exit;
    }






    if($act=="delall"){
    $objDB->Execute("delete from $DB_TABLE where serial=$serial or reid=$serial");

    header("location:$PHP_SELF");
    exit;
    }elseif($act=="del"){
    $objDB->Execute("delete from $DB_TABLE where serial=$serial ");

    header("location:$PHP_SELF");
    exit;
    }





    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=big5">
    <title>Family吾愛吾家</title>
    <script language="JavaScript" type="text/JavaScript">
    <!--
    function MM_reloadPage(init) { //reloads the window if Nav4 resized
    if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
    else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
    }
    MM_reloadPage(true);
    //-->
    </script>
    <link href="../templates/template.css" rel="stylesheet" type="text/css">
    </head>

    <body leftmargin="50" topmargin="20" marginwidth="0" marginheight="0">
    <TABLE width="100%" border="0" align="center" cellpadding="4" cellspacing="0">
    <TR>
    <TD height="24" align="center" valign="middle" class="font9">| <A href="index.php">結束管理</A> | 目前全部共有 <FONT color=#CC6600><B>
    <?PHP
    echo $ALL_WORDS;

    ?>
    </B></FONT> 筆留言 HTML語法 <FONT color=orange><?php echo $HTML_STATUS; ?></FONT> |</TD>
    </TR>
    <TR>
    <TD height="24" align="center" valign="middle" class="font9">目前每頁顯示 <?php echo $READ_NUM;?> 則留言 所以分為 <?php echo $ALL_PAGE ?> 頁 請選擇頁數 現在您在<STRONG><FONT color="#CC0000">管理模式</FONT></STRONG>
    <SELECT name="select" onChange="window.location.href=this.options[this.selectedIndex].value;">
    <?php
    PageCount();

    ?>
    </SELECT></TD>
    </TR>
    <TR>
    <TD height="24" align="center" valign="middle" class="font9"><?php include 'searchbar.php'?>
    </TD>
    </TR>
    <TR>
    <TD height="196" align="center"><?php
    if(empty($page_num))$page_num=1;
    $start_num=$READ_NUM*($page_num-1);
    $result = $objDB->Recordset("select serial,name,face,email,web,content,date,ip from $DB_TABLE where reid=0 order by date desc limit $start_num,$READ_NUM");
    $arr= $objDB->GetRows($result);
    for ($i=0;$i<$objDB->RecordCount($result);$i++){
    $serial=$arr[$i]["0"];
    $name=$arr[$i]["1"];
    $face=$arr[$i]["2"];
    $email=$arr[$i]["3"];
    $web=$arr[$i]["4"];
    $content=nl2br($arr[$i]["5"]);
    $date=$arr[$i]["6"];
    $ip=$arr[$i]["7"];
    if($CLOSE_HTML)
    {
    $name=htmlspecialchars($arr[$i]["1"]);
    $email=htmlspecialchars($arr[$i]["3"]);
    $web=htmlspecialchars($arr[$i]["4"]);
    $content=nl2br(htmlspecialchars($arr[$i]["5"]));
    }

    echo "
    <TABLE width=513 border=0 cellspacing=0 cellpadding=0>
    <TR valign=middle>
    <TD colspan=4 align=left valign=bottom><IMG src=images/top.gif width=513 height=16></TD>
    </TR>
    <TR>
    <TD width=3 rowspan=2 background=images/left.gif> </TD>
    <TD width=110 rowspan=2 align=left valign=top bgcolor=#FFFFFF> <TABLE width=100% border=0 cellspacing=0 cellpadding=4>
    <TR>
    <TD align=center valign=middle bgcolor=#FFFFFF><IMG src=images/face/$face ></TD>
    </TR>
    <TR>
    <TD align=left valign=middle bgcolor=#FFFFFF><SPAN class=name><IMG src=images/icon1.gif width=18 height=12>
    $name</SPAN></TD>
    </TR>
    <TR>
    <TD align=center valign=middle bgcolor=#FFFFFF><A href=input.php?reid=$serial><IMG src=images/reply.gif width=74 height=25 border=0></A></TD>
    </TR>
    </TABLE></TD>
    <TD width=400 align=left valign=top><A href=http://$web><IMG src=images/earth.gif width=20 height=20 border=0></A> <A href=$email><IMG src=images/email.gif width=19 height=12 border=0></A>
    <SPAN class=ip_and_time>來自 $ip 於 $date 留下</SPAN><span class=font9>[ <a href=$PHP_SELF?act=delall&serial=$serial>刪除</a> ]</span>
    <SPAN class=content><BR>
    $content<BR>
    </SPAN> </TD>
    <TD width=2 rowspan=2 background=images/right.gif> </TD>
    </TR>

    <TR>
    <TD valign=top>";


    $result1 = $objDB->Recordset("select serial,reid,name,face,email,web,content,date,ip from $DB_TABLE where reid=$serial order by date asc");
    $arr1= $objDB->GetRows($result1);
    for ($j=0;$j<$objDB->RecordCount($result1);$j++)
    {
    $serial=$arr1[$j]["0"];
    $reid=$arr1[$j]["1"];
    $name=$arr1[$j]["2"];
    $face=$arr1[$j]["3"];
    $email=$arr1[$j]["4"];
    $web=$arr1[$j]["5"];
    $content=nl2br($arr1[$j]["6"]);
    $date=$arr1[$j]["7"];
    $ip=$arr1[$j]["8"];
    if($CLOSE_HTML)
    {
    $name=htmlspecialchars($arr1[$j]["2"]);
    $email=htmlspecialchars($arr1[$j]["4"]);
    $web=htmlspecialchars($arr1[$j]["5"]);
    $content=nl2br(htmlspecialchars($arr1[$j]["6"]));
    }



    echo "
    <TABLE width=100% border=0 cellspacing=0 cellpadding=0 class=font9>
    <TR>
    <TD height=17 colspan=2><HR size=1 color=#CCCCCC width=85% align=left></TD>
    </TR>
    <TR>
    <TD width=89% align=left valign=top><SPAN class=replyname>$name</SPAN>回覆說<span class=font9>[ <a href=$PHP_SELF?act=del&serial=$serial>刪除</a>]</span><BR>
    </SPAN><SPAN class=reply>$content</SPAN><br><SPAN class=ip_and_time>[$ip,$date] </TD>
    <TD width=11%><SPAN class=reply><IMG src=images/face/$face ></SPAN></TD>
    </TR>
    </TABLE>";}

    echo " </TD>
    </TR>
    <TR>
    <TD colspan=4 align=left valign=top><IMG src=images/bottom.gif width=513 height=20></TD>
    </TR>
    </TABLE><br>";

    }
    ?>
    </TD>
    </TR>
    <TR>
    <TD height="24" align="center" class="font9"><?php
    $back=$page_num-'1';
    $next=$page_num+'1';
    if(!($back<=0)){echo "<a href= $PHP_SELF?page_num=$back>上一頁</a> ";}
    if($next<=$ALL_PAGE){echo "<a href=$PHP_SELF?page_num=$next>下一頁</a>";}
    ?>
    </TD>
    </TR>
    </TABLE>
    </body>
    </html>
  • edited 二月 2006
    所謂的自動關閉是什麼意思?如果是要關閉視窗,可以透過 JavaScript 試試:
    <script language="javascript">
            window.setTimeout("window.close()", 1000);
        </script>
    

    不過這在 Firefox 中預設是無效的。

    也或者可以將使用者導引到適當的地點:
    <?php
    header('Location: http://twpug.net/');
    exit();
    ?>
    
  • edited 二月 2006
    我的意思是說當使用者輸入帳號密碼有錯誤的話就回到留言版的畫面,若沒有輸入任何資料就按下確定或取消的話也是會回到留言版的畫面。 ├140┤
  • edited 二月 2006
    剛剛回應中的第二個範例就可以做到,試試吧。
  • edited 二月 2006
    <?php
    include 'setup.php'; // 匯入設定檔



    if(!isset($PHP_AUTH_USER))
    {
    Header("WWW-authenticate: basic realm=\"留言版管理\"");
    Header("HTTP/1.0 401 Unauthorized");
    echo "不可以按取消鍵蒙騙過關喔..";
    exit;
    }
    elseif ($PHP_AUTH_USER!=$ADMIN_ACCOUNT OR $PHP_AUTH_PW!=$ADMIN_PASSWORD)
    {
    echo "不是管理者請趕快離開,謝謝你的合作";
    exit;
    }

    我想應該是這段吧~試了幾次都不能你可以告訴我應如何寫嗎?
  • edited 二月 2006
    if(!isset($PHP_AUTH_USER))
    {
    Header("WWW-authenticate: basic realm=\"留言版管理\"");
    Header("HTTP/1.0 401 Unauthorized");
    echo ' <script language="javascript">
    window.setTimeout("window.location=\'http://twpug.net/\'", 1000);
    </script>';
    exit;
    }
    elseif ($PHP_AUTH_USER!=$ADMIN_ACCOUNT OR $PHP_AUTH_PW!=$ADMIN_PASSWORD)
    {
    header('Location: http://twpug.net');
    exit;
    }
  • edited 二月 2006
    那想再請教站長若我不要用跳出視窗這樣的方式來做後端,那我想要另作一個後端登入的頁面,再進入修改留言的頁面。現在這個部份我要怎麼改呢?
    if(!isset($PHP_AUTH_USER))
    {
    Header("WWW-authenticate: basic realm=\"留言版管理\"");
    Header("HTTP/1.0 401 Unauthorized");
    echo ' <script language="javascript">
    window.setTimeout("window.location=\'http://twpug.net/\'", 1000);
    </script>';
    exit;
    }
    elseif ($PHP_AUTH_USER!=$ADMIN_ACCOUNT OR $PHP_AUTH_PW!=$ADMIN_PASSWORD)
    {
    header('Location: http://twpug.net');
    exit;
    }
  • edited 二月 2006
    只要搭配表單就可以做到,不妨找本書來翻吧。
  • edited 二月 2006
    站長建議一本好書吧!
  • edited 二月 2006
    站長這本書您有看過嗎?對於剛學php的user看的懂嗎?
  • edited 二月 2006
    我是看這本書的舊版本開始入門,但是幾個被我推薦然後買來看的人大多把它放在書架上堆灰塵,所以...見仁見智吧
  • edited 二月 2006
    站長以前就是本科系的嗎?要不怎麼那麼利害呢?
  • edited 二月 2006
    基本上只要願意花時間,任何人都可以輕易超過我的程度,可惜大部分人都急著看到成果而不願意付出時間囉。
  • edited 二月 2006
    其實我本身原本也不會由於自己的興趣就開始接觸,但沒有人可以指點一下路總是比較困難一點,還好現在您在這裡有架這個網站,要不然真不知該去那裡問才好>>>>>站長那您寫php多久啦~~
  • edited 二月 2006
    與主題無關的東西就另外開主題討論吧 :)
  • edited 二月 2006
    那就給它刪掉吧~~~
  • edited 二月 2006
    請問一下站長要刪除那段的語法才可把跳出視窗出入帳號密碼的方試
    取消而可以剩下裡面的內容

    <?php
    include 'setup.php'; // 匯入設定檔



    if(!isset($PHP_AUTH_USER))
    {
    Header("WWW-authenticate: basic realm=\"留言版管理\"");
    Header("HTTP/1.0 401 Unauthorized");
    echo "不可以按取消鍵蒙騙過關喔..";
    exit;
    }
    elseif ($PHP_AUTH_USER!=$ADMIN_ACCOUNT OR $PHP_AUTH_PW!=$ADMIN_PASSWORD)
    {
    echo "不是管理者請趕快離開,謝謝你的合作";
    exit;
    }






    if($act=="delall"){
    $objDB->Execute("delete from $DB_TABLE where serial=$serial or reid=$serial");

    header("location:$PHP_SELF");
    exit;
    }elseif($act=="del"){
    $objDB->Execute("delete from $DB_TABLE where serial=$serial ");

    header("location:$PHP_SELF");
    exit;
    }





    ?>
  • edited 三月 2006
    if(!isset($PHP_AUTH_USER))
    

    這個判斷整個移除即可。
  • edited 三月 2006
    <marquee width="100%" style="font-size: 12pt; letter-spacing: 2pt; color: #800000; font-weight: bold" scrolldelay="190">
    var line=new Array()
    line[1]="<?php echo $row_ehouse_news01; ?>"</marquee>
    站長這段我應該要如何改呢?請教教我 ├140┤
  • edited 三月 2006
    不妨另外開啟一個主題,然後詳細敘述你的問題,我們畢竟不是任何人肚子裡的蛔蟲...
Sign In or Register to comment.