Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z sesją (undefined index), Nie wiem jak to naprawić
Kluczownik
post 25.01.2015, 02:30:20
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 25.01.2015

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


Witam, mam problem. Otóż posiadam stronę internetową, jednak działa ona na zasadzie sesji i cały czas wywala błąd undefined index. Dotyczy on 'p' które jest wykorzystywane do przełączania się między zakładkami. Moje pytanie brzmi jak zdefiniować to 'p', żeby wszystko działało i nie wywalało błędów? Dodam, że po kliknięciu w logo, gdy przełącza wtedy na localhost/?p=start sesja się uruchamia i wszystko działą, problem w tym, że sesja nie uruchamia się bezpośrednio po otworzeniu strony, a jest to niezbędne. Proszę o pomoc smile.gif

Ten post edytował Kluczownik 25.01.2015, 03:25:57
Go to the top of the page
+Quote Post
szajens
post 25.01.2015, 02:37:17
Post #2





Grupa: Zarejestrowani
Postów: 149
Pomógł: 4
Dołączył: 3.01.2010

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


tam gdzie używasz $_GET['p']; użyj najpierw isset, jeżeli tego jest za dużo(plików do edycji) można zrobić w pliku głównym:

Kod
if (!isset($_GET['p']) {
$_GET['p']='';
}


choć moim zdaniem to nie estetyczne i nie zgodne z logika smile.gif

edit: jeżeli edytujesz post podawaj co edytujesz, edit2: nie null a '' (dwa apostrofy,czyli zmienna pusta ale zdefiniowana smile.gif za dużo piwa smile.gif)

Ten post edytował szajens 25.01.2015, 02:44:23
Go to the top of the page
+Quote Post
Kluczownik
post 25.01.2015, 03:02:11
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 25.01.2015

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


Zrobiłem tak jak pisałeś po edicie, dodałem twój kod w głównym pliku (index.php) i wyświetla zamiast strony błąd: "Parse error: syntax error, unexpected '{' in C:\xampp\htdocs\index.php on line 14". Co więc z tym zrobić?

Po ręcznym ustawianiu insertów są z kolei problemy z nie wyświetlaniem się podstron :/ Nie wiem więc czy to ja coś źle robię, czy ze stroną jest coś nie tak.

Ten post edytował Kluczownik 25.01.2015, 03:25:35
Go to the top of the page
+Quote Post
szajens
post 25.01.2015, 03:19:23
Post #4





Grupa: Zarejestrowani
Postów: 149
Pomógł: 4
Dołączył: 3.01.2010

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


przepraszam zjadłem jeden nawias:

  1. if (!isset($_GET['p'])) {
  2. $_GET['p']='';
  3. }


edit: jednak lepiej jakbyś wszędzie gdzie masz $_GET['p'] dał isset($_GET['p'])

po prostu wywala Tobie błąd notice, chodzi o to że isset sprawdza czy zmienna jest zdefiniowana, u Ciebie w pewnych wypadkach nie jest można poprawnie rozwiązać to tak:

Kod
<?php
if (isset( $_GET['p'])) {
$p = $_GET['p'];
} else {
$p = '';
}
?>


i w kodzie zamiast $_GET['p'] daj $p

Ten post edytował szajens 25.01.2015, 03:26:56
Go to the top of the page
+Quote Post
Kluczownik
post 25.01.2015, 03:24:57
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 25.01.2015

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


Ok, działa smile.gif Dzięki wielkie wink.gif
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: 26.01.2020 - 03:38