Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL] Amatorska szukajka;)
maly_pirat
post
Post #1





Grupa: Zarejestrowani
Postów: 215
Pomógł: 0
Dołączył: 13.06.2007

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


Hej, chce zrobić taką prostą szukajke na stronie swojej, i chciałbym się dowiedzieć o źródło takiej szukajki.

1. Przede wszystkim nawiązanie połączenia z bazą danych,
2. Na stronie głównej utworzyć pole input i wpisując wartość użytkownik bedzię informowany o rezultatach zapisanych w bazie.

Kod
<form action="szukaj.php" method="post">
Wpisz IP: <input type="text" name="ip">
<input type=submit value="Szukaj">


Chciałbym aby w szukajce można było wpisywać tylko wartości liczbowe, bo opcja szukaj będzie miała za zadanie
szukać adresów IP w bazie danych. Więc jeżeli ktoś wpisze w input np. ` ala ma konta ` to chciałbym aby szukajka zwróciła komunikat ` Błędy adres ip `

3. Teraz sam skrypt, prosta zasada;

127.0.0.1 - ip, które wprowadził użytkownik.
Szukajka zwraca komunikat

` Wybrany adres IP ` 127.0.0.1 ` jest lub też NIE zarejestrowany w bazie `
Raczej nic więcej nie chce.

szukaj.php

A dalej? nie za bardzo wiem, co dokładnie wpisać.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Pitter
post
Post #2





Grupa: Zarejestrowani
Postów: 75
Pomógł: 8
Dołączył: 9.08.2008

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


ja bym to zrobił w ten sposób:

  1. <?
  2. // formularz
  3. echo '<form method="GET">
  4. Wpisz adres ip: <input type="text" name="ip">
  5. <input type="hidden" name="search" value="ok">
  6. <input type="submit" value="szukaj">
  7. </form>';
  8.  
  9. //sprawdzenie czy wpisana wartość jest liczbą
  10. if(!is_nan(asin($_GET['ip'])))
  11. {
  12. echo 'Wpisana wartość nie jest liczba';
  13. }
  14. else
  15. {
  16. $ip = $_GET['id'];
  17. $query = "SELECT * FROM user WHERE ip='$ip'";
  18. $result = mysql_query($query);
  19. $ile = mysql_num_rows($result);
  20.  
  21. if($ile==0)
  22. {
  23. echo 'nikt sie nie zarejestrowal o podanym adresie ip';
  24. }
  25. else
  26. {
  27. echo 'Ktos juz jest zarejestrowany o podanym adresie ip';
  28. }
  29. }
  30.  
  31. ?>


Tylko jest jeden problem. Funkcja która sprawdza czy dana wartość jest liczbą nie będzie dobrze działać z ip. POnieważ ip składa się z kropek.
Go to the top of the page
+Quote Post
maly_pirat
post
Post #3





Grupa: Zarejestrowani
Postów: 215
Pomógł: 0
Dołączył: 13.06.2007

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


Cytat
Rozumiem ,że sam na razie nic nie zrobiłes questionmark.gif?


Bez przesady, połączyć się z bazą każdy potrafi, po prostu nie pisałem kodu.
Co do kodu, który podał Pitter, no jeżeli nie bedę mógł kropek używać, to na niewiele mi ten kod, ale bynajmniej
będę pisał na podstawie tego.
Go to the top of the page
+Quote Post
phpion
post
Post #4





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Cytat(Pitter @ 16.08.2008, 17:28:27 ) *
Tylko jest jeden problem. Funkcja która sprawdza czy dana wartość jest liczbą nie będzie dobrze działać z ip. POnieważ ip składa się z kropek.

A co mają kropki do rzeczy?

Ja bym zmodyfikował przykład podany przez ~Pittera. Skoro chcesz uzyskać informację jest/nie ma to po co wyciągać rekordy i je liczyć? Zdecydowanie lepiej użyć COUNT:
  1. <?php
  2. $ip = $_GET['id'];
  3. $query = "SELECT COUNT(*) FROM user WHERE ip='$ip'";
  4. $result = mysql_query($query);
  5.  
  6. if(mysql_result($result, 0) == 0)
  7. {
  8. echo 'nikt sie nie zarejestrowal o podanym adresie ip';
  9. }
  10. else
  11. {
  12. echo 'Ktos juz jest zarejestrowany o podanym adresie ip';
  13. }
  14. ?>
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.08.2025 - 19:25