Rozdzielenie parametrów w linku

2015-02-24 00:19
0

Cześć,
mam problem z rozdzieleniem parametrów pobieranych z bazy danych oraz przypisanych do tablicy GET.
Nie rozumiem tego. Dlaczego taki kod działa poprawnie, wszystko pobiera się z bazy tip-top:
http://localhost/strona/katalog/plik/read?id_pw=1
natomiast już taki kod wywołuje Notice: Undefined index:
http://localhost/strona/katalog/plik/read/id_pw=1

Kod pobierania z bazy nie jest potrzebny do podawania, bo w nim wszystko jest ok. Debugowałem go linijka po linijce poprzez var_dump();. Cały problem opiera się na tym linku znaku ukośnika "?", który rozdziela parametry. No nadal nie rozumiem. Dlaczego zamiast znaku zapytania nie mogę użyć ukośnika? W pliku .htaccess nakierowuję na odpowiedni plik. Przekierowanie takie działa poprawnie. Może mi ktoś wytłumaczyć co i jak? Może trochę chaotycznie opisałem ale starałem się jak mogłem. W razie wątpliwości proszę śmiało pytać.

Pozostało 580 znaków

2015-02-24 07:37
0

Pokaż .htaccess i sposób, w jaki odczytujesz te dane wewnątrz skryptu.


Pozostało 580 znaków

2015-02-26 13:55
0

Jednak postanowiłem to po nazwie wyciągać z bazy danych jednakże problem z pytajnikiem jest ten sam:
Plik .htaccess:

RewriteRule ^test$ test.php [L] 
RewriteRule ^test([^-]+)$ test.php?topic/$1 [L]

Kod pobierania do linku - plik test.php:

<?php
    include 'php/inc/sql.php';

    $tematy = $db->prepare("SELECT `nazwa_tematu` FROM `topics`");

    if(!$tematy->execute()){
        throw new Exception("Wystąpił błąd nr. 001. Prosimy o kontakt z admistracją!");
    }

?>

<?
    foreach ($tematy as $row_tematy){
        echo '<a href="test?topic/', str_replace(array(' ', '--'), '-', $row_tematy['nazwa_tematu']), '"> '.$row_tematy['nazwa_tematu'].'<br/>';
    }

?>

Obecnie linki wyglądają w ten sposób

http://localhost/forum/test?topic/Nowy-temat

Wyświetleniem w drugim pliku się nie zajmuję teraz, bo to jest łatwe. Chcę pobrać poprawny link w formacie:

http://localhost/forum/test/topic/Nowy-temat

edytowany 3x, ostatnio: dawid4157, 2015-02-26 14:01

Pozostało 580 znaków

2015-02-26 14:01
0

Nie wiem jak dla innych na tym forum ale dla mnie to zawsze wyglądało tak:

  1. http://localhost/strona/katalog/plik/read?id_pw=1

Link wskazujący na ścieżkę dostępu do pliku read z parametrem id_pw o wartości 1

  1. http://localhost/strona/katalog/plik/read/id_pw=1

Link wskazujący na ścieżkę dostępu do pliku id_pw. Gdzie wyskoczyłby błąd ze względu na brak parsera dla znaku "=" w kontekście nazwy pliku.

edytowany 2x, ostatnio: EroSanin, 2015-02-26 14:03

Pozostało 580 znaków

2015-02-26 14:17
0
dawid4157 napisał(a):

Jednak postanowiłem to po nazwie wyciągać z bazy danych jednakże problem z pytajnikiem jest ten sam:
Plik .htaccess:

RewriteRule ^test$ test.php [L] 
RewriteRule ^test([^-]+)$ test.php?topic/$1 [L]

Kod pobierania do linku - plik test.php:

a nie powinno być czasem:

RewriteRule ^test/([^-]+)$ test.php?topic=$1 [L]

Ogólnie na prace domowe mam stawki zaporowe. Czasem coś o programowaniu znajdzie się na mojej stronie
edytowany 1x, ostatnio: kaczus, 2015-02-26 14:18

Pozostało 580 znaków

2015-02-26 16:37
0

No właśnie nie bardzo, bo chcę utworzyć taki format linku:
http://localhost/d-forum/test/topic/Nowy-temat

Obecnie jest tak:
http://localhost/d-forum/test?topic/Nowy-temat

Ma ktoś jakiś pomysł na to?

edytowany 2x, ostatnio: furious programming, 2015-02-27 00:56
Nie cytuj całego posta, jeśli piszesz zaraz pod nim! Niepotrzebnie wydłużasz wątek zmniejszając tym samym jego czytelność; - furious programming 2015-02-27 00:56

Pozostało 580 znaków

2015-02-26 20:04
0

Czy byłby w stanie ktoś pomóc?

Pozostało 580 znaków

Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0