Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [AJAX][PHP] Znaki specjalne w przesyłaniu formularza.
unw
post 11.03.2021, 17:12:35
Post #1





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 12.06.2008

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


Witam. Mam delikatny problem jeżeli chodzi o przesyłanie znaków specjalnych w formularzu.

Krótki kod java:

  1.  
  2. $( "#wyslij" ).click(function () {
  3.  
  4. var name=$("#nazwamodela").val();
  5. var adresclass=$("#adresclass").val();
  6. var address=$("#adres").val();
  7. var name_c = encodeURIComponent(name);
  8.  
  9. /*------------------call ajax for Add record--------------------------*/
  10. $.ajax({
  11. type: "POST",
  12. url: "dodaj.php",
  13. data: "action=add&name="+ name_c+"&address="+ address,
  14.  
  15. success: function(data){
  16. $('#result2').html("<div class='alert alert-success'>"+data+"</div>");
  17. //window.location.href="panel.php?p=model";
  18. /*---------------------*/
  19. $("#nazwamodela").val('');
  20. $("#adresclass").val('');
  21. $("#adres").val('');
  22.  
  23. /*-----------------------*/
  24. }
  25. });
  26. /*------------------call ajax for Add record--------------------------*/
  27. });
  28.  
  29.  



W php wygląda to tak:

  1. function add()
  2. {
  3.  
  4. global $polaczenie; // Ustawiamy globalne połączenie, które będzie działać w funkcji.
  5. $nazwa = htmlspecialchars($_POST['name']);
  6.  
  7.  
  8. $address = htmlspecialchars($_POST['address']);
  9.  
  10.  
  11. $sql = "insert into sponsor(tytul,adres) values('$nazwa','$address')";
  12. if (mysqli_query($polaczenie, $sql)) {
  13. echo "ok.";
  14. } else {
  15. echo "Could not update: " . mysqli_error($polaczenie);
  16. }
  17.  
  18.  
  19. }
  20.  
  21.  
  22.  
  23.  



I teraz załóżmy dodaję nowy wpis o treści:
i'm fine thanks

wyskakuje mi info:
  1. Could NOT UPDATE: You have an error IN your SQL syntax; CHECK the manual that corresponds TO your MariaDB server version FOR the RIGHT syntax TO USE near 'm fine thanks','Opis')' at line 1



Jak to rozwiązać?

Ten post edytował unw 11.03.2021, 17:13:37
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
nospor
post 11.03.2021, 17:21:44
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Albo zrob porzadne escapowanie, ktore udostepnia mysqli a nie zadne htmlspecial chars
Albo lepiej - uzyj bindowania.

Co wy wszyscy z tym htmlspecialchars... plaga jakas. Toz to sluzy zupelnie czemu innemu


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
unw
post 11.03.2021, 17:45:29
Post #3





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 12.06.2008

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


Faktycznie.
Użyłem PDO. Dzięki za podpowiedź smile.gif
Go to the top of the page
+Quote Post
viking
post 11.03.2021, 17:52:46
Post #4





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

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


I na marginesie: "Krótki kod java:" Ten kod koło Javy nigdy nie stał. To Javascript.


--------------------
Go to the top of the page
+Quote Post
nospor
post 12.03.2021, 09:46:51
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Użyłem PDO. Dzięki za podpowiedź


Nie mowie, ze zle zrobiles, bo sam polecam PDO, ale bindowanie masz tez w mysqli, ktorego uzywales wink.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 02:22