Zapis zmiennej statycznej przy odświeżaniu strony

0

Witam,
próbuję napisać skrypt zliczający nieudane próby logowania.

Dodałem taki kawałek kodu:

function proby(){
static $proby=0;
return ++$proby;
}

oraz dla sprawdzenia czy działa:

echo proby();

Przy każdym odświeżeniu strony $proby resetuje się. Jak temu zapobiec?

2

Bo static działa wtedy, gdy wykonasz jedną funkcję wiele razy w trackie wykonywania skryptu czyli jak zrobisz:

echo proby();// wyswietli 1 
echo proby();// wyswietli 2
echo proby();// wyswietli 3 
echo proby();// wyswietli 4 
echo proby();// wyswietli 5 
echo proby();// wyswietli 6 
echo proby();// wyswietli 7 
echo proby();// wyswietli 8 

naraz.

Tak jak ty chcesz to musisz zrobić licznik, np na plikach textowych, sesji etc. W google znajdziesz odpowiedź

2

Zamiast static $proby=0; użyj $_SESSION['proby']. Szukaj pod hasłem **sesje ** :)

0

Przede wszystkim nie zerować $proby w każdym wywołaniu proby()! Jakieś elementarne zasady logiki trzeba mieć.

0
massther napisał(a)

Przede wszystkim nie zerować $proby w każdym wywołaniu proby()! Jakieś elementarne zasady logiki trzeba mieć.

tourtial z internetu napisał(a)

{
static $i=0; // początkowa wartość zmiennej
return ++$i; // zwracamy $i zwiększone o 1
}

Teraz wartość zmiennej $i zostaje zachowana po wykonaniu funkcji, dlatego wynikami wywołania będą kolejne liczby: 1,2,3,4, itd.

Tak więc nie zeruje się przez wywołanie ponowne funkcji proby() a przez odświeżanie strony jak to już zostało wcześniej powiedziane.

Dziękuje wam za pomoc. Dalej poradzę już sobie sam :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1