Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 9.07.2003 Ostrzeżenie: (0%)
|
Witam drodzy koledzy i kolezanki
Dostałam zadanie napisania bazy danych w php. Kupiłam wiec ksiązki i zabrałam sie do rzeczy. Baza oczywiscie ma byc dostepna w necie a uklad przyciskow nawigacyjnych ma zmieniac sie w zaleznosci od zalogowaniej osoby. Wymyslilam wiec sobie ze w tabeli uzytkownicy dodam pole uprawnienia i to one bedzie zarzadzac przyciskami Stworzylam taki oto plik (w skrócie oczywiscie) [php:1:22e33a1404]<?php function tabela($uprawnienia) tu rysuje sobie tabelke tu tworze przyciski if $uprawnienia =0 to printf("n <a href="test.php3?form_logo=%s">Zaloguj się</a>n", $uprawnienia); if $uprawnienia =2 to printf("n <a href="test.php3?form_2=%s">Opcja2</a>n", $uprawnienia); itd; function Zaloguj($user_name, $passsword) tu zalogowanie do bazy i sciagniecie z bazy danych na temat uprawnien $uprawnienia = $row["uprawnienia"]; function przyciski($user_name,$uprawnienia) tabela($uprawnienia)... function form_2($uprawnienia) { tworze nowy formularz i jeszcze raz rysuje tabele print $uprawnienia; tabela($uprawnienia); i program główny if(isset($form_logo)): form_logo($form_logo); /funkcja wykonujaca formularz logowania elseif(isset($form_2)): form_2($uprawnienia); elseif(isset($Zaloguj)): Zaloguj($user_name,$password); else: tabela($uprawnienia); endif; ?>[/php:1:22e33a1404] I wszystko ładnie działa. Po zalogowaniu w zaleznosci od uprawnien uzytkownicy maja widza rozne przyciski ale jak juz nacisna na jakis wykona sie funkcja form_2 ale zmienna $uprawnienia przybiera wartosc 0 i przyciski sa jak na poczatku Jezeli znajdzie choc jedna osoba by pomoc badz co badz poczatkujacej programistce (a wierze ze tak) bede baaaaaardzo wdzieczna Kasia --------------- Używaj bbcode, tak jest ładniej... (DeyV) |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław |
zacznij od przeczytania topicu przyklajonego na forum php, na temat przekazywania zmiennych.
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%)
|
Poza tym do porównania stosuje się operator == lub ===. Ten ostatni sprawdza czy dwie wartości sa tego samego typu.
Tutaj użyłaś operatora przypisania = który zwróci prawdę. |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 358 Pomógł: 0 Dołączył: 3.07.2003 Skąd: Szczecin->niebuszewo->*(next to window) Ostrzeżenie: (0%)
|
No wlasnie droga Kasiu nie wiem czy to tak specjalni (pseudokod) czy nie ale...
Cytat [php:1:42c8f9eb96]<?php
if $uprawnienia =0 to printf("n <a href="test.php3?form_logo=%s">Zaloguj się</a>n", $uprawnienia); if $uprawnienia =2 to printf("n <a href="test.php3?form_2=%s">Opcja2</a>n", $uprawnienia); ?>[/php:1:42c8f9eb96] ... jesli to jest kod php(czy jakisc inny jezyk programowania) do porownania dwoch wartosci sluzy operator == a w php dodatkowo === ; moze w tym jest blad (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 9.07.2003 Ostrzeżenie: (0%)
|
Operatora przypisania nie zrobiłam (tu tylko tak dla szybkiego pokazania) tylko zastosowałam odpowiednio przypisanie. Problem ze za pierwszym razem gdy sie loguje dobrze przyciski sa dobrze wyswietlane co oznacza ze zmienna uprawnienia jest dobrze porównywana. Gdy jednak probuje przekazac zmienna z funkcji tabela aby wywolac funkcje form_2 ktora wraca do funkcji tabeli robi sie problem. Probowalam zadeklarowac ta funkcje jako global i nic.
Kasia |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 384 Pomógł: 0 Dołączył: 3.04.2003 Skąd: Chorzow Ostrzeżenie: (0%)
|
Dobrze, ladnie, tylko mam takie pytanie: skad sie w ogole bierze zmienna $uprawnienia ? Nie zapomisz moze jej ustawic ? Od razu mowie ze jej przekazywanie w urlu owszem i pomoze, ale bedzie to niebezpieczne. Polecam poczytanie o sesjach i zmiennych sesyjnych.
|
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 9.07.2003 Ostrzeżenie: (0%)
|
Zmienną $uprawnienia ustawiam w funkcji zaloguj i przy pierwszym przekazaniu dziala. O sesjach przeczytam z pewnościa?
Kasia |
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 384 Pomógł: 0 Dołączył: 3.04.2003 Skąd: Chorzow Ostrzeżenie: (0%)
|
Czy funkcja zaloguj jest wywolywana za kazdym wejsciem do tego skryptu ?
|
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 9.07.2003 Ostrzeżenie: (0%)
|
Funkcja Zaloguj jest wywolywana tylko wtedy kiedy nacisniety jest przycisk Zaloguj czyli $uprawnienia ==0 czyli po otwarciu skryptu
Kasia |
|
|
|
Post
#10
|
|
|
Grupa: Zarejestrowani Postów: 384 Pomógł: 0 Dołączył: 3.04.2003 Skąd: Chorzow Ostrzeżenie: (0%)
|
To przy tak ogolnym cytacie skryptu ciezko dalej mi gdybac. Sprobuj wyizolowac bledny kod sledzac caly czas jak ci sie zmienia link do nastepnej strony (widze ze nie masz przeladowan, wiec bedzie to proste), zwroc uwage czy zawsze dostajesz ta wartosc pod oczekiwana przez Ciebie nazwa, szczegolnie:
[php:1:3f9c6afd34] elseif(isset($form_2)): form_2($uprawnienia); [/php:1:3f9c6afd34] o ile cytat jest dokladny to przekazujesz sobie uprawnienia w zmiennej form_2 a funcji przekazujesz wartosc z uprawnienia, ktore w tym momencie sa puste (skoro funkja zaloguj tez nie byla wywolana w tym miejscu), wiec kod funkcji uprawnien juz nie dostaje. |
|
|
|
Post
#11
|
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 9.07.2003 Ostrzeżenie: (0%)
|
W tym miejscu chcialam wywolac funkcje form_2 z wartościa $prawnienia
elseif(isset($form_2)): form_2($uprawnienia); kiedy zostal nacisniety przycisk form_2(nazwa nie istotna) w funkcji tabela a href... Jezeli wartosc $uprawnienia jest tu pusta co zrobic by tak nie bylo. Kasia |
|
|
|
Post
#12
|
|
|
Grupa: Zarejestrowani Postów: 384 Pomógł: 0 Dołączył: 3.04.2003 Skąd: Chorzow Ostrzeżenie: (0%)
|
Nie zupelnie mi o to chodzilo.
Jest tak: rysujesz tabelke z kneflami. jeden z nich jest linkiem do <a href="test.php3?form_2=%s">Opcja2</a> z wartoscia uprawnien dajmy na to 2. Przychodzi pan user i klika na tego linka. Glowny program lapie sie na isset($form_2) i wywoluje funkcje form_2 z _pustym_ argumentem (bo jak napisalem nic nie wskazuje na istnienie zmiennej $uprawnienia, Funkcja form_2 tworzy nowy formularz i rysuje tabelke z kneflami przekazujac jako parametr wartosc pusta - wiec tableka rysuje sie tak jak dla braku uprawnien. PS. Moje GG 5211575 - bedzie szybciej, a potem sie podsumuje dla potomnych na forum. |
|
|
|
![]() ![]() |
|
Aktualny czas: 20.12.2025 - 21:43 |