我有一个更新脚本,用于更新用户名,密码,电话,用户身份等。因此,假设用户决定更改他/她的电话而不是用户名。但是当他们去编辑他们的信息时,所有上述字段都出现在表格上。因此,也会提交用户想要更改的内容。所以我使用下面的代码来检测它。因此,如果字段中的用户名与从会话中提取的用户名匹配,则表示可以继续,如果没有,则打印已经使用了用户名。但问题是我必须运行此查询两次,一次是用户名,一次是用户的唯一ID。当Update脚本位于页面的底部时,它变得复杂。下面的代码将检测到它,但它们将停止回声。那么我如何制作它以便代码检查这些条件,然后在成功完成后它指向更新查询。
检查1:
if ($username == $_POST['username') {
echo "Good to go";
} else {
echo "already in use";
}
检查2:
if ($usergenid == $_POST['usergenid') {
echo "Good to go";
} else {
echo "already in use";
}
答案 0 :(得分:1)
也许我误解了这个问题,但你能否为自己的条件筑巢?
原创
$result = null;
if($username == $_POST['username'])
{
if($usergenid == $_POST['usergenid'])
{
/* perform update to user */
$sql = 'UPDATE users SET username = ' . $_POST['username'] . ' WHERE id = ' . $_POST['usergenid'];
if(mysql_query($sql))
{
$result = 'User updated';
}
else
{
$result = 'Update failed';
}
}
else
{
$result = 'User id already in use';
}
}
else
{
$result = 'Username already in use';
}
return $result;
如果user_id匹配
,则更新用户名$result = null;
if($usergenid == $_POST['usergenid'])
{
if($username != $_POST['username'])
{
/* perform update to user */
$sql = 'UPDATE users SET username = ' . $_POST['username'] . ' WHERE id = ' . $_POST['usergenid'];
if(mysql_query($sql))
{
$result = 'username updated';
}
else
{
$result = 'update failed';
}
}
else
{
$result = 'username is the same, no update performed';
}
}
else
{
$result = 'user id does not match';
}
return $result;