Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Skrypt dodawania tekstu na strone
Forum PHP.pl > Forum > Przedszkole
qba10
Mam problem, ponieważ dodawany tekst nie zapisuje się nigdy wcałości do bazy MySQL i nie wiem z jakiego powodu. W Bazie tekst dodawany do komórki typu "text". Oto skrypcik:
  1. <?php
  2. echo'<form method="POST" action=""> <center> <h2> Dodawanie podstrony:<br></h2>Ten edytor tekstu zawiera system edycji tekstu "BBcode" ( chodzi o te przyciski poniżej edytora tekstu). Jeżeli nie potrafisz się nimi obsługiwać kliknij <a href="http://pl.wikipedia.org/wiki/BBCode"><u>tutaj</u></a> </center><br><br>';
  3. echo' Nazwa Podstrony: <input type="text" name="nazwa" maxlength="40" ><br><br>';
  4. echo' <center>Edytor tekstu - pisanie podstrony:<br><br> <textarea id="area" name="tresc" rows="20" cols="50" ></textarea></center>';
  5. echo' Czcionka: <button onclick="Bold();return false;">Pogrubiona</button><button onclick="pochylony();return false;">Kursywa</button><button onclick="podkreslony();return false;">Podkreślenie</button><button onclick="zmiejszony();return false;">Mały tekst</button><button onclick="zwiekszony();return false;">Duży tekst</button><button onclick="wysrodkowany();return false;">Wyśrodkuj</button><button onclick="nowalinjka();return false;">Nowa linijka</button><br>
  6. Wstaw element:<button onclick="img();return false;">Wstaw obrazek</button><button onclick="hr();return false;">Linia odgradzająca tekst</button><br>
  7. Kolor: <button style=" color:green " onclick="kzielony();return false;">Zielony</button><button style=" color:red " onclick="kczerwony();return false;">Czerwony</button><button style=" color:blue " onclick="kniebieski();return false;">Niebieski</button><button style=" color:yellow " onclick="kzolty();return false;">Żółty</button><button style=" color:white " onclick="kbialy();return false;">Biały</button><button style=" color:black " onclick="kczarny();return false;">Czarny</button><button style=" color:pink " onclick="krozowy();return false;">Różowy</button><button style=" color:orange " onclick="kpomaranczowy();return false;">Pomarańczowy</button><br><br>' ;
  8. echo '<br><input type="submit" name="submit" value="Podgląd Podstrony"></form><br>';
  9. #######################################
  10. $wynik1 = $_POST['nazwa'];
  11. $wynik2 = $_POST['tresc'];
  12. $nazwa = str_replace("\", "", $wynik1);
  13. $tresc = str_replace("&#092;", "", $wynik2);
  14. echo bbcode($tresc) ;
  15.  
  16. echo '<br><br><center><a href="javascript:history.back();" TARGET="_top"><b><u>Powrót</u></b></a><br>';
  17. echo ' <form method="POST" action="">
  18. <input type="hidden" name="id" value="'.$_POST['id'].'">
  19. <input type="hidden" name="nazwa_zapisz" value="'.$nazwa.'">
  20. <input type="hidden" name="tresc_zapisz" value="'.$tresc.'">
  21. <input type="submit" name="opcja" value="Zapisz Podstronę">
  22. </form></center>';
  23. ###############################################################
  24. If ($_POST['opcja'] == "Zapisz Podstronę")
  25. {
  26. $zapisz_tresc = bbcode($_POST['tresc_zapisz']);
  27. $zapisz_nazwe = $_POST['nazwa_zapisz'];
  28. $zapisz_edycje = $_POST['tresc_zapisz'] ;
  29. $zapisz_autora = $_SESSION['nick'].' '.$_SESSION['nazwisko'] ;
  30. $dodane = date('YmdHis') ;
  31. $id = $_POST['id'] ;
  32.  
  33. $updatedata = "update `strona` set `nazwa` = '$zapisz_nazwe',`zawartosc` = '$zapisz_tresc', `edycja` = '$zapisz_edycje',`autor` = '$zapisz_autora', `dodane`='$dodane' WHERE `id` = '$id'"; 
  34. $ok = mysql_query($updatedata) ;
  35. If($ok){echo '<center>Podstrona Została Zaktualizowana!!!</center>';}
  36.  
  37.  
  38. }
  39. ##########################################
  40. ?>
simple programmer
Może tekst zawiera znaczkek " - i baza dodaje do tego momentu?
Spróbuj wartości przesyłane do bazy zabezpieczyć funkcją mysql_escape_string() przy okazji zmniejszysz ryzyko ataku SQL Injection.
qba10
No gitarka teraz mi tekstu nie ucina, ale zastepuje zanki typu cudzysłów itp. znakami unikowymi co niewcodzi w rachube. Chociaż bym mogł napisać skrypt który by zamieniał je zpowrotem w orginalne znaki ale nie ma jakiejś już gotowej funkcji czy coś, albo łatwiejszego rozwiązania problemu ?

EDIT:
Sorka niekatualne. Porprostu te czudzysłowia które miałem nie były zwykłymi cudzysłowiami tylko jakimiś innym znakami .
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.