Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL] Formularz, Sprawdzanie czy już nie został dodany.
luzak124
post 15.03.2009, 11:30:35
Post #1





Grupa: Zarejestrowani
Postów: 170
Pomógł: 1
Dołączył: 3.09.2006
Skąd: Białystok

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


  1. <?php
  2. // odbieramy dane z formularza
  3. $oceniam = $_POST['oceniam'];
  4. $dlakogo = $_POST['dlakogo'];
  5. $kto = $_POST['kto'];
  6. $kiedy = date("Y-m-d");
  7.  
  8.  
  9. if($oceniam and $dlakogo and $kto and $kiedy) {
  10.    
  11.    // łączymy się z bazą danych
  12.    $connection = @mysql_connect('localhost', 'root', '')
  13.    or die('Brak połączenia z serwerem MySQL');
  14.    $db = @mysql_select_db('amicus', $connection)
  15.    or die('Nie mogę połączyć się z bazą danych');
  16.    
  17.    // dodajemy rekord do bazy
  18.    $ins = @mysql_query("INSERT INTO ocenypm SET plusminus='$oceniam', dlakogo='$dlakogo', kto='$kto', kiedy='$kiedy'");
  19.    
  20.    if($ins) echo "Rekord został dodany poprawnie";
  21.    else echo "Błąd nie udało się dodać nowego rekordu";
  22.    
  23.    mysql_close($connection);
  24. }
  25.  
  26. ?>
  27. <form action="profil_pokaz.php?username=<? echo $username ?>" method="post">
  28. <input type="hidden" name="oceniam" value="plus" />
  29. <input type="hidden" name="dlakogo" value="<? echo $username ?>" />
  30. <input type="hidden" name="kto" value="<?php echo $_SESSION['user']; ?>" />
  31. <input type="submit" value="plus" />
  32. </form>
  33. <form action="profil_pokaz.php?username=<? echo $username ?>" method="post">
  34. <input type="hidden" name="oceniam" value="minus" />
  35. <input type="hidden" name="dlakogo" value="<? echo $username ?>" />
  36. <input type="submit" value="minus" />
  37. </form>

O to skrypt oceniania użytkowników na zasadzie plus, minus ale jak zrobić tak że jeżeli użytkownik Kowalski ocenił juz profil użytkownika Nowak to już drugi raz tego nie może zrobić?
Prosze o pomoc.


--------------------
Mądrzy ciągle się uczą, głupcy wszystko umieją.
Go to the top of the page
+Quote Post
Foxx
post 15.03.2009, 11:37:40
Post #2





Grupa: Zarejestrowani
Postów: 896
Pomógł: 76
Dołączył: 15.11.2003
Skąd: Sosnowiec/Kraków

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


Przed wykonaniem
  1. <?php
  2. // dodajemy rekord do bazy
  3. $ins = @mysql_query("INSERT INTO ocenypm SET plusminus='$oceniam', dlakogo='$dlakogo', kto='$kto', kiedy='$kiedy'");
  4. ?>


Wywołaj zapytanie
  1. <?php
  2. $odp = mysql_query("SELECT COUNT(*) FROM ocenypm WHERE dlakogo='".$dlakogo."' AND kto='".$kto."'");
  3. ?>

I jeżeli to zwróci wynik > 0 to nie wykonuj tego INSERTA
Go to the top of the page
+Quote Post
Grzyw
post 15.03.2009, 11:38:27
Post #3





Grupa: Zarejestrowani
Postów: 561
Pomógł: 75
Dołączył: 19.08.2004
Skąd: Wrocław

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


Wyciągnij z bazy liczbę ocen użytkownika X dla użytkownika Y. Jeżeli ta liczba > 0, zablokuj formularz lub na etapie dodawania głosu nie zezwól na zapis do bazy i wywal komunikat.


--------------------
Idąc po czyichś śladach, nie zajdziesz ani kroku dalej...
Go to the top of the page
+Quote Post
peter13135
post 15.03.2009, 11:53:47
Post #4





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


a co z unique questionmark.gif


--------------------
:)
Go to the top of the page
+Quote Post
Grzyw
post 15.03.2009, 11:59:21
Post #5





Grupa: Zarejestrowani
Postów: 561
Pomógł: 75
Dołączył: 19.08.2004
Skąd: Wrocław

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


Cytat(peter13135 @ 15.03.2009, 11:53:47 ) *
a co z unique questionmark.gif

I kiedy miałby to sprawdzać? Już po dodaniu drugiego głosu? Bezsens. Na 'dzień dobry' przy wywalaniu formularza w HTML wyciągnąć trzeba, tak jak pisał Foxx i ja pisałem, informację, czy głos jest już oddany i odpowiednio poinformować o tym usera i nie ma nad czym się zastanawiać.


--------------------
Idąc po czyichś śladach, nie zajdziesz ani kroku dalej...
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: 26.06.2025 - 00:00