Встретить еще несколько проблем UserCake. Сейчас я пытаюсь создать функцию для обновления имени (буду использовать для большого количества полей), однако, когда я вызываю функцию, сценарий останавливается. Почему-то, я полагаю, он не знает, где находится функция? или что оно вообще существует? Потому что всякий раз, когда я отправляю форму, страница останавливается на строке, которую я называю $loggedInUser->updateFirstName($first_name);
Вот с чем я работаю:
funcs.php
if ($first_name != $loggedInUser->first_name) {
if(trim($first_name) == "") {
$errors[] = lang("ACCOUNT_SPECIFY_FNAME");
}
//End data validation
if(count($errors) == 0) {
$loggedInUser->updateFirstName($first_name);
$successes[] = lang("ACCOUNT_FNAME_UPDATED");
}
}
user_settings.php
//Change a user's first name
function updateFirstName($id, $first_name)
{
global $mysqli,$db_table_prefix;
$stmt = $mysqli->prepare("UPDATE ".$db_table_prefix."users
SET
first_name = ?
WHERE
id = ?");
$stmt->bind_param("si", $first_name, $id);
$result = $stmt->execute();
$stmt->close();
return $result;
}
Что меня смущает, так это то, что функция updateEmail () работает отлично, она точно такая же, за исключением того, что фактическим именем поля является «email».
Не похоже, что вы вызываете идентификатор с помощью функции.
$loggedInUser->updateFirstName($id, $first_name);
Других решений пока нет …