Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Skracanie Linków, nie mod_rewrite!
fredzio90
post
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ąć (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

mam tkaie pytanie.. jak mam zoribć aby gdy ktoś nie wpisze nic do formualrza generowało automatycznie kilku znakowy ciąg (IMG:http://forum.php.pl/style_emoticons/default/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
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
Go to the top of the page
+Quote Post
fredzio90
post
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
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?
Go to the top of the page
+Quote Post
fredzio90
post
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 (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.09.2025 - 01:28