Skocz do zawartości

[php]zmiana zmiennej


Rokulcia

Rekomendowane odpowiedzi

Cześć, mam taki problem. Minowicie, chce zrobić przycisk, który zmieni pewną zmienną

Stworzyłem więc przycisk, który przenosi mnie do statystyki.php

 

a tam mam taki kod:

 

<?php

 

ob_start();

 

 

require_once('var/ustawienia.php');

 

 

session_start();

 

 

require_once('test_zalogowanego.php');

if($uzytkownik['staty'] == '0'){

($uzytkownik['staty'] == '1');

}

if($uzytkownik['staty'] == '1'){

($uzytkownik['staty'] == '0');

}

header ('Location: miasto.php');

?>

 

gdy klikam na ten przycisk, przenosi mnie do statystyki. php a stamtad od razu do miasto.php

Ale nie zmienia tej zmiennej, ktoś wie dlaczego?

Odnośnik do komentarza
Udostępnij na innych stronach

Kod wykonuje się po kolei :)

Najpierw ustawiasz $uzytkownik['staty'] na 1 a potem sprawdzasz czy jest na 1 i zmieniasz znów na 0. Nie pamiętam jak się to rozwiązywało... "exit;"?

 

Edit: Możesz to zrobić też tak:

if($uzytkownik['staty'] == '0'){
($uzytkownik['staty'] == '1');
}
else if($uzytkownik['staty'] == '1'){
($uzytkownik['staty'] == '0');
}

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

To nie program, tylko skrypt, zmienne nie przechodzą pomiędzy wywołaniami. Każde wywołanie jest jakby osobne. Możesz zmienne przekazać do kolejnego skryptu metodą GET ($_GET) w adresie URL: costam.pl?zmienna=wartosc, albo metodą POST z formularza.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

Odpalanie pliku php, to jak odpalanie programu z konsoli. Każde przeładowanie, to nowe odpalenie. Jeśli chcesz aby w jednym pliku zwiększyła się zmienna w pliku drugim, to musisz przekazać tę wartość w sesji/ciastku/url/post.

Poza tym == nie nadaje wartości.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

Jakie include? Co ma include do zmieniania zmiennych? A jeśli chodzi o zmianę require na include to róznica jest taka, że require wykona się nawet w tym przypadku:

if (1 > 2) {
echo 'OK'; //to sie nie wyswietli
require('test.php'); //a to sie o dziwo wykona
}

Odnośnik do komentarza
Udostępnij na innych stronach

  • 3 tygodnie później...

Jeśli już to:

GML
if($uzytkownik['staty'] == '0') {

$uzytkownik['staty'] = '1';

}

else if($uzytkownik['staty'] == '1') {

$uzytkownik['staty'] = '0';

}

To raz, dwa. gnysek na to zwrócił uwagę, zwrócić trzeba jeszcze raz. Zmienna $uzytkownik znika Ci po wywołaniu skryptu. Jeśli nie trzymasz jej z użyciem sesji to nic Ci to nie da.
Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...