急需高手解答^^為什麼我執行htm時,沒反映呢?

edited 十月 2013 in PHP新手區
網頁:
<html>

<head><title>會員登入</title></head>
<body>
<center>
<h2><font color=\"#0000FF\">會員登入</font></h2>
<font method=\"post\" action=\"login2.php\">
<table border=\"1\" width=\"278\" height=\"87\">
<tr>
<td width=\"80\" bgcolor=\"#FFFFCC\" height=\"23\">帳號:</td>
<td width=\"198\" bgcolor=\"#FFFFCC\" height=\"23\"><input type=\"text\" name=\"loginid\" size=\"20\"></td>
</tr>
<tr>
<td width=\"80\" bgcolor=\"#FFFFCC\" height=\"21\">密碼:</td>
<td width=\"198\" bgcolor=\"#FFFFCC\" height=\"21\"><input type=\"text\" name=\"password\" size=\"20\"></td>
</tr>
<tr>
<td width=\"278\" colspan=\"2\" height=\"25\">
<p align=\"center\"><input type=\"submit\" value=\"登入\"><input type=\"submit\" value=\"重新設定\">
</td>
</tr>
</table>
</font>
</center>

</body>

</html>
*****************************************************
php:
<?
$loginid=$_post[loginid];
$password=$_post[password];

/*
連結login.htm所傳來的資料
*/

if($loginid==\"\" or $password==\"\")
{
$errmsg=\"欄位不可留白\";
ErrorMsg($errmsg);
}

/*
若傳來的為空值,將顯示錯誤「不可留白」
*/

$conn=mssql_connect(\'127.0.0.1\',\'saturn\',\'123456\');
mssql_select(\'ebook\');

$sql=\"select * from member where loginid=\'$loginid\' and password=\'$password\'\";
$result=mssql_query($sql);

/*
登入後,將連接SQL,取出其剛所輸入的帳號及密碼,並交由$result=mssql_query($sql)的SEVER執行
*/

if(mssql_fetch_row($result))
{
echo \"<center>\";
echo \"<font color=blue size=\"5\">.\"登入完成...請繼續!\".
\"</font><hr>\";
echo \"</center>\";
}
else
{
$errmsg=\"無法登入:帳號或密碼不正確!\";
ErrorMsg($erromsg);
}

/*
SEVER執行後,正確:登入....,錯誤:無法....
*/

function ErrorMsg($err)
{
echo \"<center>\";
echo \"<font color=red size=\"5\".$err.
\"</font><hr>\";
echo \"<input type=button value=回會員登入網頁 onclick=history.back();>\";
echo \"</center>\";
exit ;
}

/*
將上列顯示錯誤訊息,重新提示USER,強制登回「會員登入網頁」
*/
?>

*****************************************************不好意思^^我把程式碼放上來,先說明一下
我sql資料庫建立了eBOOK的資料庫,表單為member,表單中共設三個欄位,分別為id(排序號)、logind(帳號)、password(密碼)
忘了說,我登入資料庫目前暫設登入帳號saturn,密碼123456
現在是我都寫好了,但打開 loging2.htm,輸入我在資料庫建立的一筆帳號及密碼後.....沒反印,可否幫我看一下那裏出錯了^^,麻煩你們了
隨後附我作的原始檔,請各位高手看一下^^(會員登入)

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

評論

  • edited 八月 2006
    <font method=\"post\" action=\"login2.php\">
    ...
    </font>

    ...把 font 改成 form ...
  • edited 八月 2006
    <form></from>裡面有2個 submit ?
  • edited 八月 2006
    我依二位大師所說改了><但執行扔錯誤,我在login2.htm輸入我在資料庫新建的使用者帳號及密碼,執行時產生
    Parse error: parse error, unexpected T_LNUMBER, expecting ',' or ';' in c:\appserv\www\login2.php on line 26
    的錯誤,可否再幫我一下^^
  • edited 八月 2006
    26行
    echo "<font color=blue size="5">."登入完成...請繼續!".
    "</font><hr>";
    41行
    echo "<font color=red size="5".$err.
    "</font><hr>";

    echo "<font color=blue size=\"5\">登入完成...請繼續!".
    "</font><hr>";
    echo "<font color=red size=\"5\"".$err.
    "</font><hr>";
    字串裡的"記得加上\變成\",不然php會判斷成字串結尾
    error就出現了
  • edited 八月 2006
    謝謝你「管理員」^^大師,我改正了,但現在問題又出現了><我執行登入後,卻跳出網頁顯示「欄位不可留白」,可是我明明在資料庫中有新增一筆帳號miga,密碼861014,而且在htm裏也明明輸入了,怎會跳出欄位不可留白呢?下列是php原始碼
    <?
    $loginid=$_post[loginid];
    $password=$_post[password];


    /*
    連結login.htm所傳來的資料
    */

    if($loginid=="" or $password=="")
    {
    $errmsg="欄位不可留白";
    ErrorMsg($errmsg);
    }

    /*
    若傳來的為空值,將顯示錯誤「不可留白」
    */

    $conn=mssql_connect('localhost','saturn','123456');
    mssql_select_db('ebook');

    $sql="select * from member where loginid='$loginid' and password='$password'";
    $result=mssql_query($sql);

    /*
    登入後,將連接SQL,取出其剛所輸入的帳號及密碼,並交由$result=mssql_query($sql)的SEVER執行
    */

    if(mssql_fetch_row($result))
    {
    echo "<center>";
    echo "<font color=blue size=5>登入完成...請繼續!</font><hr>";
    echo "</center>";
    }
    else
    {
    $errmsg="無法登入:帳號或密碼不正確!";
    ErrorMsg($erromsg);
    }

    /*
    SEVER執行後,正確:登入....,錯誤:無法....
    */

    function ErrorMsg($err)
    {
    echo "<center>";
    echo "<font color=red size=5>.$err.</font><hr>";
    echo "<input type=button value=回會員登入網頁 onclick=history.back();>";
    echo "</center>";
    exit ;
    }

    /*
    將上列顯示錯誤訊息,重新提示USER,強制登回「會員登入網頁」
    */
    ?>
  • edited 八月 2006
    請用$_POST[]
    $_post[]不是php內定寫法,所以無法得到傳來的值
  • edited 八月 2006
    大師您好^^又來麻煩你了,我依您的意思更改,現在反而變成了
    Fatal error: Call to undefined function: mssql_connect() in c:\appserv\www\login2.php on line 16
    ,我的天阿!到底是我寫錯了呢?還是課本印錯了!!
  • edited 八月 2006
    忘了說第十六行是在
    $conn=mssql_connect('localhost','saturn','123456');
    @是saturn及123456
    而我建的表單為member, 欄位為id(排序用)logingid(帳號)password(密碼)
    原來作一個基礎的會員登入系統就這摩複雜,還請大師多見諒我這新手^^!
  • edited 八月 2006
    你的php沒有包到mssql
    所以不認得mssql_connect這個function
    php的mssql功能我沒使用過
    建議到php的官網查查看有沒有相關資料
    http://www.php.net
  • edited 八月 2006
    哈!感謝大師的提醒!ya!太高興了,原來是書商把mysql印成mssql難怪資料庫讀不到=.=!,太好了^^又可以繼續寫了。
    對了,大師可否容我再問一個小問題^^!,在htm中我輸入密碼都是直接顯示出,有沒有辦法顯示這樣的符號呢*******?
  • edited 八月 2006
    type 改成用 password

    另外你學 php 的同時應該充實一下 html 規格的認識...
    http://werbach.com/barebones/barebone_tw.html
  • edited 八月 2006
    其實前面那些問題只要在程式裡插幾行 除錯的指令就可以發現了
    譬如 $_post[]的問題, 在if判斷之前先 echo $loginid, $password的值就可以知道 loginid, password 並沒有傳進來!
    <input type=password>這應該是html的語法....
  • edited 八月 2006
    謝謝大師們的幫忙,未來可能還需請教^^麻煩嚕
Sign In or Register to comment.