Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Pobranie z bazy kodu PHP
Forum PHP.pl > Forum > Przedszkole
Weles
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.
ixpack
eval - ale to jest zło.
freemp3
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);

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

  1. eval $dane[tresc];
nospor
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ć.
Weles
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.
ber32
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
Weles
@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?
peter13135
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.