Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Przekierowanie, w samym php lub w bazie mysql
BLS
post 1.11.2009, 10:00:04
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 19.09.2009

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


Napotkałem kolejny problem w procesie tworzenia mojej strony.

Mam 2 przykladowe adresy:

1) http://domena.pl/katalog/galeria/dluganzawapliku.jpg
koduję katalog/galeria/dluganzawapliku.jpg na postac 00011
otrzymuje
2) http://domena.pl/00011

obydwa wprowadzam do bazy mysql

Chciałbym osiągnąć efekt taki, że po wpisaniu adresu 2) uzytkownik zostaje automatycznie przekierowany na adres 1)

Nie wiem czy jest możliwe "przypisanie" adresu 2) do 1) w bazie mysql? I na tej podstawie przekierowanie. Może też być w samym php, tylko już pogubiłem się, bo próbowałem na kilka sposobów.

Proszę o choćby podpowiedź w jaki sposób rozwiązać ta zagwozdkę.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
Kszyhuu
post 1.11.2009, 10:44:22
Post #2





Grupa: Zarejestrowani
Postów: 157
Pomógł: 32
Dołączył: 24.08.2009

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


Mod rewrite?
Albo wyjmij z bazy dwa adresy, użyj ifa z krótkim adresem i tam daj header na długi adres.

Ten post edytował Kszyhuu 1.11.2009, 10:46:40
Go to the top of the page
+Quote Post
BLS
post 1.11.2009, 13:21:04
Post #3





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 19.09.2009

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


Cytat(Kszyhuu @ 1.11.2009, 10:44:22 ) *
Mod rewrite?
Albo wyjmij z bazy dwa adresy, użyj ifa z krótkim adresem i tam daj header na długi adres.


Dzięki wypróbuję obydwie metody.

EDIT:
Na szybko probuje przekierowac takim sposobem:

  1. $kieruj = mysql_query("SELECT linkpierwotny, linkzakodowany FROM images WHERE image_id = '$id'") or die(mysql_error());
  2. if($linkzakodowany == 1)
  3. {
  4. header('location:http://domena.pl/foto/galeria2.php?id='.$id.'');
  5. }


ale nie idzie...

W jaki sposób pobrać info, że użytkownik wklepał do paska adresu przeglądarki mój adres zakodowany (krótki adres do pliku)?

Ten post edytował BLS 1.11.2009, 13:52:13
Go to the top of the page
+Quote Post
InosU31
post 1.11.2009, 20:17:44
Post #4





Grupa: Zarejestrowani
Postów: 221
Pomógł: 14
Dołączył: 11.03.2009
Skąd: Lubaczów

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


to moze switch ?

[PHP] pobierz, plaintext
  1. $kieruj = mysql_query("SELECT linkpierwotny, linkzakodowany FROM images WHERE image_id = '$id'") or die(mysql_error);
  2. while ($rekord = mysql_fetch_array ($kieruj))
  3. {
  4. $rekord['linkzakodowany'] = $_GET;
  5. switch ($_GET)
  6. {
  7. case $rekord['linkzakodowany']:
  8. header("location:".$rekord['linkpierwotny']."");
  9. break;
  10. }
  11. }
[PHP] pobierz, plaintext

teraz chyba powinno zadzialac ;-) ale poprobuj

Pozdrawiam

Ten post edytował InosU31 1.11.2009, 20:20:57
Go to the top of the page
+Quote Post
BLS
post 2.11.2009, 07:17:46
Post #5





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 19.09.2009

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


Cytat(InosU31 @ 1.11.2009, 20:17:44 ) *
to moze switch ?


  1. $kieruj = [url="http://www.php.net/mysql_query"]mysql_query[/url]("SELECT linkpierwotny, linkzakodowany FROM images WHERE image_id = '$id'") or [url="http://www.php.net/die"]die[/url]([url="http://www.php.net/mysql_error"]mysql_error)[/url];
  2. while ($rekord = [url="http://www.php.net/mysql_fetch_array"]mysql_fetch_array[/url] ($kieruj))
  3. {
  4.  
  5. $rekord['linkzakodowany'] = $_GET;
  6. switch ($_GET)
  7. {
  8. case $rekord['linkzakodowany']:
  9.  
  10. [url="http://www.php.net/header"]header[/url]("location:".$rekord['linkpierwotny']."");
  11.  
  12. break;
  13. }
  14.  
  15. }




teraz chyba powinno zadzialac ;-) ale poprobuj

Pozdrawiam



Poradziłem sobie w inny sposób. Przekierowanie działa gdy podam w formularzu link zakodowany. Ale przecież kierowanie ma działać na podstawie zmiennej pobranej z url a nie formularza. W jaki sposós ustawić zmienną na podstawie adresu z url?

Szukałem i robię tak:

  1. $link = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
  2. $link = $_GET['link'];
  3. $zapytanie2 = mysql_query("SELECT linkpierwotny, linkzakodowany FROM images WHERE linkzakodowany='$link'");


i nie działa:(
Go to the top of the page
+Quote Post
InosU31
post 2.11.2009, 23:00:34
Post #6





Grupa: Zarejestrowani
Postów: 221
Pomógł: 14
Dołączył: 11.03.2009
Skąd: Lubaczów

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


  1. $link = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
  2. $link = $_GET['link'];
  3. $zapytanie2 = mysql_query("SELECT linkpierwotny, linkzakodowany FROM images WHERE linkzakodowany='$link'");


no nie wiem jak ma ci to dzialac skoro najpierw przypisujesz do zmiennej $link jakis adres a pozniej zmienna GET ?

nie rozumiem za bardzo co ma wspolnego formularz z wyswietleniem linka? Pozatym przeciez Ci napisalem i u mnie to dziala :|

Moze objasnij bardziej jak chcesz wyswietlac te zdjecia bo juz nie wiem.

ja to widze tak :

otwierasz strone i widzisz fotki (bardz jakiegos linka):



  1. $kieruj = mysql_query("SELECT linkpierwotny, linkzakodowany FROM images");// wybierasz wszystkie linki/fotki
  2. while ($rekord = mysql_fetch_array($kieruj))
  3. {
  4.  
  5. echo "<a href=\"".$rekord['linkzakodowany']."\">".$rekord['linkzakodowany']
  6. ."</a>";
  7. // wyswietlasz wszystkie linki z bazy z zakodowanym linkiem na stronie
  8.  
  9. if ($rekord['linkzakodowany'] == $_GET)
  10. {
  11.  
  12. switch ($_GET)
  13. {
  14. case $rekord['linkzakodowany']:
  15.  
  16. header("location:".$rekord['linkpierwotny']."");
  17.  
  18. break;
  19. }
  20. }
  21.  
  22. }
  23.  
  24.  


nie wiem czy o to ci chodzilo.

pozdrawiam
Go to the top of the page
+Quote Post
BLS
post 3.11.2009, 08:37:17
Post #7





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 19.09.2009

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


Dzięki serdeczne za skrypt- na pewno mi się przyda w dalszej pracy.
Jeszcze raz tłumaczę o co mi chodzi: w każdym hostingu plików, kiedy podasz np. http://rapidshare.com/files/287027078/plik.rar to nie otworzy się strona główna RS, a strona na której masz możliwość pobrania pliku.
Ja chciałbym uzyskać ten sam efekt. Wklepując "linkzakodowany" user jest kierowany do odpowiadającego mu "linkupierowtnego" , a gdy wklepie jakiś inny adres to jest kierowany na strnę główną mojego serwisu.

Pozdrawiam
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 07:38