Въпрос относно функция

CosaNostra

Registered
Здравейте!

Имам следния код:

function test(){
echo "My money: ". $money ."";
}

Дава ми следната грешка:

Notice: Undefined variable: money in C:\XAMPP\htdocs\funkciite.php on line 86

86 - реда, на който се намира $money

Въпросът ми е къде трябва да извеждам резултатите от База Данни, за да не ми дава грешка? Пробвах да ги изведа във самата функция и стана, но надали е решение да извеждам по 20-30 реда код във всяка функция... Как да си реша проблема?

Благодаря предварително и дано сте ме разбрали! :)
 
Отново същото... Забравих да спомена, че информацията се показва в index.php - в индекса инклудвам funkciite.php
 
Как я ползваш тази функция? Пътят правилен ли е?
Пробвай така:
PHP:
<?php
function test($money){
echo "My money: ".$money;
}
?>
 
Стойностите изведени от БД се намират в конфигурационния файл, функциите в друг файл.

Ето примерно как ми изглежда страницата:

<?php
session_start();
include "configfile.php";
include "functionfile.php";

test();

?>
 
Сега не ми дава грешка - всичко си е ОК, но ако трябва да използвам всичките ( или почти всичките стойности ) и в друга функция ще трябва да ги пиша и в нея функция... ?
 
CosaNostra каза:
Сега не ми дава грешка - всичко си е ОК, но ако трябва да използвам всичките ( или почти всичките стойности ) и в друга функция ще трябва да ги пиша и в нея функция... ?

Като сложиш global на променлива в дадена функция тя ще бъде видима вътре и извън самата функция. Принципно променливите декларирани в една функция са недостъпни извън нея, затова и именно се слага global.

Потърси в интернет scope на променливи - link2google.
 
Ще трябва да си правиш променливите глобални, за да са видими насякъде.
 
Нещо не се получава... пред всички променливи сложих global, но във функцията отново дават грешка... когато ги сложа ВЪВ самата функция не дават, но не мога да ги слагам във всяка... Защо се получава така?
 
Няма ли да е по-лесно да го правиш така:
PHP:
<?php
function test($money){
echo "My money: ".$money;
}
?>
После извикването става така:
PHP:
test(5);
Можеш да я ползваш дори и така:
PHP:
<?php
function test($money){
echo "My money: ".$money;
}
$var = 7;
test($var);
?>
 
CosaNostra каза:
във функцията отново дават грешка... когато ги сложа ВЪВ самата функция не дават

Не те разбирам, дай некакъв пример.

Не слагай пред всичи променливи global, а го направи

Код:
global $money, $var1, $var2, $var3, $var4;
на 1 место във функцията например.
 
CosaNostra каза:
А защо трябва да е function test($money) ?

Има 3 начина променлива да влезе в scope на функция.

1.Като параметър, както ти казаха по горе
2.Да я викнеш от глобалния скоуп с global $var;
3.Да ползваш масива $GLOBALS['var'];
 

Back
Горе