Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] upload - dopisuje \ przed ' i "
faflok
post
Post #1





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 3.01.2008

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


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.  
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
athei
post
Post #2





Grupa: Zarejestrowani
Postów: 389
Pomógł: 141
Dołączył: 11.04.2009

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


http://www.google.pl/search?hl=pl&q=ph...&lr=lang_pl
Go to the top of the page
+Quote Post
faflok
post
Post #3





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 3.01.2008

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


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 (IMG:style_emoticons/default/questionmark.gif) i znowu tylko na jednym serwerze. Gdzie tu problem?

Ten post edytował faflok 20.12.2009, 22:19:31
Go to the top of the page
+Quote Post
athei
post
Post #4





Grupa: Zarejestrowani
Postów: 389
Pomógł: 141
Dołączył: 11.04.2009

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


Może spróbuj zamiast nazwy dać wartości liczbowe, &#169 &#8364 + ; na końcu.

Ten post edytował athei 21.12.2009, 08:57:29
Go to the top of the page
+Quote Post
faflok
post
Post #5





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 3.01.2008

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


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.
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: 22.12.2025 - 21:14