Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Skracanie Linków, nie mod_rewrite!
fredzio90
post 26.03.2007, 19:38:53
Post #1





Grupa: Zarejestrowani
Postów: 251
Pomógł: 0
Dołączył: 19.02.2007

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


a wiec wpadlem na pomysł aby zrobić coś w podobie do tego:

http://www.byy.pl/

lecz niewiem od czego sie zabrac.... podpowiedzielibyscie jakie funkcje mi sie przydadza...
np. aby generować 3 znakowy dowolny ciąg.. np 4sd...
aby wylosowany ciąg nie powtarzal sie z wpisem znajdujacym się już w bazie...

od czego mam zacząć questionmark.gif

mam tkaie pytanie.. jak mam zoribć aby gdy ktoś nie wpisze nic do formualrza generowało automatycznie kilku znakowy ciąg questionmark.gif
ponieważ zrobiłem już wszytsko tylko niewiem wlasnie jak ten poblem rozwikłac....
Go to the top of the page
+Quote Post
Michal2000
post 26.03.2007, 19:49:31
Post #2





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 19.07.2006

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


Dlaczego nie mod_rewrite? Ten plik też można generować za pomocą php, co prawda nie jest to zbyt wydajne, ale powinno wystarczyć. Możesz też tworzyć foldery i w nim plik index.php z przekierowaniem, ale to też nie jest najlepszy pomysł. Mozesz też zmieniać w konfiguracji Apache (czy innego serwera) przekierowania. Nic innego mi di głowy nie przychodzi. Albo możesz zapisywać te linki do bazy danych, a jako stronę błędu 404 dac skrypt php, który pobierze adres błędnej strony, sformatuje go, sprawdzi czy w w bazie danych jest jakieś odwołanie, i jeśli jest to wtedy przekierowuje na odpowiednią stronę.

Ten post edytował Michal2000 26.03.2007, 19:56:09


--------------------
"Wszystko powinno być zrealizowane tak prosto, jak to tylko możliwe, i ani trochę bardziej prosto" Albert Einstein
Go to the top of the page
+Quote Post
fredzio90
post 26.03.2007, 20:32:19
Post #3





Grupa: Zarejestrowani
Postów: 251
Pomógł: 0
Dołączył: 19.02.2007

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


tak dziękuje już zrobiłem... ale mam jedne pytanko jescze pomodziłem z tymi rzeczami i wyszło mi takie coś:

  1. <?php
  2. function url_add_sql() {
  3. global $url_new, $url_old, $s_url_tbl, $PHP_SELF, $REMOTE_ADDR, $id, $adres;
  4.  
  5. $sqlIns = mysql_query("INSERT INTO $s_url_tbl SET old='$url_old', ip='$REMOTE_ADDR', data=now()");
  6.  
  7. $tabelka = '1234567890qwertyuiopasdfghjkklzxcvbnm';
  8. $id = '';
  9. for ($i=0; $i<3; $i++)
  10. {
  11.  $liczba .= $tabelka[rand()%(strlen($tabelka))];
  12. }
  13.  
  14. */ Pocztątek mojego kombinowania z tym */
  15.  
  16. $sprZap = "SELECT * FROM $s_url_tbl WHERE old='$url_old'"; //
  17. $rr = @mysql_fetch_array($sprZap); //
  18.  
  19. $nnew = $rr['new']; //
  20.  
  21. */ a tutaj skończyłem.... */
  22.  
  23.  
  24. if($url_new=='') {
  25. $sqlIns_n = mysql_query("UPDATE $s_url_tbl SET new='$liczba' WHERE old='$url_old'");
  26. } else {
  27. $sqlIns_n = mysql_query("UPDATE $s_url_tbl SET new='$url_new' WHERE old='$url_old'");
  28. }
  29.  
  30.  
  31.  
  32. if($sqlIns_n AND $sqlIns) {
  33. echo '<br><center>Dziękujemy, twoje zgłoszenie zostało przyjęte.<br><br><b>Twój Stary adres</b>: '.$url_old.' <br>
  34. <b>Twój Nowy Adres</b>: '.$adres.''.$PHP_SELF.'?url=';
  35. if($url_new<>'') {
  36. echo ''.$url_new.'';
  37. } else {
  38. echo ''.$liczba.'';
  39. }
  40.  
  41. echo '<br><br><br><center><a href="'.$PHP_SELF.'">Short URL</a></center>';
  42. } else {
  43. echo '<br><center>Niestety nie udało się przyjąć twojego zgłoszenia na stronie!.<br> Skontaktuj się z <a href="mailer.php">Administratorem</a><br><br><a href="'.$PHP_SELF.'">Short URL</a></center>';
  44. }
  45. }
  46. ?>


i jak moge ejecze do tego pola zaminowanego if-ami dodać jescze sprawdzanie że if($nnew==$url_new) { echo'komunikat';}


coś w tym stylu.. aby działał kod.. ;D

PS. $url_new pochodiz z formularza....., tak jak $url_old
$liczba jest to kod gdy nikt nie wpsial do pola $url_new i jest on generowany i dodawany do bazy..

Ten post edytował fredzio90 26.03.2007, 22:44:07
Go to the top of the page
+Quote Post
Michal2000
post 26.03.2007, 20:39:53
Post #4





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 19.07.2006

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


A w jaki sposób rozwiązałeś ten problem?


--------------------
"Wszystko powinno być zrealizowane tak prosto, jak to tylko możliwe, i ani trochę bardziej prosto" Albert Einstein
Go to the top of the page
+Quote Post
fredzio90
post 27.03.2007, 13:51:09
Post #5





Grupa: Zarejestrowani
Postów: 251
Pomógł: 0
Dołączył: 19.02.2007

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


wiecie moze jak objąc ten kod :

  1. <?php
  2. if($url_new=='') {
  3. $sqlIns_n = mysql_query("UPDATE $s_url_tbl SET new='$liczba' WHERE old='$url_old'");
  4. } else {
  5. $sqlIns_n = mysql_query("UPDATE $s_url_tbl SET new='$url_new' WHERE old='$url_old'");
  6. }
  7. ?>


dodatkowo jescze jednym ifem questionmark.gif
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: 12.06.2025 - 11:25