Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Co zrobić żeby rekord się nie powtarzał
Forum PHP.pl > Forum > Przedszkole
licha
Witam mam kod php który zapisuje rekordy do bazy danych . Wszystko działa pięknie ładnie ale nie wiem jak zrobić żęby rekordy się nie powtarzały.

to mój skrypt :
  1. <?php
  2.  
  3. $imie = $_POST['imie'];
  4. $email = $_POST['email'];
  5.  
  6. if($imie and $email) {
  7.  
  8.  
  9. $connection = @mysql_connect('*****', '****', '*****')
  10. or die('Brak połączenia z serwerem MySQL');
  11. $db = @mysql_select_db('licha_aaa', $connection)
  12. or die('Nie mogę połączyć się z bazą danych');
  13.  
  14.  
  15. #
  16. $uchwyt = mysql_query("INSERT INTO test SET imie='$imie', email='$email'") or die(mysql_error());
  17.  
  18.  
  19. if($ins) echo "Dziękujemy. Zostałeś dodany do bazy danych";
  20. else echo "Błąd";
  21.  
  22. mysql_close($connection);
  23. }
  24.  
  25. ?>
ciekawskiii
po dodaniu rekordu wywal sie z tej strony za pomoca header i sprawdzaj czy taki rekord juz istnieje
licha
tyle że ja w php kuleje a nie mam za dużo czasu na nauke narazie muszę zrobić stronę do niedzieli a to mi jest potrzebne
markonix
mysql_num_rows z odpowiednim zapytaniem w instrukcji warunkowej.

  1. if(mysql_num_rows("Zapytanie")){ coś już jest } else { nie ma }
celbarowicz
imiona i nazwiska często się powtarzają. w twojej bazie email powinien być unikalny. jeśli chcesz, aby rekordy nie powtarzały się najpierw sprawdź czy podany email jest już w bazie, jesli jest to nie zapisuj(i odpowiedni komunikat), jeśli nie ma to zapisz.

$ins co to jest? ustawione? działa?
kalmaceta
jak wyżej napisano imię i nazwisko nie jest unikalne - weź e-mail, login czy coś w ten deseń. Nie sprawdzaj żadnym dodatkowym zapytaniem czy rekord istnieje, ustaw po prostu w bazie na żądanym polu np. email klucz UNIQUE. W php normalnie dodajesz tylko sprawdzasz pod koniec

  1. if ($t = mysql_error()) {
  2. if (!strpos($t,'duplicate')==FALSE)
  3. echo('powtorzony i nie dodany');
  4. }
licha
To sprawdzanie nei chcę działać próbowałem już to wstawić w różne linijki kodu ale zawsze się wyświetla informacja po angielsku (duplikate)
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.