Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] upload - dopisuje \ przed ' i "
Forum PHP.pl > Forum > Przedszkole
faflok
Witam,

Mam dwa serwery na jednym wszystko chodzi dobrze na drugim nie. Chodzi o apostrof i cudzysłów. Jeżeli wprowadze te znaki w tekscie to na jednym serwerze zapisze mi wszystko dobrze na drugim doda \ przed znakiem. Jeżeli kolejny raz zrobie ulpoad i kolejny raz to wykonuje upload na zasadzie ciągu liczbowego czyli podwaja poprzednią ilość znaku \.

Po wykonaniu funkcji upload wyświetla "Success. De tekst 'Index\'' wordt geupload". Gdzie 'Index\'' to wpisana nazwa strony Index'. Na jednym sewerze, i w bazie danych i online wszystko jest OK, a na drugim serwerze mam problem ze znakiem \.

Przy użyciu htmlspecialchars występuje ten sam błąd. I tylko znaki ' i " poprzedza \. Inne znaki < czy > bez problemu zapisuje.

W czym tkwi problem że na jednym serwerze upload jest poprawnie wykonany a na innym serwerze nie?

Upload:

  1. <?php
  2. $cod = $_GET['id'];
  3.  
  4. if ($cod <> "") {
  5. $tit = mysql_real_escape_string($_POST['title']);
  6. $con = mysql_real_escape_string($_POST['content']);
  7. $mtitle = mysql_real_escape_string($_POST['mtitle']);
  8. $mdescription = mysql_real_escape_string($_POST['mdescription']);
  9. $mkeywords = mysql_real_escape_string($_POST['mkeywords']);
  10. if ($tit == "") {
  11. echo ("<h2>Problem. De tekst wordt niet geupload.<br /><br />Vul maar alle velden in en probeer maar nog een keer.</h2>".
  12. "<div class='back'><a href='java script:history.back()'>GO BACK</div>");
  13. } else {
  14.  
  15. $add = "UPDATE page SET
  16. title = '$tit',
  17. content = '$con',
  18. mtitle = '$mtitle',
  19. mkeywords = '$mkeywords',
  20. mdescription = '$mdescription',
  21. catid = '$catid',
  22. date = CURDATE()
  23. WHERE id = '$cod'";
  24.  
  25. if (@mysql_query($add)) {
  26. echo ("<h2>Success. De tekst '$tit' wordt geupload.</h2>");
  27. } else {
  28. echo ("<h2>Problem. De tekst wordt niet geupload.<br /><br />Probeer maar nog een keer.</h2>".
  29. "<div class='back'><a href='java script:history.back()'>GO BACK</div>");
  30. }
  31. }
  32. }
  33. else {
  34.  
  35. }
  36. ?>
  37.  
faflok
Dzięki athei.

Poczytałem i za pomocą .htaccess wyłączyłem magic_quotes_gpc i magic_quotes_runtime.

Teraz mam problem z &copy; i &euro Zamiast tego znaku wstawia mi questionmark.gif i znowu tylko na jednym serwerze. Gdzie tu problem?
athei
Może spróbuj zamiast nazwy dać wartości liczbowe, &#169 &#8364 + ; na końcu.
faflok
Próbowałem, i z numerem i encją, i nic z tego.

Nie wchodzą tylko te dwa znaki. Wszystkie pozostałe znaki specjalne są dobrze zapisywane.
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.