Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][mysql] Funkcje i php
Lee
post
Post #1





Grupa: Zarejestrowani
Postów: 319
Pomógł: 0
Dołączył: 11.04.2006
Skąd: Chojnów

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


Mam pytanie, jak zrobić żeby jak wpisze w polu textarea kod php np.
  1. <? echo 'blabla'; ?>

lub wywołaniu funkcji
  1. <? print Funckja(); ?>

i wysłaniu tego formularzem do bazy danych, po wyciągnięciu tego wyświetlało to poprawnie ?

Robiłem test, tzn niewysyłałem danych do MySQL tylko bezpośrendio dałem
  1. <?php
  2. echo $zawartosc;
  3. ?>

i po wysłaniu formularza nic nie wyświetlało :|
Go to the top of the page
+Quote Post
AcidBurnt
post
Post #2





Grupa: Zarejestrowani
Postów: 215
Pomógł: 1
Dołączył: 13.04.2003
Skąd: z ławki przed blokiem

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


uzywaj $_GET['zawartosc'] badx $_POST['zawartosc'] a jak chesz aby sie jeszcze ten kod wykonał to chyba http://php.net/eval uzyc powinienes
Go to the top of the page
+Quote Post
Lee
post
Post #3





Grupa: Zarejestrowani
Postów: 319
Pomógł: 0
Dołączył: 11.04.2006
Skąd: Chojnów

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


tzn powinno wygląać nie:
$zawartosc = $_POST['zawartosc']
tylko
$_GET['zawartosc'] badx $_POST['zawartosc']

no dobra ale jak chcę do zapytania to walnąć to wtedy daje
  1. <?php
  2. $_GET['zawartosc'] badx $_POST['zawartosc'];
  3. $NazwaZmiennej = $_GET['zawartosc']
  4. $sql = mysql_query("INSERT INTO blabla VALUES ('$NazwaZmiennej')");
  5. ?>

?
[/php]
Go to the top of the page
+Quote Post
em1X
post
Post #4





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

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


Kod
$_GET['zawartosc'] badx $_POST['zawartosc'];


zastanów się co napisałeś (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) :D:D:D:D:D te badx - kolega miał na myśli słowo bądź.

Jezeli chcesz pobrać dane wysłane formularzem - uzywasz POST, jezeli dane z paska adresu, uzywasz GET. Radze poczytac jakies kursy php na początek, bo z taką wiedzą daleko nie zajdziesz :roll2:

  1. <?php
  2. mysql_query("INSERT INTO blabla VALUES ('". $_POST['pole_z_formularza'] ."')");
  3. ?>


Ten post edytował em1X 10.06.2006, 12:44:57
Go to the top of the page
+Quote Post
Lee
post
Post #5





Grupa: Zarejestrowani
Postów: 319
Pomógł: 0
Dołączył: 11.04.2006
Skąd: Chojnów

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


Wiem czym co pobierasz i że jak wpisze <form method="post"> to musze uzyć $_POST[''];

(IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
em1X
post
Post #6





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

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


dokładnie tak (IMG:http://forum.php.pl/style_emoticons/default/Rkingsmiley.png)
Go to the top of the page
+Quote Post
Lee
post
Post #7





Grupa: Zarejestrowani
Postów: 319
Pomógł: 0
Dołączył: 11.04.2006
Skąd: Chojnów

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


No dobra zrobiłem tak (mam już w bazie wpis, który wyglada następująco :
:: <a href="index.php>Test</a><br><? echo 'blabla'; ?>)
i jak zrobie tak
  1. <?php
  2. $wykonaj = mysql_query("SELECT * FROM $tbl_menu WHERE id = 1");
  3. while ($wynik = mysql_fetch_assoc($wykonaj)){
  4. $zawartosc = $wynik['zawartosc'];
  5. }
  6. echo eval($zawartosc);
  7. ?>

Gdzie
$tbl_menu - zdefiniowana nazwa tabeli
id = 1 - tylko dla testu (id tabeli z wpisem z góry)

to wywala mi
Parse error: parse error, unexpected T_PAAMAYIM_NEKUDOTAYIM in /home/gothic/www/cms/administracja/menu.php(140) : eval()'d code on line 1

Może problem leży w tym, że nie moge mieszać zwykłego kodu z kodem php czyli pisac albo
:: <a href="index.php">Test</a>
albo
<? echo 'blabla'; ?>

Pozdrawiam i licze na waszą pomoc (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

//Update
Zauważyłem, że jak dam kod <? echo 'blabla'; ?> to wywala podobny błąd tylko pisze unexpected "<" in...
a jak dam samo echo 'blabla'; to normalnie działa

btw. ciekawe jak ot jest w JPortal, że trzeba wpisywać "<?" i "?>"
btw2. jak zrobić, żeby na początku string'a (wpisywany tekst) i na końcu dodawało wpisane w zmienna kawałki kodu ? chodzi mi oto żeby uzyskać efekt iż
wpisuje w polu "zawartosc" tekst, a on automatycznie dodaje echo '';

Ten post edytował Lee 10.06.2006, 20:04:25
Go to the top of the page
+Quote Post
em1X
post
Post #8





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

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


Cytat(Lee @ 10.06.2006, 20:48 ) *
  1. <?php
  2. echo eval($zawartosc);
  3. ?>


moglbym wiedziec co takiego trzymasz w tej bazie ze pierw musisz to parsować a potem wyswietlac ?
skoro uzywasz eval musisz liczyc sie z tym, ze zawartosc musi byc składniowo poprawna

eeeeeeeeeeeh wy to kombinujecie jak konie pod góre (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
Lee
post
Post #9





Grupa: Zarejestrowani
Postów: 319
Pomógł: 0
Dołączył: 11.04.2006
Skąd: Chojnów

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


zawartość tabeli ?

  1. INSERT INTO 'main' VALUES (NULL, 'Menu Główne', 'echo 'Zwykły tekst<br><a href="index.php">Link</a>';', 'lewa', 1, 1);

- null - auto_increment kolumny "id)
- Menu Główne - nazwa menu (naza kolumny: nazwa)
- echo 'Zwykły tekst(...)</a>'; - zawartośc menu (nazwa kolumny: zawartosc)
- lewa - pozycja menu lewa/prawa (nazwa kolumny: pozycja)
- 1 - kolejnosc menu od 1 < n (nazwa kolumny: kolejnosc)
- 1 - czy aktywne 1 - tak, 0 - nie (nazwa kolumny: aktywne)

btw. jak zrobiłem tak
  1. <?php
  2. $wykonaj = mysql_query("SELECT * FROM $tbl_menu WHERE pozycja = 'lewa' ORDER BY kolejnosc");
  3. while ($wynik = mysql_fetch_array($wykonaj)){
  4. $aLeweMenu[] = $wynik;
  5. }
  6.  
  7. foreach ($aLeweMenu as $LeweMenu){
  8. echo '<table width="100%" cellcpacing="0" cellpadding="0">
  9. <tr>
  10. <td class="text_02" style="background-color: #000066; height: 25px"><b>'.$LeweMenu['nazwa'].'</b></td>
  11. </tr>
  12. <tr>
  13. <td class="text_01" style="background-color: #0099CC">'. eval($LeweMenu['zawartosc']) .'</td>
  14. </tr>
  15. </table>';
  16. }
  17. ?>

to wyświetla mi najpierw zawartosć kolumny: zawartość, potem tytuł menu z wyglądem i na końcu paseczek (komórka) w której ma być zawartosc. Co robie źle ?

//Update
Okej zrobiłem miało być w linijce 13

  1. <?php
  2. <td class="text_01" style="background-color: #0099CC">'; eval($LeweMenu['zawartosc']); echo'</td>
  3. ?>


a nie

  1. <?php
  2. <td class="text_01" style="background-color: #0099CC">'. eval($LeweMenu['zawartosc']) .'</td>
  3. ?>


Pozdrawiam (IMG:http://forum.php.pl/style_emoticons/default/cool.gif)

Ten post edytował Lee 11.06.2006, 09:31:39
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 - 04:05