Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL]Porownywanie rekordow
xSlash
post 19.04.2009, 14:19:15
Post #1





Grupa: Zarejestrowani
Postów: 119
Pomógł: 0
Dołączył: 19.04.2009
Skąd: Sieradz

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


Musze zrobic cos takiego, aby pobieralo kolumne z bazy danych i porownywało ją z wpisaną wartoscią i pokazywac czy jest ona w bazie czy nie.


Napisalem cos takiego:

Kod
<? 
   echo('<form action="" method="POST">

<input type="text" name="adresat"
           <input type="submit" name="ok" value="Wyslij">
 </form>');

    $lista = mysql_fetch_row(mysql_query("SELECT `login` FROM `loginy`"));
    $adresat = $_POST['adresat'];
    
  if(isset($_POST['ok']))
   {
   if($lista == $adresat)
    {
     die('tak');
    }
     else
    {
     die('nie');
    }
   }
?>


Jednakze za kazdym razem pokazuje die "nie". Z czego wynika, ze jest nierownosc miedzy $lista a $adresat. $adresat jest na 100% dobrze... Obstawiam blad w 
Cytat
$lista = mysql_fetch_row(mysql_query("SELECT `login` FROM `loginy`"));



ale nie jestem pewnien... kto wprowadzi poprawki? Please ;]  wstydnis.gif
Go to the top of the page
+Quote Post
porady-it.pl
post 19.04.2009, 14:44:23
Post #2





Grupa: Zarejestrowani
Postów: 89
Pomógł: 20
Dołączył: 13.05.2007
Skąd: Warszawa

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


Witam,

Troszeczkę ze złego założenia wyszedłeś ponieważ należy wykorzystać bazę do zweryfikowania czy podany login już istnieje. Można to zrobić w następujący sposób:
  1. <form action="" method="post">
  2. <input type="text" name="login" /><br /><input type="submit" value="Wyslij" />
  3. </form>

  1. <?php
  2.  
  3. $conn=@mysql_connect("xxx","xxx","xxx");
  4. @mysql_select_db("xxx",$conn);
  5.  
  6.  
  7. $tablica = mysql_fetch_assoc(mysql_query("SELECT COUNT(*) ilosc FROM loginy WHERE login = '{$_POST['login']}'"));
  8.  
  9. if($tablica['ilosc']) {
  10.    echo 'Login istnieje';
  11. } else {
  12.    echo 'Login nie istnieje';
  13. }
  14.  
  15. ?>


--------------------
Kurs Video PHP i MySQL, porady-it.pl - gotowe rozwiązania dla webmasterów
Go to the top of the page
+Quote Post
Spawnm
post 19.04.2009, 14:58:59
Post #3





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




  1. <?php
  2. $tablica = mysql_fetch_assoc(mysql_query("SELECT COUNT(*) ilosc FROM loginy WHERE login = '{$_POST['login']}'"));
  3. ?>


tiaaa a o sql injection to słyszałeś ?
Go to the top of the page
+Quote Post
nexis
post 19.04.2009, 15:01:00
Post #4





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

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


  1. <form action="<?= $_SERVER['PHP_SELF'] ?>" method="post">
  2.    <input type="text" name="adresat" />
  3.    <input type="submit" value="Wyślij" />
  4. </form>
  5. <?php
  6. if (isset($_POST['adresat'])) {
  7.    $query = sprintf
  8.        (
  9.            "SELECT COUNT(*) FROM `loginy` WHERE `login` = '%s'",
  10.            mysql_real_escape_string($_POST['adresat'])
  11.        );
  12.    $query  = mysql_query($query);
  13.    $result = mysql_fetch_row($query);
  14.    if ($result[0] == 1) {
  15.        echo 'tak';
  16.    } else {
  17.        echo 'nie';
  18.    }
  19. }
  20. ?>


Ten post edytował nexis 19.04.2009, 15:01:43


--------------------
Zend Certified Engineer

Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
Go to the top of the page
+Quote Post
porady-it.pl
post 19.04.2009, 15:22:09
Post #5





Grupa: Zarejestrowani
Postów: 89
Pomógł: 20
Dołączył: 13.05.2007
Skąd: Warszawa

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


Spawnm, pytanie było o rozwiązanie problemu sprawdzania, a nie zabezpieczanie skryptu przed SQL Inject. Mógłbym równie dobrze pokazać jak zrobić to w PDO i "podpiąć" parametry pod zapytanie eliminując problem SQL Inject jednak nie to było problemem. Celem mojego rozwiązania było jedynie zaprezentowanie jak można sprawdzać istnienie loginu, a jak ktoś zweryfikuje przesłane dane to jego sprawa winksmiley.jpg

Pozdrawiam,
Marcin


--------------------
Kurs Video PHP i MySQL, porady-it.pl - gotowe rozwiązania dla webmasterów
Go to the top of the page
+Quote Post
xSlash
post 19.04.2009, 17:16:37
Post #6





Grupa: Zarejestrowani
Postów: 119
Pomógł: 0
Dołączył: 19.04.2009
Skąd: Sieradz

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


Nie wiem czy inne działały, ale najbardziej zachecająco i najbardziej rozumiałem kolege nexisa. Dzieki gosciu... dostałes "pomaga" haha.gif ^^ I Buzi tongue.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: 29.06.2025 - 19:27