Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [HTML][MySQL][PHP]formularz mysql php
daniel2k
post 13.02.2018, 23:30:36
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 13.02.2018

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


Hej, jak mogę zrobić takie coś, ze w bazie danych uzytkownicy jest uzystkownik Darek i posiada on w kolumnie ilość liczbę 4 i on tylko 4 razy może użyć formularza.
Skrypt sprawdzający przy wysyłce ile dany użytkownik ma już prób w kolumnie np. ilość: 3 to jak wysyła formularz to robi -1 i sprawdza też ile jest, jak będzie 0 to nie zapisuje i wywala informację.
Go to the top of the page
+Quote Post
Beniooo
post 14.02.2018, 10:44:11
Post #2





Grupa: Zarejestrowani
Postów: 260
Pomógł: 26
Dołączył: 26.01.2012
Skąd: Ci to przyszło do głowy?

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


  1. $ilosc_prob = POBRANA Z BAZY ILOSC;
  2. if($ilosc_prob == 0){
  3. //wyświetl info, że nie może użyć formularza
  4. }else{
  5. //wyświetl formularz
  6. }

Z bazy pobierasz połączeniem PDO, albo mysqli za pomocą SELECT


--------------------
Mój post rozwiązał Twój problem? Naciśnij co Ci szkodzi? ;-)
Go to the top of the page
+Quote Post
daniel2k
post 14.02.2018, 15:26:01
Post #3





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 13.02.2018

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


Cytat(Beniooo @ 14.02.2018, 10:44:11 ) *
  1. $ilosc_prob = POBRANA Z BAZY ILOSC;
  2. if($ilosc_prob == 0){
  3. //wyświetl info, że nie może użyć formularza
  4. }else{
  5. //wyświetl formularz
  6. }

Z bazy pobierasz połączeniem PDO, albo mysqli za pomocą SELECT

Bardzo Ci dziękuję za to, ostatnia rzecz... jak mogę zrobić tak żeby za każdym wysłaniem formularza odejmowało -1? :/
Go to the top of the page
+Quote Post
nospor
post 14.02.2018, 15:44:28
Post #4





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




UPDATE tabela SET pole = pole -1 WHERE user=jakiesid czy inne id po czym indentyfikujesz uzytkownika


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
daniel2k
post 15.02.2018, 01:26:40
Post #5





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 13.02.2018

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


Cytat(nospor @ 14.02.2018, 15:44:28 ) *
UPDATE tabela SET pole = pole -1 WHERE user=jakiesid czy inne id po czym indentyfikujesz uzytkownika


Nie wiem dlaczego kompletnie nic nie działa, wywala całą stronę... coś jest nie tak w tym kodzie?


  1. $polaczenie = mysql_connect('localhost', 'root', '123', 'qqq');
  2. $ilosc_prob = mysql_query("SELECT pozostale FROM uzytkownicy WHERE id='.$_SESSION['id']'");
  3. if($ilosc_prob == 0){
  4. echo "Nie możesz"
  5. }else{
  6. echo "możesz"
  7. }


Kazdy uzytkownik ma unikalne ID generowane przy rejestracji, dlatego użyłem .$_SESSION['id']
pozostale - kolumna odpowiedzialna za ilosc prob

Ten post edytował daniel2k 15.02.2018, 01:53:05
Go to the top of the page
+Quote Post
topcio
post 15.02.2018, 02:42:41
Post #6





Grupa: Zarejestrowani
Postów: 140
Pomógł: 0
Dołączył: 14.01.2017

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


Wpisz tak
  1. '{$_SESSION['id']}'
Go to the top of the page
+Quote Post
daniel2k
post 15.02.2018, 03:47:31
Post #7





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 13.02.2018

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


Cytat(topcio @ 15.02.2018, 02:42:41 ) *
Wpisz tak
  1. '{$_SESSION['id']}'


Nadal wywala sad.gif Oczywiscie całość daje w

<?php

kod

?>
Go to the top of the page
+Quote Post
viking
post 15.02.2018, 06:52:41
Post #8





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


Id nie jest stringiem. Poza tym używasz rozszerzenia mysql które wylecialo z php7.


--------------------
Go to the top of the page
+Quote Post
daniel2k
post 15.02.2018, 07:33:59
Post #9





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 13.02.2018

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


Cytat(viking @ 15.02.2018, 06:52:41 ) *
Id nie jest stringiem. Poza tym używasz rozszerzenia mysql które wylecialo z php7.

Czyli co muszę zrobić aby całość działała? Co zmienić.

  1. <?php
  2. $polaczenie = @new mysqli('localhost', 'root', '123', 'qqq');
  3. if (mysqli_connect_errno() != 0){
  4. echo '<p>Wystąpił błąd połączenia: ' . mysqli_connect_error() . '</p>';
  5. }
  6. else {
  7. $ilosc_prob = @$polaczenie -> query("SELECT kamien FROM uzytkownicy WHERE user = '{$_SESSION['user']}'");
  8. if($ilosc_prob == 0){
  9. echo "Nie możesz";
  10. }else{
  11. echo "możesz";
  12. }
  13. }
  14. ?>


Ten post edytował daniel2k 15.02.2018, 09:36:41
Go to the top of the page
+Quote Post
viking
post 15.02.2018, 09:46:29
Post #10





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


Na początek usuń wszystkie @ z kodu


--------------------
Go to the top of the page
+Quote Post
daniel2k
post 15.02.2018, 09:51:07
Post #11





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 13.02.2018

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


Cytat(viking @ 15.02.2018, 09:46:29 ) *
Na początek usuń wszystkie @ z kodu

  1. <?php
  2. $polaczenie = new mysqli('localhost', 'root', '123', 'qqq');
  3. if (mysqli_connect_errno() != 0){
  4. echo '<p>Wystąpił błąd połączenia: ' . mysqli_connect_error() . '</p>';
  5. }
  6. else {
  7. $ilosc_prob = $polaczenie -> query("SELECT kamien FROM uzytkownicy WHERE user = '{$_SESSION['user']}'");
  8. if($ilosc_prob == 0){
  9. echo "Nie możesz";
  10. }else{
  11. echo "możesz";
  12. }
  13. }
  14. ?>


Zrobiłem to o co prosiłeś, naprawdę nie wiem gdzie leży błąd...

Ten post edytował daniel2k 15.02.2018, 09:51:25
Go to the top of the page
+Quote Post
nospor
post 15.02.2018, 10:04:28
Post #12





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




Czyli co, nadal ten nowy kod wywala ci strone? To moze chociaz napisz na czym polega to wywalanie...


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
daniel2k
post 15.02.2018, 10:10:01
Post #13





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 13.02.2018

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


Cytat(nospor @ 15.02.2018, 10:04:28 ) *
Czyli co, nadal ten nowy kod wywala ci strone? To moze chociaz napisz na czym polega to wywalanie...


Nie, nie, już nie wywala... działa wszystko jeśli chodzi o łączenie, teraz ostatnim problemem jest to, że nie ważne czy w polu kamien (w bazie) wpisze 1 czy 0, tak czy siak wyswietla sie pozwolenie - mozesz.
Go to the top of the page
+Quote Post
nospor
post 15.02.2018, 10:11:21
Post #14





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




Ciezko bylo od razu tak napisac?

Przeciez query teraz zwraca ci zawsze TRUE (czy tam resource) niewazne czy znalazlo rekord czy nie wiec nic dziwnego ze twoj IF ELSE zachowuje sie tak jak sie zachowuje... Doczytaj w manualu jak pobrac rekord a nie wynik wykonania zapytania


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
daniel2k
post 15.02.2018, 10:26:22
Post #15





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 13.02.2018

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


Cytat(nospor @ 15.02.2018, 10:11:21 ) *
Ciezko bylo od razu tak napisac?

Przeciez query teraz zwraca ci zawsze TRUE (czy tam resource) niewazne czy znalazlo rekord czy nie wiec nic dziwnego ze twoj IF ELSE zachowuje sie tak jak sie zachowuje... Doczytaj w manualu jak pobrac rekord a nie wynik wykonania zapytania


Gdzie tym razem jest błąd, przepraszam, że tak pytam o wszystko ale nadal pomimo mysql_result nie działa...

  1. <?php
  2. $polaczenie = new mysqli('localhost', 'root', '123', 'qqq');
  3. if (mysqli_connect_errno() != 0){
  4. echo '<p>Wystąpił błąd połączenia: ' . mysqli_connect_error() . '</p>';
  5. }
  6. else {
  7. $ilosc_prob = mysql_result("SELECT kamien FROM uzytkownicy WHERE user = '{$_SESSION['user']}'");
  8. if($ilosc_prob == 0){
  9. echo "Nie możesz";
  10. }else{
  11. echo "możesz";
  12. }
  13. }
  14. ?>


Ten post edytował daniel2k 15.02.2018, 10:30:15
Go to the top of the page
+Quote Post
nospor
post 15.02.2018, 10:32:06
Post #16





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




MIeszasz styl proceduralny z obiektowym... nie mieszaj. Trzymaj sie obiektowego To raz
A dwa: gdzie ja pisalem ze masz usuwac query() ? TO mialo zostac. Procz tego miales jeszcze odebrac dane


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
daniel2k
post 15.02.2018, 10:44:53
Post #17





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 13.02.2018

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


Cytat(nospor @ 15.02.2018, 10:32:06 ) *
MIeszasz styl proceduralny z obiektowym... nie mieszaj. Trzymaj sie obiektowego To raz
A dwa: gdzie ja pisalem ze masz usuwac query() ? TO mialo zostac. Procz tego miales jeszcze odebrac dane


Poddaje się, to nie jest na moją głowę, pomimo szukania, próbowania i tak nic nie wychodzi.
Nie potrafię znaleźć błędów które mi wskazujesz...

Zrobiłem jeszcze coś takiego... ale nadal w marnych skutkach

  1. <?php
  2.  
  3. if (mysqli_connect_errno() != 0){
  4. echo '<p>Wystąpił błąd połączenia: ' . mysqli_connect_error() . '</p>';
  5. }
  6. else {
  7.  
  8. $query = $polaczenie -> query("SELECT kamien FROM uzytkownicy WHERE user = '{$_SESSION['user']}'");
  9. $ilosc_prob = mysql_result($query,"{$_SESSION['user']}","id");
  10. if($ilosc_prob == 0){
  11. echo "$ilosc_prob";
  12. }
  13. else{
  14. echo "możesz";
  15. }
  16. }
  17. ?>


Ten post edytował daniel2k 15.02.2018, 11:00:34
Go to the top of the page
+Quote Post
nospor
post 15.02.2018, 10:48:44
Post #18





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




O to
$ilosc_prob = $polaczenie -> query("SELECT kamien FROM uzytkownicy WHERE user = '{$_SESSION['user']}'");
mialo zostac. To jest dobrze. TO wykonuje zapytanie. Teraz masz jeszcze odebrac rekord z tego zapytania:
http://php.net/manual/en/mysqli-result.fetch-assoc.php


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
daniel2k
post 15.02.2018, 11:02:16
Post #19





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 13.02.2018

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


Cytat(nospor @ 15.02.2018, 10:48:44 ) *
O to
$ilosc_prob = $polaczenie -> query("SELECT kamien FROM uzytkownicy WHERE user = '{$_SESSION['user']}'");
mialo zostac. To jest dobrze. TO wykonuje zapytanie. Teraz masz jeszcze odebrac rekord z tego zapytania:
http://php.net/manual/en/mysqli-result.fetch-assoc.php


  1. $polaczenie = new mysqli('localhost', 'root', '123', 'qqq');
  2. if (mysqli_connect_errno() != 0){
  3. echo '<p>Wystąpił błąd połączenia: ' . mysqli_connect_error() . '</p>';
  4. }
  5. else {
  6.  
  7. $query = ("SELECT kamien FROM uzytkownicy WHERE user = '{$_SESSION['user']}'");
  8. $result = mysqli_query($query);
  9. if($result == 0){
  10. echo "nie mozesz";
  11. }
  12. else{
  13. echo "możesz";
  14. }
  15. }


Ehh, czuje, ze jestem juz tak blisko...
Go to the top of the page
+Quote Post
viking
post 15.02.2018, 11:06:32
Post #20





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


Ty w ogóle patrzysz na dokumentację? Masz tam pełne przykłady.


--------------------
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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.03.2024 - 11:55