Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl


Asmox
Napisane: 15.02.2011, 10:26:19





Grupa: Zarejestrowani
Postów: 359
Dołączył: 16.01.2009

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

Znalazłem stronkę o przyjaznych linkach: http://www.northpole.pl/przyjazne-linki/
A w niej taki kawałek:
Kod
RewriteEngine on
DirectoryIndex index.php
RewriteBase /url-test/
RewriteRule ^([a-zA-Z-_0-9]+)/$ index.php?id=$1

Zresztą te Twoje atomy [tak to się chyba nazywało, a jak się pomyliłem to chodzi mi o: (.*)] są 2 po prawej, a 1 po lewej. Jeżeli to jest celowe to ok, ja się tak dobrze nie znam na apachu, ale jeśli jednak to pomyłka, to ja bym proponował coś takiego mniej-więcej:
Kod
RewriteRule ^(a-zA-Z0-9)+/(a-zA-Z0-9)+$ index.php?a=$1&b=$2
  Forum: Apache · Podgląd postu: #837249 · Odpowiedzi: 2 · Wyświetleń: 1 473

Asmox
Napisane: 25.08.2010, 18:27:55





Grupa: Zarejestrowani
Postów: 359
Dołączył: 16.01.2009

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

Cytat
error_reporting: E_ERROR
; Default Value: E_ALL & ~E_NOTICE
; Development Value: E_ALL | E_STRICT
; Production Value: E_ALL & ~E_DEPRECATED

Daj w konfiguracji E_ALL, a nie w skrypcie
  Forum: PHP · Podgląd postu: #783130 · Odpowiedzi: 6 · Wyświetleń: 778

Asmox
Napisane: 25.08.2010, 17:56:50





Grupa: Zarejestrowani
Postów: 359
Dołączył: 16.01.2009

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

Zanim obejrzę wnikliwie kod, chciałem Ci coś doradzić:
Miałem kiedyś identyczny problem. Kłopot tkwił w operatorze małpy @
Otóż jeżeli masz coś takiego:
  1. if(!@require_once('skrypt.php'))

To nie tylko nie będzie błędu jeżeli pliku nie ma, ale także nie będą się błędy pokazywać jeśli ten plik oraz jego załączenia mają coś nie tak
Spróbuj sobie przypomnieć, czy coś takiego stosowałeś, czasami naprawdę lepiej dać die, bo z wyjątkami to trzeba robić złożony system obsługi oraz dużo bloczków.
Pozdrawiam
  Forum: PHP · Podgląd postu: #783118 · Odpowiedzi: 6 · Wyświetleń: 778

Asmox
Napisane: 25.08.2010, 18:09:14





Grupa: Zarejestrowani
Postów: 359
Dołączył: 16.01.2009

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

Nie ustawiaj szerokości do body, ponieważ.... dlatego że ponieważ biggrin.gif Nie wiem za bardzo dlaczego, ale tak się nie powinno robić. Chyba dlatego, że body obejmuje całe okno przeglądarki, więc zmniejszanie jego szerokości teoretycznie sprawiłoby, że by się pojawiło pokrycie z przeglądarki (window.form). Ale... zamiast tego proponuję zrobić zaraz po nim diva np. main_wrapper i do niego ustawić szerokość.
  1. <div id="main_wrapper">
  2. <!-- Cała zawartość strony -->
  3. </div>
  4. </body>
  5. </html>

I ustawiasz w css width na jakąś szerokość, albo ustawiasz zakres za pomocą min-width i max-width
  Forum: Przedszkole · Podgląd postu: #783122 · Odpowiedzi: 4 · Wyświetleń: 822

Asmox
Napisane: 26.08.2010, 12:48:02





Grupa: Zarejestrowani
Postów: 359
Dołączył: 16.01.2009

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

Kwestię bezpieczeństwa zmieściłem w 2 linijkach kodu - zabezpieczenie warunku od $_GET oraz limit 1 rekordu z bazy danych. Swoją drogą nie jest to dużo, a zawsze jakoś zwiększa bezpieczeństwo.

Napisałem ten skrypt w oparciu o MVC (bardzo, bardzo pobieżnie, ale jednak). Jeśli nie wiesz jeszcze co to jest, to informuję, że jest to taki styl programowania, w którym oddzielasz od siebie szablon strony określający jej wgląd (mVc - view, czyli widok), elementy pobierające dane (Mvc - model, typ zbierania danych) oraz warstwę łączącą, która pozwala na współpracę między tymi elementami (mvC - controller). Więcej możesz poczytać w googlach, wiki oraz na forum, gdzie te kwestie były wyjaśniane dokładniej setki razy.

I teraz tak: chcesz mieć dane z plików zamiast z bazy? Spoko. Zamieniasz element pobierający dane na taki, który wykorzystuje pliki, oraz modyfikujesz nieco kontroler index.php:
1. Index.php
  1. require_once('teksty.php') // załącza skrypty DO POBIERANIA ZAWARTOŚCI PLIKÓW - zmiana I
  2. if(isset($_GET['pname'])) {// pname = page name (nazwa pliku) - zmiana II ALE TO TYLKO KWESTIA WIZUALNA
  3. $pname = mysql_escape_string($_GET['pname']) // WARTOŚĆ TEKSTOWA, SQL inject zawsze można zrobić, a z tekstem łatwiej na to wpaść
  4. }
  5. else $pname = 'glowna' // Czyli na stronę główną
  6. $pageArr = getPageArr($pname) // Funkcja pobiera dane strony
  7. require_once('szablon.phtml');

I to by było na tyle co do modyfikacji index.php. Szablonu nie trzeba zmieniać, można tak napisać skrypt, żeby wciskał do tablicy te same dane.
2. teskty.php
  1. function getPageArr($pname) {
  2. $plik = file('jakas/sciezka/' . $name . '.php');
  3. $pageArray['title'] = $plik[0];
  4. foreach($plik as $klucz => $linia) {
  5. if($klucz == 0) continue // Pierwsza linia jest określana jako tytuł strony, więc nie zaliczamy jej do treści
  6. $pageArray['content'] .= nl2br($linia); // Zamieniamy znaki końca linii na znaczniki <br />,które powodują przejście do nowej lini w HTMLu
  7. }
  8. return $pageArray
  9. }

No i to wszystko. W sumie nie trzeba nawet robić tego nl2br. file pobiera plik z wpisaniem każdej linii w osobnym polu tabeli - pierwsza linia w kluczu [0], druga w [1] itd...
  Forum: Przedszkole · Podgląd postu: #783431 · Odpowiedzi: 13 · Wyświetleń: 6 361

Asmox
Napisane: 25.08.2010, 14:57:26





Grupa: Zarejestrowani
Postów: 359
Dołączył: 16.01.2009

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

Ostatnio coś mnie naszło z tymi kolorami, więc się trochę przyczepię happy.gif
Proponuję dać więcej odcieni itd itd, bo tekst trochę zlewa się z tłem (ale tylko troszeczkę biggrin.gif)
Układ strony super, natomiast przytoczę pewne spostrzeżenie z książki "Zabójczo skuteczne strony internetowe" oraz moje wnioski:
- Jeżeli przypadkowa osoba się natknie na Twoją stronę (pierwszy raz, nie stały bywalec) to będzie skupiać wzrok na górnym lewym rogu strony, więc tam najlepiej dać artykuł czy coś takiego. Z tym menu to jeszcze ok, ale ja bym dał shoutbox na dole, a zaraz pod nim stopkę.
  Forum: Oceny · Podgląd postu: #783056 · Odpowiedzi: 10 · Wyświetleń: 1 712

Asmox
Napisane: 24.08.2010, 21:52:08





Grupa: Zarejestrowani
Postów: 359
Dołączył: 16.01.2009

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

Cytat(gigzorr @ 24.08.2010, 22:09:19 ) *
zero flirtacji danych , przekierowania itp dziala , pewnie drop database tez zadziala , nie bede probowal smile.gif

To mało powiedziane... tu potrzeba dużo filtrów bo można całą stronę wysypać
  Forum: Oceny · Podgląd postu: #782832 · Odpowiedzi: 17 · Wyświetleń: 2 190

Asmox
Napisane: 24.07.2009, 21:16:23





Grupa: Zarejestrowani
Postów: 359
Dołączył: 16.01.2009

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

flaa zależy w jaki sposób chcesz zarządzać tymi artystami.
  • Jeśli ma być tylko artysta, utwór i tekst piosenki, a dodatkowy kod PHP nie jest potrzebny, to podpisuję się pod propozycjami innych forumowiczów.
  • Natomiast jeżeli dla niektórych stron musisz dodać coś ekstra, zastanowiłbym się nad plikami, zwłaszcza MVC
Ale wydaje mi się, że dla Ciebie będzie lepsza pierwsza opcja. Jeśli tak, to postaraj się, aby zapytania do bazy były jak najprostsze, ponieważ taki sposób budowania stron mocno obciąża serwer i może skutkować wolniejszym ładowaniem stron.
  Forum: Przedszkole · Podgląd postu: #639740 · Odpowiedzi: 9 · Wyświetleń: 1 265

Asmox
Napisane: 23.07.2009, 11:43:42





Grupa: Zarejestrowani
Postów: 359
Dołączył: 16.01.2009

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

l0ud niezły pomysł, a ja mam jeszcze taki:
Ustawiasz sobie procent szans, na przykład właśnie 70. Następnie robisz losowanie od 0 do 100. Później dodajesz do tych 70 i sprawdzasz czy wynik jest większy lub równy 100. Przykład:
  1. <?php
  2. function testPropability($chance) {
  3. if(!is_numeric($chance)) return FALSE //Jeśli nie podano liczby to jakby nie ma co robić, choć możesz ustawić na 0 lub rzucenie wyjątku złego parametru
  4. $rand = rand(0, 100);
  5. $result = $chance + $rand;
  6. if($result >= 100) {
  7. return TRUE // Udało się
  8. }
  9. else {
  10. return FALSE // Nie udało się
  11. }
  12. }
  13.  
  14. testPropability(70);
  15. ?>

Jak zawsze, jeśli pomogłem, czy mógłbyś kliknąć POMÓGŁ ?
  Forum: Przedszkole · Podgląd postu: #638928 · Odpowiedzi: 3 · Wyświetleń: 931

Asmox
Napisane: 26.06.2009, 07:56:07





Grupa: Zarejestrowani
Postów: 359
Dołączył: 16.01.2009

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

Bez znania nazwy pól to będzie trochę bez sensu, ale możesz spróbować tak:
[php]foreach($_POST as $key => $value) {
print("\$_POST[$key] => $value");
}
Ale i tak nie jest to rozwiązaniem wygodnym

@EDIT: Sorry nie kopiowałem treści, tylko ja i nospor pisaliśmy jednocześnie
  Forum: Przedszkole · Podgląd postu: #625445 · Odpowiedzi: 6 · Wyświetleń: 1 379

Asmox
Napisane: 26.06.2009, 08:50:55





Grupa: Zarejestrowani
Postów: 359
Dołączył: 16.01.2009

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

Cytat(kuba1752 @ 26.06.2009, 09:07:54 ) *
prawie o to mi chodzilo, tylko co mi da posortowanie po peselach skoro ja mam liste 40 000 osob a potrzeba mi z niej dane tysiąca, na tej liscie 40 000 osob mam wszystkie adresy i dane a na tej malej mam nazwisko imie i pesel i potrzebuje na nia przekopiowac adresy z tej duzej listy, a jak posortuje to i tak bede musial szukac kazdego z osobna po peselu! a to troche czasu!!


Cytat(Asmox)
A jak chcesz mieć od razu na tacy, to załóż filtr (Dane->Filtr). Wtedy masz listę rozwijaną na nazwie kolumny i sobie wybierasz ten PESEL
Chociaż mimo wszystko ciężko nazwać dokument Excela bazą danych tongue.gif . Zrób sobie bazę w MySQL, będzie duuużo łatwiej

Robisz filtr na dane. Na kolumnach powinny ci się pojawić listy rozwijane. Na kolumnie PESEL też. Klikasz strzałeczkę, rozwijasz listę 40 000 peseli (będą posortowane od najmniejszego do największego) i wybierasz ten pesel jaki chcesz
@EDIT doszukałem się lepszego sposobu, specjalnie dla Ciebie haha.gif . Jak masz tę listę rozwijaną na polu PESEL, to klikasz ją, a potem na (inne...), wpisujesz warunek i TADAAA!
  Forum: Bazy danych · Podgląd postu: #625487 · Odpowiedzi: 3 · Wyświetleń: 1 605

Asmox
Napisane: 14.04.2009, 09:31:29





Grupa: Zarejestrowani
Postów: 359
Dołączył: 16.01.2009

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

OK, już mówię, jak to się robi. Już takie coś kiedyś robiłem, ale najpierw parę uwag:
1. Jeśli zależy ci na zgodności z XHTML, to popraw przeplatające się znaczniki
Cytat
echo ''.$tresc.''; ### wywalanie tekstu na strone

Poco łączysz echo z pustymi ciągami znaków? Wystarczy echo $tresc;

Teraz najważniejsze:
1. Będzie ci potrzebny formularz, który powinien wyglądać mniej więcej tak:
[TYTUŁ STRONY, text]
-------------------------
[textarea]
[TREŚĆ STRONY]
-------------------------
[STRONA...., select][EDYCJA, button]

Bardzo ważne są teraz następujące rzeczy:
a) Ustawiasz kodowanie w bazie danych na latin2, najlepiej polish, jak nie to general. Przy każdym pobieraniu danych ze strony musisz najpierw wykonać zapytanie przez PHP:
mysql_query("SET NAMES latin2;");
inaczej będzie ci zwracało znaki z krzakami
cool.gif Nadajesz odpowiednie atrybuty name tym polom. Wyślij je do skryptu załóżmy get_form.php.
c) Musisz dla tekstu zastosować funkcję nl2br(), zależy od ciebie (bo chyba nie chcesz wpisywać <br /> na końcu każdej linijki, no nie? biggrin.gif)
c.a) Robisz to dla danych z pola tekstowego, i wysyłasz dane ze znakami <br /> do bazy (wtedy stosujesz całe formatowanie, a przy pobieraniu danych nic z nimi nie robisz)
c.cool.gif Formatujesz tekst dopiero po ich pobraniu

Jeżeli chcesz opcjonalnie dodać zastosowanie BBCODE, to jeszcze dorzucasz funkcje zamieniające nawiasy kontowe na encje i tekst sformatowany według zasad BBCODE'U na normalne znaczniki HTML, tu masz poradnik: KLIK!

No cóż, to chyba wszystko, co pamiętam smile.gif . Polecam zastanowić się mocno i albo robić formatowanie tekstu przed, albo po wysłaniu do bazy.

Można zrobić tak ten formularz:
[tytuł strony]
[treść strony]
[strona][DODAJ/EDYTUJ]
I sprawdzasz w php, jeżeli nic nie zostało przekazane w SELECT, to traktujesz to jako nową stronę, ale wtedy musisz dorzucić JavaScript, żeby od razu po kliknięciu SELECTA pokazywały się dane strony.
Może najlepiej by było zrobić 2 formluarze? DODAJ STRONĘ i EDYTUJ STRONĘ ?
Cytat
Jak do tego dorobić zebym mógł edytować treść w panelu admina questionmark.gif

Dodawanie nowych stron też Ci się przyda.
Aha, jeżeli pomogłem, to wciśnij, proszę, przycisk pomógł. Może ty mi dasz pierwszy punkt? Chociaż nie pisałem tego dla punktów, bo sam pamiętam jak się z tym mordowałem.
  Forum: PHP · Podgląd postu: #596603 · Odpowiedzi: 6 · Wyświetleń: 1 310


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: 27.04.2024 - 08:10