Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][Mysql] Fatal error: Cannot unset string offsets in...
mop
post 9.05.2010, 08:21:18
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 8.12.2009

Ostrzeżenie: (0%)
-----


Witam,
mam mały problem. Wrzuciłem strone na serwer i wywala mi błąd: Fatal error: Cannot unset string offsets in (tutaj adres pliku) on line 18
Problem dotyczy tego fragmentu kodu:

  1. if($minus == $ile){
  2. unset ($_SESSION['koszyk'][$minus]);
  3. unset ($_SESSION['nr_t'][$minus]);
  4. }


linia 18 to ten drugi unset (trochę to dziwne bo do pierwszego się nie przywala).
Co dziwne skrypt działa prawidłowo! Ma on za zadanie usuwać produkty z koszyka. Wygląda to tak:
- wchodzę do koszyka
- wybieram produkt do usunięcia
- wywala błąd
- cofam się do poprzedniej strony
- wchodzę jeszcze raz do koszyka i produktu nie ma (?!)

Dodam tylko że na loclahoscie nie wywala błędu...

Ten post edytował mop 9.05.2010, 08:22:24
Go to the top of the page
+Quote Post
varez
post 9.05.2010, 08:36:41
Post #2





Grupa: Zarejestrowani
Postów: 275
Pomógł: 32
Dołączył: 17.06.2007

Ostrzeżenie: (0%)
-----


$_SESSION['nr_t'] jest stringiem nie tablicą. dlatego robiąc
$_SESSION['nr_t'][$minus] wywala Ci błąd.
Go to the top of the page
+Quote Post
mop
post 9.05.2010, 09:30:36
Post #3





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 8.12.2009

Ostrzeżenie: (0%)
-----


No ok, ale nie rozumiem jak to jest że $_SESSION['koszyk'] traktuje jak tablice a $_SESSION['nr_t'] jak string...
Jest jakieś rozwiązanie tego problemu?
Go to the top of the page
+Quote Post
nospor
post 9.05.2010, 10:27:53
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
No ok, ale nie rozumiem jak to jest że $_SESSION['koszyk'] traktuje jak tablice a $_SESSION['nr_t'] jak string...
Bo pod indexem nr_t wkladasz string ?

var_dump($_SESSION['nr_t']);
co ci pokazuje?

Zanim zadasz kolejne pytanie zapoznaj się z:
Temat: Jak poprawnie zada pytanie


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
mop
post 9.05.2010, 14:43:16
Post #5





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 8.12.2009

Ostrzeżenie: (0%)
-----


W $_SESSION['nr_t'] przechowywane są liczby od 1 do 15, natomiast w $_SESSION['koszyk'] są nazwy tak więc wydaje mi się, że jeśli już coś to $_SESSION['koszyk'] powinien być potraktowany jako string...
No nic, mam pewnien pomysł... może się uda
Go to the top of the page
+Quote Post
varez
post 9.05.2010, 16:06:39
Post #6





Grupa: Zarejestrowani
Postów: 275
Pomógł: 32
Dołączył: 17.06.2007

Ostrzeżenie: (0%)
-----


$_SESSION['koszyk']
jako string? to co, po przecinku zawartość koszyka masz w zmiennej?
Go to the top of the page
+Quote Post
mop
post 9.05.2010, 18:39:46
Post #7





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 8.12.2009

Ostrzeżenie: (0%)
-----


Cytat
to co, po przecinku zawartość koszyka masz w zmiennej?

Nie. Bo kod nie wygląda tak:
  1. $_SESSION['koszyk']

tylko tak:
  1. $_SESSION['koszyk'][$minus]

koszyk - #_SESSION[nazwa produktu][numer id]
nr_t - $_SESSION[numer produktu][numer id]

Cytat
Bo pod indexem nr_t wkladasz string ?

Skoro pod nr_t znajduja się liczby, czyli int a nie string, to dlaczego wywala mi taki błąd?
Podkreślam jeszcze raz, że kod działa i się wykonuje. Z koszyka jest usuwany wybrany produkt... tylko w trakcie wywalany jest ten błąd.
Go to the top of the page
+Quote Post
varez
post 9.05.2010, 18:56:23
Post #8





Grupa: Zarejestrowani
Postów: 275
Pomógł: 32
Dołączył: 17.06.2007

Ostrzeżenie: (0%)
-----


to ukryj wyświetlanie błędów jak nie potrafisz ich naprawić :/
Go to the top of the page
+Quote Post
bastard13
post 9.05.2010, 20:11:47
Post #9





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Wpisz print_r($_SESSION['nr_t']) i napisz co ci wyrzuca.


--------------------
Go to the top of the page
+Quote Post
mop
post 9.05.2010, 21:47:59
Post #10





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 8.12.2009

Ostrzeżenie: (0%)
-----


wyskakuje: Array ( )

Zastanawiam się czy to może być wina tylko tego serwera na który wrzuciłem pliki?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.07.2025 - 11:17