Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Problem z użyciem eval
hzl_91
post
Post #1





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 28.03.2006
Skąd: Częstochowa

Ostrzeżenie: (10%)
X----


Witam. Robiąc dzisiaj bloki menu w moim cms napotkałem problem. TZN. chcąc użyć funkcji eval zrobiłem tak:
  1. <?php
  2.  
  3. $r = mysql_query("SELECT name, value, part FROM ".$db_prefix."menu WHERE status ='1' ORDER BY position");
  4. $db_querys++;
  5. $list['left'] = array();
  6. $list['right'] = array();
  7.  while($row = mysql_fetch_array($r)) 
  8.  {
  9.  $list[$row[2]][] = array( 
  10. 'name' => $row['name'], 
  11. 'value' => eval('?>'.$row['value'].'<?'),
  12.  );
  13.  }
  14.  
  15.  
  16. ?>


I mi nie działa? Dlaczego?

Ten post edytował hzl_91 29.12.2006, 20:41:06


--------------------
Projektowanie stron internetowych | Need For Speed NFS
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 15)
sticker
post
Post #2





Grupa: Zarejestrowani
Postów: 611
Pomógł: 19
Dołączył: 28.02.2005
Skąd: Wrocław

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


  1. eval('?>'.$row['value'].'<?'),

czy to powoduje że do tablicy wpisane jest coś takiego co jest pod $row['value'] i to coś czym jest $row['value'] nie wykonuje sie bo jest tylko łańcuchem znaków ?


--------------------
Go to the top of the page
+Quote Post
Vertical
post
Post #3





Grupa: Zarejestrowani
Postów: 848
Pomógł: 0
Dołączył: 7.07.2004
Skąd: Wrocław

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


Cytat
I mi nie działa? Dlaczego?

Jak to nie? Sam kawałek od 9. linijki do 12. jest dobry (nie wysypuje błędu), a reszta także, więc nie widzę problemu. Chyba, że chodzi o to, że chcesz przypisać do 'value' wartość $row['value'], tylko teraz z kolei po co ci ten eval?

Ten post edytował Vertical 29.12.2006, 18:51:32
Go to the top of the page
+Quote Post
hzl_91
post
Post #4





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 28.03.2006
Skąd: Częstochowa

Ostrzeżenie: (10%)
X----


eval po to żebym mógł w blokach menu mieć kod php

halo


--------------------
Projektowanie stron internetowych | Need For Speed NFS
Go to the top of the page
+Quote Post
nospor
post
Post #5





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




pytanie zasadnicze: co zawiera ta Twoja $row['value']? bo z kodu jaki tam walnoles to zgaduje ze kod html. A kodu html nie przepuszcza sie evalem. co ty chcesz osiągnąc? bo te "obszerne" wyjasnienia co tu podajesz to wiele nie wnoszą. Co rozumiesz piszac: "w blokach menu mieć kod php" ? Brzmi jak science-fiction winksmiley.jpg


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

"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
hzl_91
post
Post #6





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 28.03.2006
Skąd: Częstochowa

Ostrzeżenie: (10%)
X----


$row['value'] wczytuje kolumnę value w tabeli menu. I w jednym rekordzie mam kod php który chcę wczytać do mojego bloku menu.


--------------------
Projektowanie stron internetowych | Need For Speed NFS
Go to the top of the page
+Quote Post
nospor
post
Post #7





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




musi jakis tępy jestem bo dalej nie kumam
no nic, a czemu przypisujesz to tak:
  1. <?php
  2. 'value' => eval(....),
  3. ?>
?
Przeciez eval nie zwraca zadnej wartosci, no chyba ze kod ktory wykonuje ma return, to wtedy zrocic to co return.
a i co rozumiesz przez pojecie: "nie dziala"? te slowa maja wiele znaczen
a, i popraw tytul na zgodny z zasadami forum przedszkole


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

"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
hzl_91
post
Post #8





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 28.03.2006
Skąd: Częstochowa

Ostrzeżenie: (10%)
X----


przez "nie działa" rozumiem to że nie przetwarza mojego kodu php. TZN. wyświetla go tak jak tekst.


--------------------
Projektowanie stron internetowych | Need For Speed NFS
Go to the top of the page
+Quote Post
satsun
post
Post #9





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 15.10.2006

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


A po co te '?>' i '<?' tam? Podaj może DOKŁADNĄ wartości $row['value'].
Btw nie korzystaj z krotkich tagow smile.gif
Go to the top of the page
+Quote Post
hzl_91
post
Post #10





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 28.03.2006
Skąd: Częstochowa

Ostrzeżenie: (10%)
X----


tzn. jak? nie rozumiem cię.

a jak by to zbuforować? To coś da?


--------------------
Projektowanie stron internetowych | Need For Speed NFS
Go to the top of the page
+Quote Post
satsun
post
Post #11





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 15.10.2006

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


Cytat(satsun @ 29.12.2006, 23:05:44 ) *
Podaj może DOKŁADNĄ wartości $row['value'].

Powtarzam, podaj dokladna wartosc tego.... z tym blokiem php
Go to the top of the page
+Quote Post
hzl_91
post
Post #12





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 28.03.2006
Skąd: Częstochowa

Ostrzeżenie: (10%)
X----


Dalej nie rozumiem. Jaką dokładną wartość? $row['value'] wczytuje kolumne value z bazy danych. Więc jaką dokładną wartość mam podać?


--------------------
Projektowanie stron internetowych | Need For Speed NFS
Go to the top of the page
+Quote Post
satsun
post
Post #13





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 15.10.2006

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


Wartość tej kolumny z tabeli.. czyli to co masz w tabeli
Go to the top of the page
+Quote Post
Vertical
post
Post #14





Grupa: Zarejestrowani
Postów: 848
Pomógł: 0
Dołączył: 7.07.2004
Skąd: Wrocław

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


Cytat
przez "nie działa" rozumiem to że nie przetwarza mojego kodu php. TZN. wyświetla go tak jak tekst.

Jeśli to jest string, to nie wyświetli go jako tekst, tylko jako NULL. Napisz może, jaka wartość kryje się pod $row['value'], bo na razie podałeś nam tylko nazwę zmiennej.

Ten post edytował Vertical 30.12.2006, 12:41:58
Go to the top of the page
+Quote Post
hzl_91
post
Post #15





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 28.03.2006
Skąd: Częstochowa

Ostrzeżenie: (10%)
X----


  1. <?php
  2. echo 'php działa';
  3. ?>


To jest w tej kolumnie. I chcę, żeby ten kod mi przetworzyło na php w bloku menu.

Ten post edytował hzl_91 30.12.2006, 12:45:53


--------------------
Projektowanie stron internetowych | Need For Speed NFS
Go to the top of the page
+Quote Post
satsun
post
Post #16





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 15.10.2006

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


A daj po prostu eval($row['value'])
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 Aktualny czas: 21.08.2025 - 14:19