![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 5.07.2012 Ostrzeżenie: (0%) ![]() ![]() |
Uporałem się z poprzednim problemem, zaczął się drugi niestety :/
Jak zrobić, aby sprawdzało mi jakoś czy dany rekord istnieje? Chodzi mi o to, że użytkownik wpisuje jakieś dane i jeśli byłyby w bazie to pojawia się jakiś napis (z napisem sobie poradzę (IMG:style_emoticons/default/biggrin.gif) ). Czy da się coś takiego zrobić? Nie mam zupełnie pomysłu co i jak. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 121 Pomógł: 22 Dołączył: 22.06.2012 Ostrzeżenie: (0%) ![]() ![]() |
Ja sprawdzam czy wykona się zapytanie.
Ten post edytował Shido 5.07.2012, 12:57:43 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 5.07.2012 Ostrzeżenie: (0%) ![]() ![]() |
Udało mi się samemu wykombinować:
Tylko tutaj problem, bo w else chciałbym zrobić tak, aby użytkownikowi dodało np. ID + 1. Tylko w jaki sposób sprawić, aby moja strona wiedziała któremu użytkownikowi dodać +1? Próbowałem tak, ale nie działa
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Wywoływanie zapytania tylko po to, żeby sprawdzić czy rekord istnieje to bardzo zły pomysł. Poczytaj o tym count(1).
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 5.07.2012 Ostrzeżenie: (0%) ![]() ![]() |
Możliwe, że zły. Jednak narazie wystarczy mi takie, żeby było. Później gdy będe miał czas na poprawki to pozmieniam, żeby było lepiej. Narazie szczerze mówiąc umiem tylko w ten sposób, który ja napisałem. Czy da się moim sposobem zrobić tak, żeby to działało?
if(!empty($_POST['email']) && !empty($_POST['nick'])){ $jest = mysql_fetch_array(mysql_query("select * from tabela where (nick) ='".($_POST['nick'])."' and email ='".($_POST['email'])."' limit 1")); if(empty($jest)){ $error[1] = "Podales bledny kod"; } else { mysql_query("UPDATE users SET user=‘ziemniaki’ WHERE id<2"); } } Gdy dodam or die to wywala błąd unexpected ';'. Co jest źle w tym? Ten post edytował youngen 5.07.2012, 14:01:04 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 821 Pomógł: 111 Dołączył: 11.09.2006 Skąd: Biała Podlaska Ostrzeżenie: (0%) ![]() ![]() |
Twój sposób jest tragiczny.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 5.07.2012 Ostrzeżenie: (0%) ![]() ![]() |
Rysh, dzięki że chcesz mi pomóc, ale zauważ że akurat to co ty podałeś to mi działa. Na innym sposobie, ale działa. Nie działa mi tylko ta linijka:
cały kod wygląda tak:
Ten post edytował youngen 6.07.2012, 08:24:10 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 479 Pomógł: 97 Dołączył: 6.09.2011 Skąd: php.net :) Ostrzeżenie: (0%) ![]() ![]() |
Sprawdź:
Kod `points`=`points`+1 lub Kod points=points+1
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 5.07.2012 Ostrzeżenie: (0%) ![]() ![]() |
No, udało mi się już (IMG:style_emoticons/default/biggrin.gif)
Dałem: i śmiga (IMG:style_emoticons/default/smile.gif) Edit: za wcześnie się ucieszyłem. Niby jest wszystko ok, ale ja muszę w user= mieć zmienną $User. Niestety wtedy wywala błąd: Parse error: syntax error, unexpected T_STRING on line 7 Ten post edytował youngen 6.07.2012, 09:19:26 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 459 Pomógł: 26 Dołączył: 1.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Podaj 7 linie.
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 5.07.2012 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 5 Dołączył: 18.06.2012 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 5.07.2012 Ostrzeżenie: (0%) ![]() ![]() |
Ech... No tak.
Teraz nie wywala żadnego błędu, ale co z tego gdy pointsów nie dodaje :/ Wcześniej gdy nie miałem zmiennej to działało, ze zmienną która jest mi bardzo potrzebna nie działa :/
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 915 Pomógł: 210 Dołączył: 8.09.2009 Skąd: Tomaszów Lubelski/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 5.07.2012 Ostrzeżenie: (0%) ![]() ![]() |
Czyli mam złą zmienną, bo wyskakuje UPDATE users SET points=points+1 WHERE nick=``
Bardzo ciekawy sposób mi podałeś (IMG:style_emoticons/default/biggrin.gif) Tylko dlaczego ta zmienna nie działa? |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 915 Pomógł: 210 Dołączył: 8.09.2009 Skąd: Tomaszów Lubelski/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
W linii 6 przypisujesz do zmiennej $User wartość z tablicy asocjacyjnej $User (klucz 'user'). Co to właściwie jest ta tablica $User? Gdzie definiujesz tą zmienną? W laczeniebazy.php?
|
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 5.07.2012 Ostrzeżenie: (0%) ![]() ![]() |
W łączeniu bazy mam:
Zresztą kombinowałem też tak, żeby dać to w pliku, a nie w łaczeniebazy.php, ale też nie działa. na wszystkie sposoby próbowałem i nic :/ Gdy $User = fgracz($_SESSION['user']); mam w pliku, w ktorym teraz "pracuję" to zamiast pustego '' mam 'array' Gdy dam echo to normalnie wyświetla mi się nick, więc myślę że to jest dobre. Ten post edytował youngen 6.07.2012, 11:09:50 |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 915 Pomógł: 210 Dołączył: 8.09.2009 Skąd: Tomaszów Lubelski/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
W pliku laczeniebazy.php odwołujesz się do sesji. Masz tam session_start()? Masz w pliku w którym wkleiłeś, jednak jest to już po fakcie odwołania się. Po require('laczeniebazy.php') wstaw var_dump($User);exit; i zobacz co tak naprawdę zmienna $User zawiera. Poza tym, nie wiemy co zwraca funkcja fgracz().
|
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 5.07.2012 Ostrzeżenie: (0%) ![]() ![]() |
Hah... Jest null. O co biega z tym mysqlem to ja nie wiem...
Dałem teraz: if(empty($User['nick'])) header('location: wyloguj.php'); żeby sprawdzić czy jestem zalogowany i okazało się, że nie... No dobra, to zrobiłem to na innej podstronie, tzn. przekopiowałem to co teraz napisałem i wrzuciłem na tamtą podstronkę. I co się okazało? Gdy kliknę, aby dodało pointsa to mnie wylogowywuje. To jest dziwne... |
|
|
![]()
Post
#21
|
|
Grupa: Zarejestrowani Postów: 915 Pomógł: 210 Dołączył: 8.09.2009 Skąd: Tomaszów Lubelski/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
To nie wina mysql, ale złego projektu. Prawdopodobnie gubisz gdzieś sesję, albo w ogóle coś przekombinowałeś (IMG:style_emoticons/default/smile.gif) Wszystkie wskazówki, które mogłem Ci udzielić już udzieliłem, więc proponuję przeczytać http://pl.wikibooks.org/wiki/PHP/Sesje
|
|
|
![]()
Post
#22
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 5.07.2012 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki, że mi pomogłeś, bo tak to bym pewnie tydzień się z tym bawił i nic by z tego nie było.
Wpadłem na inny pomysł, że użytkownik podaje swoje ID i przesyła point leci do tego ID. Nie wiem za bardzo jak to zrobić (no jak zwykle).
Co wpisać zamiast pytajników w pierwszej linijce? I czy ma szanse to działać? |
|
|
![]()
Post
#23
|
|
Grupa: Zarejestrowani Postów: 821 Pomógł: 111 Dołączył: 11.09.2006 Skąd: Biała Podlaska Ostrzeżenie: (0%) ![]() ![]() |
Twój kod jest tak durny, że aż głupi.
Przykład:
Wytłumacz proszę nam co robi //1 i //2. Kiedy wykona się if, a kiedy nie. |
|
|
![]()
Post
#24
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 5.07.2012 Ostrzeżenie: (0%) ![]() ![]() |
1// wysyła zapytanie do bazy
2// pokazuje błąd jeśli wprowadzono zły kod A to, że mój kod jest durny to wiem (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#25
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Skoro ma podawać swoje ID to może?
Sposób w jaki realizujesz zapytania:
nie wystarczy SELECT COUNT? skoro chcesz tylko sprawdzić czy taki rekord istnieje? W ten sposób zwróci wartość 0 lub 1 zamiast całej listy pól. No i od razu przetwarzasz wyniki zapytania, a co jeśli się nie wykona? Nie sprawdzasz w ogóle błędów, w takim wypadku użytkownikowi wyskoczy cała lista errorów. |
|
|
![]()
Post
#26
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 5.07.2012 Ostrzeżenie: (0%) ![]() ![]() |
Szczerze mówiąc to nie wiem za bardzo na jakiej zasadzie count mogłoby mi zadziałać. Wiem, jestem ciemny, ale cóż.
Najpierw chcę napisać, że to nie jest tak, że ja tylko czekam na wasze odpowiedzi i nic nie próbuję sam. Udało mi się jakoś poprawić te sesje, że mnie nie wylogowywuje za każdym razem. Prawie cały dzień próbuję coś wykombinować i nic :/ Największym problemem jest chyba deklaracja zmiennej w MySQL, czyli albo źle deklaruję zmienną albo mysql ją źle czyta (IMG:style_emoticons/default/tongue.gif) . Dobra, w każdym razie: -> to działa dobrze -> to działa źle, nie widzi nic w tej zmiennej. Tylko kurde czemu? Z tego co widzę to w mysql nie można dać zwyczajnie $User['nick'], więc na początek kodu dodałem: $User = $User['nick']. Niby działa, ale zmiennej nie widzi. B4rt3kk - twój sposób też niestety nie działą :/ Ten post edytował youngen 6.07.2012, 16:43:53 |
|
|
![]()
Post
#27
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Twoja zmienna $User to tablica, nie możesz w ten sposób porównywać stringa z tablicą. Przypisz inną zmienną.
Tak powinno wyglądać zapytanie, nie zapominaj o apostrofach! Ten post edytował b4rt3kk 6.07.2012, 17:17:02 |
|
|
![]()
Post
#28
|
|
Grupa: Zarejestrowani Postów: 821 Pomógł: 111 Dołączył: 11.09.2006 Skąd: Biała Podlaska Ostrzeżenie: (0%) ![]() ![]() |
1// wysyła zapytanie do bazy 2// pokazuje błąd jeśli wprowadzono zły kod A to, że mój kod jest durny to wiem (IMG:style_emoticons/default/smile.gif) A ja tam widzę: //1 - przypisuje wartość do zmiennej //2 - wykonuje się jeśli puste (a nigdy nie jest puste, bo zawsze przypisujesz do zmiennej!) |
|
|
![]()
Post
#29
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 26.09.2025 - 16:58 |