2013-01-08 59 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()