otóż mam mały problemik który mnie już dręczy... otóż mam formularz w ktorym są 2 pola:
url_old - długi adres www
url_new - skrót który będzie prowadził do tego długiego adresu

url_old jest zapisywany do bazy do pola old, a url_new do pola new... i jest taka funkcja dodająca....


  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($_POST['url_new'], $rr, true)) {
  19. echo 'Podany Skrót ( <b>'.$url_new.'</b> ) jest już zajęty';
  20. die();
  21. }elseif($old==$url_old) {
  22. if(empty($url_new)) $sqlIns_n = mysql_query("UPDATE $s_url_tbl SET new='$liczba' WHERE old='$url_old'"); 
  23. else
  24. $sqlIns_n = mysql_query("UPDATE $s_url_tbl SET new='$url_new' WHERE old='$url_old'");
  25. }
  26. }
  27. if(!$sqlIns_n){
  28. if(empty($url_new)) $sqlIns = mysql_query("INSERT INTO $s_url_tbl SET old='$url_old', ip='$REMOTE_ADDR', data=now(), new='$liczba'"); else $sqlIns = mysql_query("INSERT INTO $s_url_tbl SET old='$url_old', ip='$REMOTE_ADDR', data=now(), new='$url_new'");
  29. }
  30.  
  31. if($sqlIns_n OR $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. ?>


i chodzi w niej o to że gdy nie wpiszemy nic w pole url_new to do bazy doda się dowolny 3 literowy wyraz ( zmienna $liczba )

jeżeli ktoś coś wpisał w to pole to doda się zawartość do bazy...

i problem tkwi w tym że gdy nic nie wpisze do pola url_new to pokaże się komunikat:

Kod
Podany Skrót ( ) jest już zajęty




między nawiasami powinna pokazać się wartość która NIEJAKO znajduje się w bazie... a naprawde niema takiego czegoś w bazie... i w tym błąd.. mógłby ktoś z tym fantem pomóc ?

pomoze ktos questionmark.gif