Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] funckja in_array
fredzio90
post
Post #1





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

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


otóż mam problem.. stworzyłem kod który zmienia długie adresy w krótkie... i mam taką funkcje:

  1. <?php
  2. function url_add_sql() {
  3. global $url_new, $url_old, $s_url_tbl, $PHP_SELF, $REMOTE_ADDR, $id, $adres;
  4.  
  5. $tabelka = '1234567890qwertyuiopasdfghjkklzxcvbnm';
  6. $id = '';
  7. for ($i=0; $i<3; $i++)
  8. {
  9. $liczba .= $tabelka[rand()%(strlen($tabelka))];
  10. }
  11.  
  12. $sprZap = mysql_query("SELECT * FROM $s_url_tbl");
  13. while($rr = @mysql_fetch_array($sprZap)) {
  14.  
  15. $nnew = $rr['new'];
  16. $old = $rr['old'];
  17.  
  18. if(in_array($url_new, $rr, true)) {
  19. echo 'Podany Skrót ( <b>'.$url_new.'</b> ) jest już zajęty';
  20. die();
  21. }
  22. }
  23.  
  24. if(empty($url_new)) {
  25. $sqlIns = mysql_query("INSERT INTO $s_url_tbl SET old='$url_old', ip='$REMOTE_ADDR', data=now(), new='$liczba'"); 
  26. } else {
  27. $sqlIns = mysql_query("INSERT INTO $s_url_tbl SET old='$url_old', ip='$REMOTE_ADDR', data=now(), new='$url_new'");
  28. }
  29.  
  30.  
  31. if($sqlIns) {
  32. echo '<center>Dziękujemy, twoje zgłoszenie zostało przyjęte.<br><br><b>Twój Stary adres</b>: '.$url_old.' <br>
  33. <b>Twój Nowy Adres</b>: '.$adres.''.$PHP_SELF.'?url=';
  34. if($url_new<>'') {
  35. echo ''.$url_new.'';
  36. } else {
  37. echo ''.$liczba.'';
  38. }
  39.  
  40. echo '<br><br><br><center><a href="'.$PHP_SELF.'">Short URL</a></center>';
  41. } else {
  42. echo '<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>';
  43. }
  44. }
  45. ?>


jak widziecie jst kod:

  1. <?php
  2. if(in_array($url_new, $rr, true)) {
  3. echo 'Podany Skrót ( <b>'.$url_new.'</b> ) jest już zajęty';
  4. die();
  5. ?>


lecz niestey nie wylkapuje czy $url_new ( przesułana nazwa formularza ) znajduje się w bazie....

chodzi mo o to żeby jezeli jest w bazie dany wpis ( $url_new ) to żeby wywaliło funkcje die();

lecz niestety nie działa....

pomóżcie! tiredsmiley.gif
Go to the top of the page
+Quote Post
Krzasz
post
Post #2





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 29.08.2003
Skąd: Warszawa

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


Ja bym to zrobił tak:

TO:
  1. <?php
  2. $sprZap = mysql_query("SELECT * FROM $s_url_tbl");
  3. while($rr = @mysql_fetch_array($sprZap)) {
  4.  
  5. $nnew = $rr['new'];
  6. $old = $rr['old'];
  7.  
  8. if(in_array($url_new, $rr, true)) {
  9. echo 'Podany Skrót ( <b>'.$url_new.'</b> ) jest już zajęty';
  10. die();
  11. }
  12. }
  13. ?>


zamienił na:

  1. <?php
  2. $sprZap = mysql_query("SELECT * FROM $s_url_tbl WHERE new = '".$url_new."' OR old = '".$url_new."'");
  3. if (mysql_num_rows($sprZap) >0)
  4. die('Podany Skrót ( <b>'.$url_new.'</b> ) jest już zajęty');
  5. else {
  6. //rób coś innego
  7. }
  8. ?>


Nie wiem czy potrzebne jest to OR old = '".$url_new."' jak nie to usuń smile.gif

Ten post edytował Krzasz 2.06.2007, 14:48:42


--------------------
Pozdrawiam,

InSee Sp. z o.o. - Solutions delivered
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%)
-----


ohohohoo naprawde dziękuje, nie wymyślił bym tego ;D

TTTTTTTTHHHHHHHHHHHHHXXXXXXXXXXX rolleyes.gif guitar.gif

DZIAŁAAAAAAAAAA guitar.gif

Ten post edytował fredzio90 2.06.2007, 15:07:39
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 Aktualny czas: 20.08.2025 - 14:12