Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Sprawdzenie czy dany wpis w tablicy istnieje
Forum PHP.pl > Forum > Przedszkole
Avaddy
Witam,

mam stronę w PHP i bazę danych z tablicą 'users', w której znajduje się pozycja 'user_checkmodul1'.

Chciałbym, aby nastąpiło sprawdzenie, czy w zakładce "user_checkmodul1" znajduje się wartość I, a jeśli tak, aby wyświetlał się komunikat: "jesteś już zapisany." W przeciwnym wypadku ma się pojawić button z opcją zapisania się (wtedy dodaje wartość "I" do user_checkmodul1 - i to działa dobrze!). I teraz pojawia się problem, bo o ile sama opcja zapisu działa, to po wklepaniu kodu ze sprawdzeniem na stronie, zamiast w/w komunikatu, jest błąd:

Kod
Warning: shell_exec() has been disabled for security reasons in /home/blablabla.php on line 114


Linię 114 zawiera ten kod:

  1. <?php
  2. include 'config.php';
  3. db_connect();
  4. check_login();
  5. $user_data = get_user_data();
  6. $user_checkmodul1=$user_data['user_checkmodul1'];
  7. if ($user_checkmodul1=="I")
  8. {
  9. (-> 114) echo `Jesteś już zapisany.`;
  10. }
  11. else


Gdy wyłączę ten fragment z kodu, to wtedy sam przycisk "Zapisz się" działa dobrze, więc wina leży po stronie tego czegoś.

Co robię źle? Jak się za to zabrać odpowiednio? Czy to wina kodu?

Z góry dziękuję za wszelką próbę pomocy. smile.gif
Pozdrawiam!
untorched
Chwila chwila. Dlaczego ` zamiast '?
  1. (-> 114) echo 'Jesteś już zapisany.';
Avaddy
O, jak milutko. smile.gif Takie głupie przeoczenie a tyle nerwów zjadłem...z 3 dni próbowałem zmieniać kod odpowiedzialny za sprawdzenie tej wartości z tablicy i za cholerę nie udawało mi się.

Dzięki! smile.gif

To teraz mam większy problem, nad którym siedzę od paru ładnych godzin. tongue.gif

Więc żeby nie paskudzić w tematach, doczepię tutaj.

Chcę, aby po sprawdzeniu, czy zalogowany jest administrator, wyświetlała się lista rozwijana z użytkownikami z bazy 'users'. Po wybraniu któregoś z użytkowników chcę wpisać w formularz wartość "X" tak, aby wklepała się w element ("user_akceptacja") wybranego użytkownika. Niestety mój kod powoduje, że wartość się dodaje, ale wyłącznie dla użytkownika tego, który jest zalogowany. Nie pobiera po prostu danych wybranego użytkownika. Na liście wyświetlają się prawidłowo.

Kod:
  1. db_connect();
  2. check_login();
  3. $user_data = get_user_data();
  4. $user_ranga=$user_data['user_ranga'];
  5. if ($user_ranga != "1")
  6. {
  7. echo ('Brak uprawnień.');
  8. }
  9.  
  10. else
  11. {
  12.  
  13. $link = mysql_connect(localhost, xxx, xxx) or die('Błąd: Nie można połączyć z MySQL!');
  14.  
  15. mysql_select_db(xxx) or die('Błąd: Nie można wybrać bazy danych!');
  16.  
  17. $zapytanie = mysql_query ("SELECT * FROM users ORDER BY user_name ASC");
  18.  
  19. echo '<select name="dane">';
  20.  
  21. echo '<option value="">Wybierz użytkownika</option>';
  22.  
  23. while($option = mysql_fetch_assoc($zapytanie)) {
  24.  
  25. echo '<option value="'.$option['user_name'].'">'.$option['user_name'].'</option>';
  26. }
  27. echo '</select>';
  28.  
  29. if(isset($_POST['user_akceptacja'])) {
  30. $_POST['user_akceptacja'] = clear($_POST['user_akceptacja']);
  31. $result = mysql_query("UPDATE `users` SET `user_akceptacja` = '{$_POST['user_akceptacja']}' WHERE `user_id` = '{$user_data['user_id']}'");
  32. }
  33. echo '<form method="post" action="modulzapisy2.php">
  34. <p>
  35. Akceptacja modułów:<br>
  36. <input type="text" value="'.$_POST['user_akceptacja'].'" name="user_akceptacja">
  37. </p>
  38. <p>
  39. <input type="submit" value="Wprowadź">
  40. </p>
  41. </form>';
  42.  
  43. }
  44.  
  45. ?>


Dlaczego nie zmienia wartości user_akceptacja dla wybranego z listy usera, tylko dla aktualnie zalogowanego administratora?
untorched
Cytat(Avaddy @ 31.01.2015, 03:13:20 ) *
Dlaczego nie zmienia wartości user_akceptacja dla wybranego z listy usera, tylko dla aktualnie zalogowanego administratora?


Ponieważ twoje zapytanie UPDATE jest wykonywane dla aktualnie zalogowanego użytkownika(WHERE `user_id` = '{$user_data['user_id']}') a nie dla użytkownika z formularza(którego nazwa użytkownika jest w $_POST).
Avaddy
Okej, doszedłem do tego, dziękuję raz jeszcze! smile.gif

Dodatkowo <select> były poza formularzem, przeniosłem je do niego.
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.