Грешка на код

jetrey55

Registered
Здравейте , някой знае ли защо се получава такава грешка :

-----------------------------------------------------------------------

Notice: Undefined variable: error in C:\xampp\htdocs\speedracers\includes\footer.php on line 7

Notice: Undefined variable: success in C:\xampp\htdocs\speedracers\includes\footer.php on line 8

-----------------------------------------------------------------------

PHP:
<?php
if ($logged)
{
  $templateVariables["player"] = $player;
} // if logged

$templateVariables["error"]   = $error;
$templateVariables["success"] = $success;
 
$smarty->assign($templateVariables);
 
$smarty->display($templateVariables["display"]);
 
Това не е грешка, а забележка. PHP иска да ти каже, че

PHP:
$error
// И 
$success

нямат стойност.

Има два варианта за решаване на проблема. Единия е да си предефинираш променливите в началото с празна стойност или да правиш проверка.

Вариант 1:

PHP:
// В PHP не е много използван този начин
// макар и да не е грешен
$error = "";
$success = "";

// ...останалия код...

Вариант 2:

PHP:
if ( !empty($error) ) {
       $templateVariables["error"] = $error;
}
if ( !empty($success) ) {
       $templateVariables["success"] = $success;
}

Първия вариант е, ако искаш със сигурност да имаш някаква стойност, дори и тя да е празна, а втория вариант е, ако не искаш да имаш стойност по подразбиране и чакаш да я получиш от някъде, и чак тогава я запазваш в масива.
 

Back
Горе