Jak wstawić do bazy danych kod PHP i potem wykonać go w momencie pobrania z bazy, PHP Skrypty


[MySQL][PHP] Jak wstawić do bazy danych kod PHP i potem wykonać go w momencie pobrania z bazy?

0x01 graphic

Chcesz przechować w bazie danych kod PHP programu, aby móc wykonać go w momencie pobrania kodu z bazy danych.

0x01 graphic

Często zachodzi potrzeba aby przechowywać w bazie danych kod PHP w postaci "zwykłego tekstu". W momencie pobrania kodu PHP z bazy danych przydałoby się go jednak od razu wykonać. W ten sposób w bazie mogą być przechowywane nie tylko przykłady do tekstów, ale i strony WWW dla serwisu...

Wykonajmy formularz, w którym po wpisaniu kodu PHP zostanie on przesłany do bazy danych. Następnie odczytamy go z bazy i wykonamy umieszczony tam kod PHP na stronie WWW. Stwórzmy prostą tabelę z polem id i polem zawierającym kod:

CREATE TABLE kod (

id INT NOT NULL PRIMARY KEY,

kod TEXT

);

Gdy tabela jest gotowa możemy wykonać skrypt, który będzie dodawał kod PHP do bazy. Całość wpiszmy do pliku index.php

<?

$serwer="localhost";

$login="user";

$haslo="password";

$id=$_POST["id"];

$kod=$_POST["kod"];

if ($id<>"" and $kod<>"") {

$p=mysql_connect($serwer, $login, $haslo);

mysql_select_db("baza1",$p);

$wynik = mysql_query("INSERT INTO kod VALUES('$id','$kod')",$p);

if ($wynik) echo "kod został dodany do bazy";

else echo "kod nie został dodany!";

mysql_close($p);

}

?>

<form action="index.php" method="post">

nr ID: <br><input type="text" name="id"><br>

Kod PHP: <br><textarea name="kod" cols=30 rows=10></textarea><br>

<input type="submit" value=" wpisz do bazy ">

</form>

W formularzu tworzymy dwa pola: numer ID aby zidentyfikować skrypt i pole na kod. Po wysłaniu formularza skrypt pobierze wpisane dane, połączy się z bazą danych i wstawi do tabeli kod oraz numer ID. Ważne jest tylko aby numer ID nie powtarzał się, bo wtedy do bazy nie będzie można dodać rekordu.

Kod powinien być wpisany bez początkowego tagu <? i końcowego ?>. A więc w postaci, np.:

$a=10;

$b=20;

echo $a+$b;

Aby odczytać kod PHP znajdujący się w tabeli wystarczy pobrać go i umieścić w funkcji eval(), która wykonuje przekazany do niej tekst, traktując go jak kod PHP.

<?

$serwer="localhost";

$login="user";

$haslo="password";

$id=2;

$p=mysql_connect($serwer, $login, $haslo);

mysql_select_db("baza1",$p);

$wynik = mysql_query("SELECT * FROM kod WHERE id=$id",$p);

mysql_close($p);

$pola = mysql_fetch_array($wynik);

$id = $pola["id"];

$kod = $pola["kod"];

if ($kod<>"") eval($kod);

?>

Po ustaleniu numeru ID dla wybranego kodu jest on pobierany poleceniem SELECT z tabeli, a następnie zwracany wynik umieszczany jest w zmiennych $id i $kod. Z numeru ID nie będziemy korzystać (chyba, że chcesz wypisać numer kodu obok), natomiast ważna jest zawartość pola kod w zmiennej $kod.

Jeżeli wartość ta nie jest pusta, wtedy możemy wykonać kod PHP w funkcji eval(). Na ekranie pojawi się wynik działania wprowadzonego skryptu PHP.



Wyszukiwarka

Podobne podstrony:
Jak zapisać do pliku zawartość tablicy, PHP Skrypty
Jak zabezpieczyć własne strony przed pobieraniem ich programami do ściągania całych witryn, PHP Skry
Jak wysłać list do grup dyskusyjnych USENET, PHP Skrypty
jak policzyc objetosc plikow w katalogu i podkatalogach, PHP Skrypty
Jak policzyć największy wspólny dzielnik (NWD, PHP Skrypty
Jak zapisać dane pochodzące z animacji do pliku lub do bazy danych, PHP Skrypty
Jak zapisać i potem odczytać grafikę lub dowolny plik w bazie danych, PHP Skrypty
Jak wysłać mailem w formacie HTML zawartość tabeli z bazy danych, PHP Skrypty
jak wypisac zawartosc bazy danych dBase (dbf), PHP Skrypty
Jak wygenerować statyczny plik .html z bazy danych, PHP Skrypty
jak zapisac i potem odczytac grafikę lub dowolny plik w bazie danych, PHP Skrypty
jak zalozyc vaze danych dBase(dbf) i dodac do niej rekordy, PHP Skrypty
Jak wyświetlić zawartość katalogu jako linki służące do pobrania plików, PHP Skrypty
Jak uzyskać kolejny numer (id) ostatnio wstawionego rekordu, PHP Skrypty
bazy danych, Informatyka, PHP,,,HTMT,,,CSS,,,SIECI KOMPUTEROWEL,,,LINUX,,,DUZO RÓZNOŚCI
jak przeslac dane z pol tekstowych do innych stron, PHP Skrypty
Jak wstawić zdjęcie do Worda
Jak przesłać ręcznie metodą POST dane do skryptu przetwarzającego formularze, PHP Skrypty
jak zmienic liczby na kod BCD dinary coded decimal, PHP Skrypty

więcej podobnych podstron