Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL] Porównanie zmiennych
Bociek1989
post
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 29.12.2008

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


Witam, jak porównać dane ze zmiennych z bazą mysql?

W adresie otrzymuje zmienne $login i $actkey, tabela wyglada tak:

usid | login | pass | actkey | inne tam..

Chodzi o to aby skrypt sprawdził czy $actkey pasuje to &login, ma to być skrypt uaktywniajacy konto po kliknieciu w link.

Jednak moja znajomośc php jest taka a nie inna i coś nie moge wymyśleć nic fajnego..
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 15)
luniak
post
Post #2





Grupa: Zarejestrowani
Postów: 171
Pomógł: 36
Dołączył: 12.01.2008
Skąd: Puszcza Mariańska

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


  1. <?php
  2. if(@mysql_result(mysql_query("SELECT COUNT(id) FROM tabela WHERE `login` = '$login' AND `actkey` = '$actkey'"), 0)==1)
  3.   {
  4. // tu dajesz co  am zrobić jeżeli jest ok
  5. }
  6.  
  7. ?>


Ten post edytował luniak 24.01.2009, 14:43:04


--------------------
Jeżeli ktoś na forum Ci pomógł, możesz mu podziękować klikając w opcje "Pomógł" pod jego postem!
--------------------

Go to the top of the page
+Quote Post
MateuszS
post
Post #3





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

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


  1. <?
  2.  
  3. $zapytanie = mysql_query("SELET login,actkey FROM `nazwa_tabeli`");
  4.  
  5. $wynik = mysql_fetch_array($zapytanie);
  6.  
  7. if( $kodaktywuj == $wynik['actkey'] ) {
  8. echo 'Aktywowałeś konto'; } else {
  9. echo 'Coś nie tak'; }
  10.  
  11. ?>


O to chodziło? Wcześniej musi być zdefiniowany kod aktywujący dla użytkownika a potem dodanie wpisu o akt. konta.

Ten post edytował MateuszScirka 24.01.2009, 14:42:25


--------------------
O! Zimniok :P
Go to the top of the page
+Quote Post
Bociek1989
post
Post #4





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 29.12.2008

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


Zaraz ogarniemy czy zadziała, podstawa to to że mnie nakierowaliście bo ja jestem zero z baz mysql.. winksmiley.jpg

Dzięki wielkie!

Coś nie tak..

  1. <?php
  2. if( isset($_REQUEST['login']) and isset($_REQUEST['actkey']) )
  3. {
  4. $name=$_GET['login'];
  5. $actkey=$_GET['actkey'];
  6.  
  7. $zapytanie = mysql_query("SELECT username,usractkey FROM `users`");
  8.  
  9. $wynik = mysql_fetch_array($zapytanie);
  10.  
  11. if( $actkey == $wynik['usractkey'] ) {
  12. echo 'Aktywowałeś konto'; } else {
  13. echo 'Coś nie tak'; }
  14.  
  15. echo $name;
  16. echo $actkey;
  17. echo $wynik;
  18.  
  19. }
  20. ?>


Wywala mi "Coœ nie takbociek1232805626Array"

I o co chodzi? wstydnis.gif
Go to the top of the page
+Quote Post
MateuszS
post
Post #5





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

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


1. Nawiązałeś połączenie z bazą?
2. Nie zamknąłeś znacznika "}" po pierwszym "if"


--------------------
O! Zimniok :P
Go to the top of the page
+Quote Post
Bociek1989
post
Post #6





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 29.12.2008

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


Połączenie było, znacznik zamknięty ale nadal zmienna $wynik ma wartość Array..
Go to the top of the page
+Quote Post
luniak
post
Post #7





Grupa: Zarejestrowani
Postów: 171
Pomógł: 36
Dołączył: 12.01.2008
Skąd: Puszcza Mariańska

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


bo wynik jest tablicą

z takimi polami
  1. <?php
  2. $wynik['usractkey']
  3. $wynik['usractname']
  4. ?>


--------------------
Jeżeli ktoś na forum Ci pomógł, możesz mu podziękować klikając w opcje "Pomógł" pod jego postem!
--------------------

Go to the top of the page
+Quote Post
Bociek1989
post
Post #8





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 29.12.2008

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


Dodam, ze

  1. SELECT username,usractkey FROM `users`


W phpmyadmin'ie wyświetla poprawną tabele wyników więc zapytanie jest dobre, połączenie jest, zmienne z adresu dobrze przechwytuje.. grr.. :]

Cytat(luniak @ 24.01.2009, 16:09:39 ) *
bo wynik jest tablicą


Heh nie pomyślałem, ale tak czy inaczej czemu nie działa? Na moje amatorskie oko powinno
Go to the top of the page
+Quote Post
luniak
post
Post #9





Grupa: Zarejestrowani
Postów: 171
Pomógł: 36
Dołączył: 12.01.2008
Skąd: Puszcza Mariańska

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


ale co konkretnei ci nie dziala?

wywołanie
  1. <?php
  2. echo $wynik;
  3. ?>


spowoduje wyświetlenie info że $wynik to tablica :/

ale chyba wiem gdzie jest problem:

  1. <?php
  2. $zapytanie = mysql_query("SELECT username,usractkey FROM `users`");
  3. ?>


powoduje wybranie WSZYSTKICH rekordów z danej tabeli z bazy

zmien ten kod na to:

  1. <?php
  2. $zapytanie = mysql_query("SELECT username,usractkey FROM `users` WHERE `username` = '$name'");
  3. ?>


--------------------
Jeżeli ktoś na forum Ci pomógł, możesz mu podziękować klikając w opcje "Pomógł" pod jego postem!
--------------------

Go to the top of the page
+Quote Post
Bociek1989
post
Post #10





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 29.12.2008

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


Nooo właśniiiee... Już jest ok, dzięki wielkie i wybaczcie za zamieszanie winksmiley.jpg

Chodziło o to piekielne zapytanie

Ten post edytował Bociek1989 24.01.2009, 16:21:32
Go to the top of the page
+Quote Post
luniak
post
Post #11





Grupa: Zarejestrowani
Postów: 171
Pomógł: 36
Dołączył: 12.01.2008
Skąd: Puszcza Mariańska

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


nie ma za co tongue.gif polecam sie na przyszłość winksmiley.jpg


--------------------
Jeżeli ktoś na forum Ci pomógł, możesz mu podziękować klikając w opcje "Pomógł" pod jego postem!
--------------------

Go to the top of the page
+Quote Post
Bociek1989
post
Post #12





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 29.12.2008

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


I znowu coś nie tak, nie wiem co wzielo takiego nieuka jak ja na programowanie biggrin.gif


  1. <?php
  2. $zapytanie="SELECT usract FROM `tabela` WHERE usrnam='$username'";
  3. $idzapytania=mysql_query($zapytanie);
  4.    
  5. if($idzapytania==1)
  6. {
  7. echo 'logowanie';
  8. }
  9. else
  10. {
  11. echo 'nieaktywne konto';
  12. echo $username;
  13. echo $idzapytania;
  14. }
  15. ?>


Wyświetla mi: nieaktywne kontouserResource id #7 sciana.gif
Go to the top of the page
+Quote Post
piaseq
post
Post #13





Grupa: Zarejestrowani
Postów: 161
Pomógł: 25
Dołączył: 6.09.2008
Skąd: Warszawa

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


Myślę, że powinieneś zacząć od kursu php, mysql i manuala. Poczytaj jak działają funkcje, których używasz i co zwracają. W manualu znajdziesz proste przykłady jak korzystać z tych funkcji. Zadając co chwila kolejne pytanie i nie wyciągając wniosków z poprzednich odpowiedzi nieczego się nie nauczysz.
Go to the top of the page
+Quote Post
luniak
post
Post #14





Grupa: Zarejestrowani
Postów: 171
Pomógł: 36
Dołączył: 12.01.2008
Skąd: Puszcza Mariańska

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


Powinno być tak

  1. <?php
  2. $zapytanie="SELECT usract FROM `tabela` WHERE usrnam='$username'";
  3. $idzapytania=mysql_query($zapytanie);
  4.  
  5. $dane = mysql_fetch_assoc($idzapytania);  
  6.  
  7. if($dane[usract]==1)
  8. {
  9. echo 'logowanie';
  10. }
  11. ?>


Musi być tak dlatego ze samo mysql_query() wywyoluje tylko zapytanie do bazy a nie zwraca danych pobranych


--------------------
Jeżeli ktoś na forum Ci pomógł, możesz mu podziękować klikając w opcje "Pomógł" pod jego postem!
--------------------

Go to the top of the page
+Quote Post
Bociek1989
post
Post #15





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 29.12.2008

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


Aha.. Dzięki ^^'
Ja sie nie ucze php i reszty, bo to mi kompletnie nie potrzebnie a nie mam aktualnie dużo czasu.. Takie "pisanie" to stara pasja - kiedyś coś umiałem i mnie teraz naszło.
Tak więc piaseq dzięki za radę, ale nie skorzystam... Wbrew pozorom staram się sam rozwiązywać problemy i wyciągać wnoski. smile.gif

luniak dzięki za radę i proste wytłumaczenie winksmiley.jpg

Ale skoro jest tak jak mówisz, to cholere istnieje takie coś jak wysyłanie zapytania bez zwracania danych?
Go to the top of the page
+Quote Post
erix
post
Post #16





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
to cholere istnieje takie coś jak wysyłanie zapytania bez zwracania danych?

mysql_unbuffered_query" title="Zobacz w manualu PHP" target="_manual.


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

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
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 Aktualny czas: 20.08.2025 - 11:58