Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] problem z apostrofami
Forum PHP.pl > Forum > Przedszkole
lamcpp
witam, chce miec w metodzie GET nazwy z apostrofami, oto przyklad:
  1. echo $res[1];
  2. echo $wyswietlam."<a href='index.php?id=$res[0]&nazwa=".$res[1]."&plik=$res[2]";


polecenie echo $res[1] zwraca mi wynik:
  1. nazwa'cos

Jak widać jest z apostrofem
natomiast polecenie drugie gdzie do linka przesyłam już :
  1. echo $wyswietlam."<a href='index.php?id=$res[0]&nazwa=".$res[1]."&plik=$res[2]";

wyświetla mi samo
  1. nazwa

Czyli ucięlo mi cały apostrof + napis cos znajdujący się po apostrofie, jaką technikę zastosować zeby nie ucinało mi wyrazów po apostrofie oraz by nie były one pisane ze slashami.
Próbowałem jakies addslashes, mysqli_real_escape_string, dodawać do $res[] cudzysłowia w postaci \"$res[]\" ale cały czas ucina mi te nieszczesne apostrofy i przez to po przesłaniu do geta, otwiera mi sie pusta strona jak kliknę na linka,
prosiłbym o pomoc.
sadistic_son
A nie lepiej zrobić tak:
  1. echo $wyswietlam.'<a href="index.php?id='.$res[0].'&nazwa='.$res[1].'&plik='.$res[2];
questionmark.gif
bolverk
Całkowite przedszkole. A gdzie podziewasz drugi apostrof bo w:
Kod
echo $wyswietlam."<a href='index.php?id=$res[0]&nazwa=".$res[1]."&plik=$res[2]";


jakoś go nie widzę.

To co przedmówca zaproponował wyżej jest nawet lepsze.smile.gif
lamcpp
Cytat
Całkowite przedszkole. A gdzie podziewasz drugi apostrof bo w:
Kodecho $wyswietlam."<a href='index.php?id=$res[0]&nazwa=".$res[1]."&plik=$res[2]";jakoś go nie widzę.

Wysłałem tylko kawałek kodu zeby nie zasmiecac sorry. Zrobiłem podaną przez Was metodą teraz jest ok, ale pojawił się inny problem mianowice linki w GET wyświetlają się dobrze ale po "wydobyciu" ich z GET znów są \ przy apostrofach czyli link przed wysłaniem za pomocą GET wygląda:
Kod
nazwa'cos
w GET tak samo
a jak próbuje go odczytać z GETA to już jest:
Kod
nazwa\'cos

Czym to moze byc spowodowane?

_______________________
ok problem rozwiązany, znalazłem rozwiązanie na anglojęzycznym forum:
$_GET['nazwa'] = htmlentities(stripslashes($_GET['nazwa']));
czyli trzeba dodać htmlentites i stripslashes
ale dlaczego z GETA linki przychodzą w postaci ze slashem po apostrofie? mógłby ktoś jeszcze wytłumaczyc?
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.