Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Pobranie z bazy kodu PHP, jak pobrać kod php z bazy?
Weles
post
Post #1





Grupa: Zarejestrowani
Postów: 213
Pomógł: 0
Dołączył: 7.07.2011

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


Witam.
Potrzebuję pobrać z bazy kod php, lecz nie wiem za bardzo jak to zrobić..
Domyślam się że winą jest "echo", lecz nie jestem do końca pewien czy one, a jeśli one to czym je zastąpić (print też nic nie daje).
Mój kod wygląda następująco:

  1. mysql_select_db("srajtasma_rzondzi");
  2. $odczytaj_dane = mysql_query("SELECT * FROM tescik WHERE nazwa='tesscik'");
  3. while($dane = mysql_fetch_array($odczytaj_dane)) {
  4. echo $dane[tesst];



Zwyczajnie dane czyta pięknie, lecz gdy jest już w polu skrypt <?php echo'costam'; ?> czy cos innego związanego z php, to nic nie czyta, albo czyta WPROST to co tam jest wpisane.

Dziękuję z góry za pomoc,
Pozdrawiam.

Ten post edytował Weles 18.09.2011, 22:55:54
Go to the top of the page
+Quote Post
ixpack
post
Post #2





Grupa: Zarejestrowani
Postów: 248
Pomógł: 55
Dołączył: 1.06.2010
Skąd: mam to wiedzieć?

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


eval - ale to jest zło.
Go to the top of the page
+Quote Post
freemp3
post
Post #3





Grupa: Zarejestrowani
Postów: 467
Pomógł: 77
Dołączył: 6.09.2008
Skąd: Miechów / Kraków

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


Co chcesz dokładnie zrobić? Wyświetlić kod? Dodać możliwość edycji tego kodu? Czy chcesz żeby się wykonał?
Jeśli wyświetlić:
Kod
echo htmlspecialchars($kodPHP);


Jeśli to edycji to tak jak powyżej tyle, że w formularzu i bez funkcji htmlspecialchars();

Jeśli chcesz go wykonać to należy użyć funkcji eval():
Kod
eval($kodPHP);

Go to the top of the page
+Quote Post
Weles
post
Post #4





Grupa: Zarejestrowani
Postów: 213
Pomógł: 0
Dołączył: 7.07.2011

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


Używając eval'a wywala mi Błąd serwera.
już wcześniej go próbowałem użyć.

  1. eval $dane[tresc];
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




eval to funkcja i należy to wywoływac jak funkcje a nie jak nie wiadomo co.

A na przyszłość jak masz błąd to należy go nam pokazać.
Go to the top of the page
+Quote Post
Weles
post
Post #6





Grupa: Zarejestrowani
Postów: 213
Pomógł: 0
Dołączył: 7.07.2011

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


No to jest ten błąd.
Po prostu wywala: "Błąd serwera" i tyle pisze.
Jak funkcję czyli tak:
  1. eval ("$dane[tresc]");

Z tym że wtedy błąd serwera nie wyskakuje, a nic nie pobiera z bazy.
Tak tez nie idzie:
  1. echo $dane['tresc']. "\n";
  2. eval("\$dane[tresc] = \"$dane[tresc]\";");

Tzn. Pobiera tylko zwykłe dane bez php, a mi chodzi o wykonanie skryptu php z bazy.

Ten post edytował Weles 19.09.2011, 14:32:52
Go to the top of the page
+Quote Post
ber32
post
Post #7





Grupa: Zarejestrowani
Postów: 332
Pomógł: 22
Dołączył: 6.07.2010

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


Z tego co widzę to na początku było
  1. echo $dane[tesst];
  2.  

a potem się zmieniło na
  1. eval ("$dane[tresc]");

zobacz jak to masz w bazie danych
Go to the top of the page
+Quote Post
Weles
post
Post #8





Grupa: Zarejestrowani
Postów: 213
Pomógł: 0
Dołączył: 7.07.2011

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


@Udało mi się to zrobić tak:

  1. mysql_select_db("$baza_www");
  2. $wybierz_kolumne = mysql_fetch_array(mysql_query("SELECT * FROM tescik WHERE nazwa='index'"));
  3. $wybierz_kolumne[tresc] = stripslashes($wybierz_kolumne[tresc]);
  4. $wybierz_kolumne[tresc] = '?>'.$wybierz_kolumne[tresc].'<?';
  5. eval($wybierz_kolumne[tresc]);


Tylko nie mogę w tej końcówce "esc].'<?'; " ustawić <? jako <?php bo wtedy nic nie wyświetla. A niektóre hostingi samego <? nie czytają, wie ktoś może czemu?

Ten post edytował Weles 19.09.2011, 20:05:00
Go to the top of the page
+Quote Post
peter13135
post
Post #9





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


To raczej nie jest powodem nie działania Twojego kodu, ale nie rób czegoś takiego:
  1. jakas_funkcja("$parametr");

bo to jest "zło". Nie będe mówił, dlaczego. Jakbyś zaczął naukę od języka kompilowanego (c,c++, pascal, java) to byś wiedział dlaczego

co do evala, daj takie coś :
eval('echo 2+2');
powiedz co się wyświetla. Jeśli wyświetli się 4, to znaczy... że coś nie tak z Twoim kodem któy masz w bazie. Jeśli nie zadziała... to wtedy pomyślimy
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: 23.08.2025 - 06:40