[PHP][MYSQL](TinyMCE) Zapisywanie kodu HTML do bazy SQL |
[PHP][MYSQL](TinyMCE) Zapisywanie kodu HTML do bazy SQL |
24.05.2008, 20:29:59
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 24.05.2008 Ostrzeżenie: (0%) |
Rozwiązanie pewnie jest banalne, ale od kilku godzin nie mogę go wymyślić.
Chcę zrobić prosty system zarządzania treścią dla właściciela strony. Zrobiłem formularz z 'textarea' i do niego pobieram treść danej podstrony z bazy danych MySQL. W ty 'textarea' można zmienić treść i potem jest to zapisywane do bazy. Działa super. Problem pojawia się w momencie jak podpinam pod to edytor TinyMCE. Tekst do bazy jest zapisywany cały czas niesformatowany. Czyli na sucho, bez zmian z TinyMCE. Podejrzewam że trzeba coś pokombinować z addslashes() i stripslashes() ale nie znam składni i nie wiem za chiny jak to zrobić. I czy to na pewno to. skrypt wygląda tak: Kod <code>$query = 'SELECT * FROM nazwa_tabeli WHERE id=0'; if(!$result = mysql_query($query, $db_lnk)){ echo('Wystąpił błąd: nieprawidłowe zapytanie...<BR>'); @mysql_close(); exit; } while($row = mysql_fetch_row($result)){ echo(" <form method=\"post\" action=\"skrypt_edit.php\"> <input type=\"hidden\" value=\"0\" name=\"id\"> <textarea name=\"opis\" rows=\"15\" cols=\"60\">$row[1]</textarea> <input type=\"submit\" value=\"Zatwierdź\"> </form> "); } skrypt obsługi edycji (skrypt_edit.php) tutaj: Kod if (isset($_POST['opis'])): $id = $_POST['id']; $opis = $_POST['opis']; $sql = "UPDATE nazwa_tabeli SET opis='$opis' WHERE id='$id'"; if (mysql_query($sql)) { echo '<p>Zaktualizowano</p>'; } else { echo '<p>Problem aktualizacji</p><p>' . mysql_error() . '</p>'; } endif; Z góry dzięki za pomoc i chęci. Ten post edytował andree127 24.05.2008, 21:59:51 |
|
|
24.05.2008, 21:32:38
Post
#2
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 6 Dołączył: 16.07.2006 Skąd: Jarosław Ostrzeżenie: (0%) |
addslashes() dodaje \ przed znakami ( \ ) ( ' ) ( " )
stripslashes() usuwa \ jednak jeśli wystąpią dwa pod rząd tj. \\ to zwróci \ Pewnie masz jakiś problem w zapytaniu tj. z " także przed wysłaniem spróbuj dodać addslashes() a po pobraniu przed wyświetleniem treści użyj stripslashes() Ten post edytował XDocTorX 24.05.2008, 21:33:32 |
|
|
24.05.2008, 21:58:50
Post
#3
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 24.05.2008 Ostrzeżenie: (0%) |
Niestety. Cały czas to samo. Albo ja źle z tej funkcji korzystam, albo problem tkwi w czym innym. A dopisałbyś do mojego kodu jak uważasz że powinno być addslashes() użyte? Na moim konkretnym przykładzie - może coś ze składnią chrzanię
|
|
|
24.05.2008, 22:34:56
Post
#4
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 6 Dołączył: 16.07.2006 Skąd: Jarosław Ostrzeżenie: (0%) |
|
|
|
25.05.2008, 11:18:02
Post
#5
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 24.05.2008 Ostrzeżenie: (0%) |
Pomogło o tyle, że zrozumiałem że mój kod php nie był taki zły i problem leży gdzieś indziej. Okazało się że w TinyMCE trzeba skonfigurować znaczniki z których pozwala się korzystać. Myślałem że jak ikonka (np. jest dostępna w edytorze to już cały sukces, a tu nie do końca
W każdym razie dzięki za pomoc! Ten post edytował andree127 25.05.2008, 12:11:27 |
|
|
-lllllllllllllll- |
6.04.2012, 11:00:12
Post
#6
|
Goście |
wnsmileyanim:
|
|
|
Wersja Lo-Fi | Aktualny czas: 19.04.2024 - 23:25 |