Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]wykorzystanie wygenerowanego kodu
tog
post
Post #1





Grupa: Zarejestrowani
Postów: 93
Pomógł: 4
Dołączył: 1.12.2009
Skąd: lublin

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


witam,

czy da sie jakos wykorzystac wygenerowany kod php ?
tzn. php tworzy kod ktory pozniej samo przetwarza

rozwiazaniem byloby tutaj zapisanie kodu do pliku a nastepne go includowanie
ale czy da sie jakos to zrobic nie wychodzac z pliku

a przy okazji jeszcze cos(w sumie troche powiazane)

mam funkcje

  1.  
  2. function pz($code)
  3. {
  4. if(!eregi("[a-zA-Z0-9_ ]$", $code))
  5. {
  6. return 'ercode';
  7. }
  8. }
  9.  


czy daloby sie zrobic tak aby po wpisaniu
pz($nick);
funkcja zwracala zmienna $er_nick = 'ercode';
?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
l0ud
post
Post #2





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


Co do pierwszego, możesz użyć eval

Wyjaśnij bardziej drugie pytanie...
Go to the top of the page
+Quote Post
tog
post
Post #3





Grupa: Zarejestrowani
Postów: 93
Pomógł: 4
Dołączył: 1.12.2009
Skąd: lublin

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


robie ta funkcje 'pz', ktora mi sprawdza czy zmienna nie zawiera nieodpowiednich znakow
i chcialbym aby ta funkcja tworzyla nowa zmienna o zmiennej nazwie
jak do funkcji wprowadze $nick z nieodpowiednimi znakami to funkcja mi zwroci $er_nick
jak wprowadze $pass z nieodpowiednimi znakami to ta sama funkcja mi wyrzuci $er_pass
Go to the top of the page
+Quote Post
piotrekkr
post
Post #4





Grupa: Zarejestrowani
Postów: 386
Pomógł: 25
Dołączył: 28.09.2005

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


Możesz jaśniej? Chodzi ci o to że pz() sprawdza czy argument zawiera odpowiednie znaki i jeśli tak to robi zmienna o nazwie $er_'wartosc_argument_code' ? Bo jeśli tak to możesz zrobić coś takiego:

  1. function pz($code)
  2. {
  3. if(eregi("[a-zA-Z0-9_ ]$", $code))
  4. {
  5. return 'er_'.$code;
  6. }
  7. return 'zla_nazwa';
  8. }
  9.  
  10. ${pz($nazwa_do_sprawdzenia)} = 'costam';
Go to the top of the page
+Quote Post
tog
post
Post #5





Grupa: Zarejestrowani
Postów: 93
Pomógł: 4
Dołączył: 1.12.2009
Skąd: lublin

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


chce zrobic cos takiego, aby funkcja rozpoznawala nazwe zmiennej ktora do niej wysylamy

jak wysle
moze tak

$kupa = 'dfsfsfsff';
pz ($kupa);
if ($er_kupa) { } else { }

funkcja rozpoznaje nazwe zmiennej a nie jej zawartosc
da sie cos takiego zrobic ?
Go to the top of the page
+Quote Post
piotrekkr
post
Post #6





Grupa: Zarejestrowani
Postów: 386
Pomógł: 25
Dołączył: 28.09.2005

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


No tak średnio to jest wykonalne bo funkcja nie może tworzyć zmiennych poza swoim zasięgiem (wnętrzem) (chyba że przy użyciu 'global' ale jest to paskudna metoda :/). Funkcja może zwracać jedynie wartości / obiekty. Można było by pokombinować z tablicami przez referencje. Tzn. coś takiego:
  1. function pz($code, &$array)
  2. {
  3. if(eregi("[a-zA-Z0-9_ ]$", $code))
  4. {
  5. $array['er_'.$code] = '';
  6. }
  7. }
  8. $array = array();
  9. $nazwa_do_sprawdzenia = 'blebleble';
  10. pz($nazwa_do_sprawdzenia, $array);
  11.  
  12. if(isset($array['er_'.$nazwa_do_sprawdzenia])){
  13.  
  14. }else{
  15.  
  16. }


W sumie nie wiem co chcesz osiągnąć poprzez sprawdzanie nazw zmiennych i tym podobne kombinacje (IMG:style_emoticons/default/smile.gif) . Jakbyś wyjaśnił co chcesz dokładnie osiągnąć może dało by radę to zrobić normalnym sposobem bez kombinowania (IMG:style_emoticons/default/smile.gif)

Ten post edytował piotrekkr 18.12.2009, 15:49:30
Go to the top of the page
+Quote Post
tog
post
Post #7





Grupa: Zarejestrowani
Postów: 93
Pomógł: 4
Dołączył: 1.12.2009
Skąd: lublin

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


nei do konca rozumiem ten kod
zaraz doczytam
i moze rzeczywiscie wiecej napisze

robie skrypt rejestracji

1. zmienan zostaje odebrana $nick = $_POST['nick'];
2. sprawdzam poprawosc znakow, jak jest zle to robie zmienna $er_nick = 'ercode';
3. sprawdzam czy nei istnieje w systemie, jak istnieje to robie $er_nick = 'reserve';
4. sprawdzam czy istnieje zmienna $er_nick, jesli nie to ide dalej

w sumie to skrypt juz istnieje i dziala poprawnie
tylko chcialem sobie troche uproscic (IMG:style_emoticons/default/winksmiley.jpg)

btw. zrobilem skrypt rejestracji w 120 wierszach ^^
ale nie wazne
Go to the top of the page
+Quote Post
piotrekkr
post
Post #8





Grupa: Zarejestrowani
Postów: 386
Pomógł: 25
Dołączył: 28.09.2005

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


Eee jakos to dziwnie (IMG:style_emoticons/default/smile.gif) . Ja rejestracje zawsze robiłem na tę modłę:

1. podbieram z posta dane czyli nick, hasło, e-mail
2. sprawdzam po kolei każde z pól czy poprawne czy nick i e-mail już istnieje w bazie itd i jeśli coś jest nie tak to wracam o formularza
i pokazuje odpowiednie komunikaty
3. jak wszystko jest ok zapisuje do bazy danych i pokazuje komunikat ze wszystko ok zarejestrowany user (IMG:style_emoticons/default/smile.gif)

Jest to w sumie seria instrukcji warunkowych + ewentualny powrót do formularza jak coś nie tak a jak dobrze to zapytani do bazy i komunikat.

Nie wiem za bardzo po co używać do tego jakichś zmiennych zmiennych. Ale może to jakoś tak specjalnie ma być a nie taka zwykła rejestracja (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
tog
post
Post #9





Grupa: Zarejestrowani
Postów: 93
Pomógł: 4
Dołączył: 1.12.2009
Skąd: lublin

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


no ostatnio zrobilem taka rejestracje
teraz strasznie pokombinowalem

chcesz zobaczyc kod ? ;x(pw, bo duzo tego)

no nie wazne w sumie
gdybym sie postaral to moglbym to zrobic funckja eval
choc w sumie to jej jeszcze nei sprawdzialem
wlasnie skonczylem logowanie^^
Go to the top of the page
+Quote Post
piotrekkr
post
Post #10





Grupa: Zarejestrowani
Postów: 386
Pomógł: 25
Dołączył: 28.09.2005

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


Powiem Ci że jak już ładnych parę lat piszę w PHP to jeszcze nigdy nie miałem potrzeby użyć jawnie eval(). Chyba że przy obiektowym pisaniu konstrukcje typu:
  1. $obj = new $nazwaKlasy();
i znając życie Tobie też nie jest potrzeba tylko jeszcze o tym nie wiesz (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
tog
post
Post #11





Grupa: Zarejestrowani
Postów: 93
Pomógł: 4
Dołączył: 1.12.2009
Skąd: lublin

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


heh... problem juz rozwiazalem
tylko martwi mnie to, ze skrypt zajal mi duzo miejsca
ale przynajmniej moj skrypt nie zawiera ani jednego znacznika html

lap plusa (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 18:27