Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]+[mssql] porównywanie zawartości formularza z zawartościa bazy danych
Forum PHP.pl > Forum > Przedszkole
bigart
Witam

mam następujący problem

musze zrobic zmiane hasła poprzez stronke

a wygladac to ma w ten sposob ze uzytkownik wpisuje pesel imie zanwisko date urodzenia numer dowodu itd

(oczywiscie kazdy kto chce to zrobic jest juz w bazie danych)

chodzi mi o to jak zrobic taka funkcje sprawdzajaca w php która w momencie wpisania w formularzu danych sprawdzi czy zgadzaja sie one z tym co jest w bazie danych i jezeli nie to wywali blad a jezeli tak to dopusci do zmiany hasla

prosze o pomoc....

  1. <?php
  2. if (!$wynik["nazwisko"])
  3.  
  4. echo "blad";
  5. exit ;
  6. ?>

czy taki zapis jest poprawny ?
piczu
najprostszy przyklad
  1. <?php
  2. if(mysql_num_rows(mysql_query($zapytanie, $link)))
  3. // istnieje
  4. else
  5. // nie istnieje
  6. ?>
bigart
ok ale tutaj chodzi o to ze ma tylko sprawdzic czy jest taki sam wpis czy sie różni

jeżeli jest taki sam to nie pokazuje bledu

a jezeli nie to wyskakuje blad
fredzio90
moim zdanie coś takiego:


  1. <?php
  2. if ($POST[dane]<>'$zmienna_z_bazy') {
  3. echo "różni się!";
  4. } else {
  5. echo "nie różni sie";
  6. }
  7. ?>
bigart
tak juz tez myslalem z tym ze nie chce zeby byla jakakolwiek reakcja w momencie kiedy dane sa ok
bez echo" " ;

formularz wyglada tak :
  1. <table class="glowna">
  2. <tr>
  3. <td class="opis">Nazwisko</td>
  4. <td class="dane1">&nbsp;&nbsp;<input type="text" name="nazwisko" class="dlugie"></td>
  5. </tr>
  6. <tr>
  7. <td class="opis">Nazwisko panienskie</td>
  8. <td class="dane2">&nbsp;&nbsp;<input type="text" name="nazwiskopanienskie" class="dlugie"></td>
  9. </tr>
  10. <tr>
  11. <td class="opis">Imię</td>
  12. <td class="dane1">&nbsp;&nbsp;<input type="text" name="imie1" class="srednie"></td>
  13. </tr>
  14. <tr>
  15. <td class="opis">Drugie imię</td>
  16. <td class="dane2">&nbsp;&nbsp;<input type="text" name="imie2" class="srednie"></td>
  17. </tr>
  18. <tr>
  19. <td class="opis">Data urodzenia</td>
  20. <td class="dane1">&nbsp;&nbsp;<input type="text" name="data_urodzenia" class="male" onclick="showKal(this)">&nbsp;(RRRR-MM-DD)</td>
  21. </tr>
  22. <tr>
  23. <td class="opis">Miejsce urodzenia</td>
  24. <td class="dane2">&nbsp;&nbsp;<input type="text" name="miejsce_urodzenia" class="srednie"></td>
  25. </tr>
  26. <tr>
  27. <td class="opis">Imie ojca</td>
  28. <td class="dane1">&nbsp;&nbsp;<input type="text" name="imie_ojca" class="srednie"></td>
  29. </tr>
  30. <tr>
  31. <td class="opis">Imie matki</td>
  32. <td class="dane2">&nbsp;&nbsp;<input type="text" name="imie_matki" class="srednie"></td>
  33. </tr>
  34. <tr>
  35. <td class="opis">Numer Pesel</td>
  36. <td class="dane1">&nbsp;&nbsp;<input type="text" name="pesel" class="srednie"></td>
  37. </tr>
  38. <tr>
  39. <td class="opis">Numer dowodu osobistego</td>
  40. <td class="dane2">&nbsp;&nbsp;<input type="text" name="numer_dowodu_osobistego" class="srednie">&nbsp;<a href="" onclick="java script:menu(); return false;">(Przykład&nbsp;&nbsp;<img src="./images/popup_icon.png" height="13" width="13" style="border: none;" alt="nowe okno">)</a> <div id="obrazek1" style="position: absolute; left: 450px; width:533px; height:200px; z-index: 100; display: none"><img src=./images/dowod.png height=200 width=533 border=0 alt=dowód osobisty></div> </td>
  41. </tr>
  42.  
  43. <table class="glowna">
  44. <tr>
  45. <td class="opis">Nowe hasło</td>
  46. <td class="dane2"><input type="text" name="haslo" class="srednie"></td>
  47. </tr>
  48. <tr>
  49. <td class="opis">Powtórz hasło</td>
  50. <td class="dane2"><input type="text" name="haslo" class="srednie"></td>
  51. </tr>


teraz chcialbym zeby podczas klikniecia na zmiane hasla albo

wywalil o braku zgodnosci z wpisami w bazie danych

lub jak wszystko ok zeby to haslo po prostu zmienil
plisek
Kod
if (!$wynik["nazwisko"])

to sprwadza tylko czy istnieje zmienna wynik[nazwisko], a powinno sprawdzać czy jest zgodna z wartością w bazie.

wg mnie powinieneś:
- pobrać dane od uzytkownika poprzez formularz (przesłac je metoda post lub get)
- sprwdzić czy istnieje rekord w bazie, gdzie dane z formularza są zgodne z danymi w bazie (czyli znaleść w bazie rekord wykorzystując instrukcje sql - select kolumna/y from tablica where wartosc=element z tablicy POST/GET )
- jeżeli użytkownik istnieje, ma do dyspozycji dodatkowe pole formuarza , gdzie może wprowadzić nową wartośc hasła.
- a następnie zapisać wartość hasła do bazy. dobrą parktyką jest kodowanie go np md5 i trzymanie zakodowanej wartości hasła.


formularz który napisałeś nie zapisuje ani nie porownuje nic w bazie. poczytaj o tworzeniu zapytań w mysql
zwróc szczególna uwagę na mysql_query w php i instrukcjach select i update w mysql


pozdr
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.