Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl


ziemot
Napisane: 28.09.2015, 23:03:35





Grupa: Zarejestrowani
Postów: 8
Dołączył: 14.03.2005

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

Witam,

mój problem z działaniem znaku slash w przekierowaniu jest trochę dziwny...

Na komputerze z Windowsem 7 zainstalowałem WAMPa. Ścieżka do katalogu w którym są poszczególne strony jest następująca:
c:\tools\wamp\www\serwer1
c:\tools\wamp\www\serwer2 itd.

Dla każdego z "serwerów" utworzyłem narzędziami w WAMP aliasy, tak że po wpisaniu localhost, otwiera się natywna strona domowa WAMPa i linkami można przejść do strony głównej serwera1 lub serwera2.

W katalogu głównym serwera1 (a więc ścieżka c:\tools\wamp\www\serwer1) umieściłem plik .htaccess w którym zacząłem definiować przekierowania:

Options FollowSymLinks
RewriteEngine On

RewriteRule ^lista-pozycji-bibliografii$ sys.php?id=102&sn=0 [L]
RewriteRule ^lista-pozycji-bibliografii/([^/.]+)$ sys.php?id=102&sn=$1 [L]

Kod samej strony sys.php to PHP 5.3 + Smarty + Bootstrap3
Pierwszy parametr id - to parametr wywołujący kod PHP konkretnej strony. Drugi parametr "sn" to dodatkowy parametr np. do obsługi stronicowania wyników zapytania przy pomocy LIMIT.

W kodzie HTML, w menu strony serwera1, link prowadzący do strony "lista-pozycji-bibliografii" jest opisany następująco: <a href="lista-pozycji-bibliografii">Link</a>.

Efekt takiego przekierowania jest zastanawiający - jeśli kliknę w menu strony serwera1 w link lub wpiszę w przeglądarce adres: localhost/serwer1/lista-pozycji-bibliografii, to strona wyświetla się poprawnie, poprawnie sformatowana wg styli CSS bootstrapa, wszystko ładnie wygląda.

Jeśli wpiszę dodatkowy parametr do linku: localhost/serwer1/lista-pozycji-bibliografii/10 to strona wyświetla się totalnie bez formatowania CSS, pojawiają się tylko linki tekstowe bez ich reprezentacji graficznej opisanej stylami. Dodatkowo część linków jest podmieniana na: localhost/serwer1/lista-pozycji-bibliografii/lista-pozycji-bibliografii - tak jakby doklejało drugi raz to samo przekierowanie.
Natomiast linki, które w htmlu mają adres zdefiniowany następująco: <a href="">Link2</a> w przeglądarce wyświetlają się jako linki prowadzące do localhost/serwer1/lista-pozycji-bibliografii/10.
Wartości parametrów przekazywanych przez link trafiają do tablicy $_GET, gubi się jednak gdzieś to formatowanie CSS.

Jednakże, gdy zamienię znak "/" w przekierowaniu na przecinek albo myślnik:

RewriteRule ^lista-pozycji-bibliografii-([^/.]+)$ sys.php?id=102&sn=$1 [L]

wszystko zaczyna działać poprawnie!!! Strona po wpisaniu adresu do przeglądarki: localhost/serwer1/lista-pozycji-bibliografii-10 wyświetla sie poprawnie uwzględniając formatowanie stylami CSS. Wartości parametrów przekazywanych w linku trafiają do tablicy $_GET.

W czym tkwi problem?questionmark.gif?

Pozdrawiam
ZiemoT







  Forum: Apache · Podgląd postu: #1172323 · Odpowiedzi: 0 · Wyświetleń: 1 195

ziemot
Napisane: 30.06.2009, 09:43:52





Grupa: Zarejestrowani
Postów: 8
Dołączył: 14.03.2005

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

Witam!

Mam pytanie odnośnie połączenia do MS SQL z serwerów unixowych...

Moja architektura serwerów wygląda tak, że na serwerze windowsowym mam bazę danych MS SQL, natomiast serwer aplikacji w PHP i Apache'a chciałbym postawić na oddzielnej maszynie - najlepiej jakiś Linux/Unix.

Teoretycznie zestaw bibliotek i funkcji PHP odpowiedzialnych za łączenie się z bazą danych jest taki sam (chyba) i dla unix'ów i dla windowsa... ale czy na pewno? Czy spotkał się ktoś z Was z problemami w działaniu aplikacji napisanej w PHP i postawionej na maszynie unixowej ale wykorzystującej bazę danych MS SQL a wynikających właśnie z takiej hybrydy unix + windows?

Mam potężne obawy o wydajność i stabilność apache + php postawionych na windowsie - używam takiego rozwiązania ale tylko na serwerach developerskich... więc nie mam wiedzy na ten temat jeśli chodzi o serwery produkcyjne.

ZiemoT
  Forum: Microsoft SQL Server / MSDE · Podgląd postu: #627414 · Odpowiedzi: 3 · Wyświetleń: 2 277

ziemot
Napisane: 25.09.2008, 14:15:24





Grupa: Zarejestrowani
Postów: 8
Dołączył: 14.03.2005

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

Tak gwoli zamkniecia watku....

Udalo mi sie w koncu doprowadzic do porzadku te polskie literki. Faktycznie wychodzi na to, że wszystkie dane jakie mialem w bazie (mimo wpisu w znacznikach form accept-charset="utf-8" oraz ustawienia bazy danych na utf8 i collate na utf8_general_ci lub utf8_polish_ci) byly w jakims tajemniczym kodowaniu totalnie od czapy.

Rozwiazanie bylo proste choc do tej pory nie moge sobie wytlumaczyc dlaczego akurat to pomoglo:

1. zaraz po podlaczeniu do bazy danych nalezy ustawic: SET NAMES utf8
2. wywalilem ze wszystkich formularzy html: accept-charset="utf-8"

oczywiscie baza danych w utf8, collate akurat u mnie w utf8_general_ci.

o ile SET NAMES potrafie sobie wytlumaczyc, o tyle dlaczego nalezalo wywalic accept-charset ze znacznikow form... tego nie wiem. Ma ktos jakis pomysl? ;-)
  Forum: PHP · Podgląd postu: #519851 · Odpowiedzi: 4 · Wyświetleń: 2 910

ziemot
Napisane: 24.09.2008, 13:47:36





Grupa: Zarejestrowani
Postów: 8
Dołączył: 14.03.2005

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

Hej!

Dzieki za podpowiedzi...

ad.1. Stosuje wszedzie to samo kodowanie utf-8, a utf8_polish_ci to o ile sie orientuje okresla sposob sortowania - schemat wg ktorego sortuje baza danych dane z zapytania - ci to podobno case insensitive - gdzies grzebiac na tym forum to znalazlem.
Wiec tak na prawde to nie wiem czy tutaj tkwi blad.

ad.2.
Dziwna sprawa, mam php 4.4.2 wg dokumentacji podane przez Ciebie funkcje powinny byc od 4.0.2. a u mnie za kazdym razem gdy chce uzyc mb_internal_encoding lub mb_strtoupper wola call to undefined function... dziwne...

ZiemoT
  Forum: PHP · Podgląd postu: #519429 · Odpowiedzi: 4 · Wyświetleń: 2 910

ziemot
Napisane: 24.09.2008, 08:42:50





Grupa: Zarejestrowani
Postów: 8
Dołączył: 14.03.2005

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

Witam!

Problem to generalnie sortowanie danych pochodzacych z bazy MySQL. Mimo przewertowania forum nie udalo mi sie znalezc rozwiazania, ktore by zadzialalo w moich warunkach... no ale moze od poczatku, najpierw konfiguracja:

serwer bazy danych: MySQL 4.1.16, dziala na Windows XP, uruchamia sie jako serwis przy starcie systemu, w pliku konfiguracyjnym my.ini ustawione jest:

[mysql]
default-character-set=utf8
[mysqld]
default-character-set=utf8

php: 4.4.2

aplikacja nad ktora siedze zawiera nazwy miast i wojewodztw.

1. Problem pojawia sie przy sortowaniu nazw wojewodztw:
konfiguracja tabeli:
storage engine: MyISAM
collation: utf8_polish_ci
wybieram z tabeli wszystkie wojewodztwa nastepujacym zapytaniem:
SELECT * FROM wojewodztwa ORDER BY NazwaWoj COLLATE "utf8_polish_ci"
a wynik jest cokolwiek dziwny:
Dolnośląskie
Kujawsko-Pomorskie
Łódzkie
Śląskie -> exclamation.gif!!!!!
Lubelskie
Lubuskie
Świętokrzyskie -> exclamation.gif!!!

dalej jest juz w porzadku

Co z tym zrobic?

2. Drugi problem wychodzi przy wyszukiwarce miast, użytkownik podaje nazwę miasta, aplikacja łączy się z bazą danych, wyszukuje miasto i zwracana jest tablica z wszystkimi wystąpieniami zadanego ciągu znaków.
Wszystko jest ok dopoki na poczatku ciagu znakow nie ma polskiej litery -> pierwszy znak przerabiam ucfirst() na wielka litere i dziala, natomiast jesli pierwszym znakiem jest polska litera (np Łomża) to podajac w wyszukiwarce nazwe miasta z malej litery nie dziala ucfirst() - nie zamienia mi malej polskiej litery na duza, a potem baza nie wyszukuje danych. Wrowadzajac ta sama nazwe miasta do wyszukiwarki z wielka pierwsza litera, otrzymuje poprawny wynik.

Co jest nie tak?
konfiguracja tabeli:
storage engine: MyISAM
collation: utf8_general_ci

zapytanie SQL:
SELECT ms.ID_Miejsca, ms.NazwaMiejsca, ms.ID_TypuMiejsca, ms.MiejsceAKT, wms.OldNazwaMiejsca FROM miejsca AS ms LEFT JOIN wydarzenia_miejsca AS wms ON ms.ID_Miejsca = wms.ID_Miejsca WHERE ms.MiejsceAKT = 1 AND (ms.NazwaMiejsca LIKE "%'.$string.'%" OR wms.OldNazwaMiejsca LIKE "%'.$string.'%") GROUP BY ms.ID_Miejsca ORDER BY ms.NazwaMiejsca COLLATE "utf8_polish_ci"

formularz html do ktorego wprowadza sie nazwe miasta jest ustwiony na wprowadzanie znakow w stronie kodowej utf-8:
<form action="i.php?id=51" method="POST" accept-charset="utf-8">

Gdzie tkwi blad? Oczywiscie mozna dorobic jakas funkcje przerabiajaca male polskie znaki na poczatku ciagu znakow na duze litery..., ale to jest rozwiazanie takie, hmm, lopatologiczne, czy na prawde nie ma rozwiazania innego, latwiejszego?

ZiemoT
  Forum: PHP · Podgląd postu: #519312 · Odpowiedzi: 4 · Wyświetleń: 2 910

ziemot
Napisane: 15.10.2009, 14:34:34





Grupa: Zarejestrowani
Postów: 8
Dołączył: 14.03.2005

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

Witam!

Ja mam podobny problem, póki polskie znaczki są w tekście, znaczy się w HTMLu wrzucanym na stronę przez PHP, wszystko jest ok, ale schody zaczynają się w momencie gdy wrzucana jest na stronę grafika - np. wykres Gantta - generowana w locie, w której są słowa z polskimi znakami.

Wtedy mam ładne znaczki zapytania zamiast polskich znaków.

Próbowałem podmieniać fonty ttf, myślałem, że może Free - fonty w wersji 1.165 nie obsługują UTF-8, ale to chyba nie to, podłożyłem inne fonty, które obsługują UTF-8 (używam ich w innym projekcie gdzie nie ma problemów z polskimi znakami przy generowaniu obrazków) i jest to samo - krzaczki. Mam wrażenie jakby gdzieś w module jpgraph były jeszcze jakieś ustawienia konwersji znaków..., ale gdzie? Jedyne miejsce gdzie coś można skonfigurować to plik jpg-config.inc.

Ma ktoś może pomysł co się dzieje z tymi polskimi znaczkami?questionmark.gif

ZiemoT
  Forum: Szukam · Podgląd postu: #671261 · Odpowiedzi: 4 · Wyświetleń: 4 308

ziemot
Napisane: 21.03.2005, 22:01:45





Grupa: Zarejestrowani
Postów: 8
Dołączył: 14.03.2005

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

Plik tekstowy zawiera nazwy miejscowosci wraz z dodatkowymi danymi je opisujacymi, poszczegolne hmmm kolumny sa rodzielone znakiem "|"

Rozwiazaniem posrednim jest podmienienie polskich znakow na zestaw znaczkow np "Sz" ale to nie jest eleganckie. Co ciekawe zauwazylem ze ten problem wystepuje tylko przy stronie kodowej ISO-8859-2, gdy caly plik przekonwertowalem do strony kodowej windowsowej, sortowanie dzialalo bez zarzutu...

I co z tym mozna zrobic, bo ja sie poddalem :-(

ZiemoT
  Forum: Przedszkole · Podgląd postu: #162050 · Odpowiedzi: 3 · Wyświetleń: 1 116

ziemot
Napisane: 14.03.2005, 16:51:44





Grupa: Zarejestrowani
Postów: 8
Dołączył: 14.03.2005

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

Witam!

Problem na ktory sie natknalem jest trywialny acz upierdliwy...

mam plik txt robiacy za hmmm... baze danych, przerabiam go funkcja file() na tablice i taka tablice chcialbym posortowac.
Niestety w pliku txt znajduja sie slowa zaczynajace sie od polskich liter i tu jest problem gdyz:

php.ini ma ustawione locale na iso-8859-2
plik jest zrobiony w stronie kodowej iso-8859-2
bawie sie tym na WindowsXP + apache (na innych serwerach bylo tak samo)

ustawienie locale bezposrednio w pliku php takze nic nie pomoglo

a wynikiem jest posortowana tablica z tym ze wszystkie slowa zaczynajace sie od polskich liter znajduja sie na koncu.... - czyli kiepskie takie sortowanie :-)

Jak to zmienic, przegrzebalem cale archiwum ale jakos nie znalazlem odpowiedzi na to pytanie! Czy ktos sie spotkal z takim problemem?

ZiemoT
  Forum: Przedszkole · Podgląd postu: #160312 · Odpowiedzi: 3 · Wyświetleń: 1 116


New Posts  Nowe odpowiedzi
No New Posts  Brak nowych odpowiedzi
Hot topic  Popularny temat (Nowe)
No new  Popularny temat (Brak nowych)
Poll  Sonda (Nowe)
No new votes  Sonda (Brak nowych)
Closed  Zamknięty temat
Moved  Przeniesiony temat
 

RSS Wersja Lo-Fi Aktualny czas: 3.05.2024 - 01:54