Rozdzielenie parametrów w linku

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ć.

0

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

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

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.

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]
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?

0

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

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