2013-01-08 57 views
0

在這裏的成員的建議,我已經放棄了mysql_函數,並看着PDO。

我認爲Id做一個簡單的頁面開始玩,但我想我此刻的簡單的一...

我在這裏失去了一些東西?它已經很晚了,但我無法弄清楚爲什麼這種方式不起作用。

PHP:

<?php 

session_start(); 

include"dbconnect.php"; 

$query = "SELECT * FROM user WHERE username=?"; 
$statement = $db->prepare($query); 

if ($_POST['submit']){ 

    if ($_POST['name'] === ""){ 
     echo "Please enter a name"; 
    }else{ 

$user=$_POST['name']; 


$statement->execute(array($user)); 
$fuser = $statement->fetchObject(); 

} 
} 

?> 

HTML:

<body> 
<form method="post" action=""> 
<table width="400" border="1" cellspacing="0" cellpadding="0"> 
    <tr> 
    <td>enter username here</td> 
    <td>&nbsp;</td> 
    <td>&nbsp;</td> 
    </tr> 
    <tr> 
    <td><input name="name" id="name" type="text" maxlength="20" /></td> 
    <td>&nbsp;</td> 
    <td>&nbsp;</td> 
    </tr> 
    <tr> 
    <td><input name="submit" id="submit" type="button" value="submit" /></td> 
    <td><? echo "$fuser->online" ?></td> 
    <td>&nbsp;</td> 
    </tr> 
</table> 
</form> 
</body> 

我連接到數據庫正確,因爲如果我刪除此節:

if ($_POST['submit']){ 

    if ($_POST['name'] === ""){ 
     echo "Please enter a name"; 
    }else{ 

$user=$_POST['name']; 

$user="Mike";

更換 $user=$_POST

它應該顯示Mikes細節。

任何人都可以幫忙嗎?

編輯:發現問題重讀它放在這裏> _ <

我已經提交按鈕類型=按鈕時,它應該是=提交...

+0

是您的窗體的'你的工作版本正確填寫action'參數?在您發佈的代碼中,它似乎並未包含在內。 – esqew

+0

現在正常工作..有時令人驚歎。我花了30分鐘看那個.. – user1953045

+0

有時它有助於制定問題,因爲在相同的問題/代碼中,用不同的角度來看待問題。 – hakre

回答

1
if(isset($_POST['somename']) 
{ 
//dosomething 
} 

,你必須使用isset返回truefalse

+0

ive現在切換它,所以 如果isset postname,然後執行,如果沒有,然後顯示我的「輸入用戶名消息」 它的工作原理...但是,當我離開這個字段爲空,但母鹿不顯示我的消息:( ' 如果($ _ POST [ '提交']){ \t \t如果(isset($ _ POST [ '名'])){ \t \t \t $ \t用戶= $ _ POST [ '名稱']; $陳述書>執行(陣列($用戶)); $定影= $陳述書> fetchObject(); \t \t \t }否則{ echo「Please enter a name」; } } ' – user1953045

+0

也提交。你必須使用isset($ _ POST ['submit'])。並且確保即使它是空名稱也要發佈該名稱。你可以通過檢查它是否爲null將其更改爲空字符串「' –

-2

嘗試,而不是$_POST['variable'],使用後立即

if ($_REQUEST['submit']){ 

    if ($_REQUEST['name'] === ""){ 
     echo "Please enter a name"; 
    }else{ 

$user=$_REQUEST['name']; 
+3

只是在這個問題上發表意見。在某些情況下使用_REQUEST可能會帶來安全風險,並且還取決於用戶的request_order設置。如果您希望發佈帖子,允許將數據泄露出去並不是件好事。 –

0

回顧過去的HTML,試試這個:

<tr> 
    <td><input name="submit" id="submit" type="submit" value="submit" /></td> 
    <td><? echo "$fuser->online" ?></td> 
    <td>&nbsp;</td> 
</tr> 

然後當你點擊按鈕的形式,實際上將提交。

//編輯 爲mandouh說,我也改變電子書籍,以=== ""isset()