搜索&修改用户详细信息

时间:2012-01-11 16:03:23

标签: php

我想知道是否有人可以帮助我。

我正在尝试整理一个表单和PHP脚本(如下所示),它允许管理员通过电子邮件地址搜索和更新成员详细信息,填充第二个电子邮件地址,forename和surname字段,并为他们准备好检索到的信息待修改。

<?php 
mysql_connect ("hostname","username","password") or die (mysql_error()); 
mysql_select_db ("databasename"); 
if ($_POST['search'])
{
    $searchemailaddress = $_POST['searchemailaddress']; 
    $sql = mysql_query("select * from userdetails where emailaddress like '$searchemailaddress'"); 
    while ($row = mysql_fetch_array($sql))
    { 
        $emailaddress = $_POST['emailaddress']; 
        $forename = $row['forename']; 
        $surname = $row['surname'];
    }
elseif ($_POST[['update'])
{
    $userid = $_POST['userid']; 
    $emailaddress = $_POST['emailaddress']; 
    $forename = $_POST['forename']; 
    $surname = $_POST['surname']; 
    //replace TestTable with the name of your table 
    $sql = ("UPDATE `userdetails` SET `emailaddress` = '$emailaddress', `forename` = '$forename',`surname` = '$surname' WHERE `userdetails`.`userid` = '$userid' LIMIT 1");
}
}
}
?> 

我收到以下错误: Parse error: syntax error, unexpected T_ELSEIF in /homepages/2/d333603417/htdocs/development/searchandamend.php on line 13

第13行是我脚本中的这一行。 elseif ($_POST[['update'])

有人可能请看看这个,让我知道我哪里出错了。

非常感谢

2 个答案:

答案 0 :(得分:1)

该行

$surname = $row['surname'];}
之后

应该有另一个}。您只能关闭while循环。你也可以考虑使用一些缩进 - 这真的有助于看到像这样的错误。

此外,错误基本上都说明了 - else if出现意外,因此PHP处理器需要其他东西(在这种情况下是右括号)。

答案 1 :(得分:0)

正如您在回答评论中提到的那样,您的结束}放置不当,看起来您的关闭太多了。

if
{
    // stuff here
}
elseif 
{
    // other stuff here
}

正如之前的回答中提到的,如果您正确格式化代码,类似于编辑问题中出现的代码,您将更容易找到这样的错误。


我也不得不指向PHP documentation on choosing the correct MySQL API,因为您使用的扩展程序已过时,不建议用于新项目。