Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Closed TopicStart new topic
> select w zależności od hasła
Pcbecaw
post 13.06.2011, 09:39:25
Post #1





Grupa: Zarejestrowani
Postów: 236
Pomógł: 0
Dołączył: 4.06.2011

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


Cześć, jak zrobić, żeby select "Where kolumna=HASŁO" było automatycznie zmieniane w zależności od tego w jaki link kliknę? Dajmy na to, że klikam w link o nazwie "jeden", to automatycznei select zmienia się z HASŁO na "jeden".
Go to the top of the page
+Quote Post
Hpsi
post 13.06.2011, 09:42:27
Post #2





Grupa: Zarejestrowani
Postów: 483
Pomógł: 50
Dołączył: 15.03.2005
Skąd: Poznań

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


jeśli znasz podstawy php'a to nie powinno być do Ciebie problem.
  1. $query= 'select * from kolumna where haslo="'.$_GET['haslo'].'"';

i w linku zrobić index.php?haslo=klucz


--------------------
Daiquiri: T1 = (dx/dt * s)^hpsi
Daiquiri: gdzie T1 - Twój czas przybycia na miejsce, dx/dt - prędkość, s droga
Daiquiri: brb trzeba by to poprawić T1 - Czas jaki Ci to zajmie
Daiquiri: Zatem T - czas dotarcia p T1 + T2 gdzie T2 = aktualny czas

===
po prostu kocham ją :D haha
Go to the top of the page
+Quote Post
Pcbecaw
post 13.06.2011, 09:43:51
Post #3





Grupa: Zarejestrowani
Postów: 236
Pomógł: 0
Dołączył: 4.06.2011

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


index.php?haslo=haslo ?
Dzieki za pomoc smile.gif
Go to the top of the page
+Quote Post
drPayton
post 13.06.2011, 09:44:24
Post #4





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


Hpsi+
Jak już komuś coś tłumaczysz, to rób to tak, żeby nie uczyć złych nawyków. Może by tak jakies filtrowanie, co? ;>
Go to the top of the page
+Quote Post
wookieb
post 13.06.2011, 09:45:54
Post #5





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Cytat(drPayton @ 13.06.2011, 10:44:24 ) *
Hpsi+
Jak już komuś coś tłumaczysz, to rób to tak, żeby nie uczyć złych nawyków. Może by tak jakies filtrowanie, co? ;>

Samo zadanie tak banalengo pytania na forum jest złym nawykiem.


--------------------
Go to the top of the page
+Quote Post
Hpsi
post 13.06.2011, 09:48:27
Post #6





Grupa: Zarejestrowani
Postów: 483
Pomógł: 50
Dołączył: 15.03.2005
Skąd: Poznań

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


@drPayton, w sumie fakt 100% racji , przepraszam za to więc drogi kolego wyżej przefiltruj dane np tak:
  1. $query= 'select * from kolumna where haslo="'.htmlspecialchars(strip_tags(addslashes(trim($_POST['haslo'])))).'"';


@wookieb - zgodzę się, ale co nie zminia faktu iż mój bład w nauczaniu złych nawyków w programowaniu smile.gif

Ten post edytował Hpsi+ 13.06.2011, 09:49:25


--------------------
Daiquiri: T1 = (dx/dt * s)^hpsi
Daiquiri: gdzie T1 - Twój czas przybycia na miejsce, dx/dt - prędkość, s droga
Daiquiri: brb trzeba by to poprawić T1 - Czas jaki Ci to zajmie
Daiquiri: Zatem T - czas dotarcia p T1 + T2 gdzie T2 = aktualny czas

===
po prostu kocham ją :D haha
Go to the top of the page
+Quote Post
tehaha
post 13.06.2011, 09:54:37
Post #7





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


@Hpsi+ świadomie zrobiłeś to filtrowanie czy nawrzucałeś wszystko co się dało, żeby wyglądało profesjonalnie?
Go to the top of the page
+Quote Post
Hpsi
post 13.06.2011, 09:58:42
Post #8





Grupa: Zarejestrowani
Postów: 483
Pomógł: 50
Dołączył: 15.03.2005
Skąd: Poznań

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


@tehaha - wrzucone, tj skopiowane z jednej rzeczy ktora pisze teraz, po prostu ja przewaznie nie przejmuje sie już filtrowaniem w pisaniu zapytań, gdyż w sterowniku do bazy danych (nakladka na pdo) całe filtrowanie mam autmatycznie.


--------------------
Daiquiri: T1 = (dx/dt * s)^hpsi
Daiquiri: gdzie T1 - Twój czas przybycia na miejsce, dx/dt - prędkość, s droga
Daiquiri: brb trzeba by to poprawić T1 - Czas jaki Ci to zajmie
Daiquiri: Zatem T - czas dotarcia p T1 + T2 gdzie T2 = aktualny czas

===
po prostu kocham ją :D haha
Go to the top of the page
+Quote Post
Pcbecaw
post 13.06.2011, 10:01:15
Post #9





Grupa: Zarejestrowani
Postów: 236
Pomógł: 0
Dołączył: 4.06.2011

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


To jak powinno być zrobione to filtrowanie?
+ teraz jak w linku wpisze np. index.php?=KLUCZ, to zmienna "hasło" zamieni się w KLUCZ (wziętą z kolumny "haslo")? Dobrze to rozumiem? i będzie to wtedy zwykły selec where haslo=KLUCZ ?
Go to the top of the page
+Quote Post
Hpsi
post 13.06.2011, 10:02:43
Post #10





Grupa: Zarejestrowani
Postów: 483
Pomógł: 50
Dołączył: 15.03.2005
Skąd: Poznań

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


Cytat(Pcbecaw @ 13.06.2011, 10:01:15 ) *
To jak powinno być zrobione to filtrowanie?
+ teraz jak w linku wpisze np. index.php?=KLUCZ, to zmienna "hasło" zamieni się w KLUCZ (wziętą z kolumny "haslo")? Dobrze to rozumiem? i będzie to wtedy zwykły selec where haslo=KLUCZ ?

Kolego jeśli tego nawet nie rozumiesz zapraszam do przestudiowania: http://pl.php.net/manual/en/reserved.variables.get.php
Tfu i sorry wyżej zrobiłem błąd nie $_POST, tylko $_GET

Ten post edytował Hpsi+ 13.06.2011, 10:04:10


--------------------
Daiquiri: T1 = (dx/dt * s)^hpsi
Daiquiri: gdzie T1 - Twój czas przybycia na miejsce, dx/dt - prędkość, s droga
Daiquiri: brb trzeba by to poprawić T1 - Czas jaki Ci to zajmie
Daiquiri: Zatem T - czas dotarcia p T1 + T2 gdzie T2 = aktualny czas

===
po prostu kocham ją :D haha
Go to the top of the page
+Quote Post
tehaha
post 13.06.2011, 10:05:48
Post #11





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


aha czyli pchasz co się da z nadzieją, że będzie dobrze, ale czasem warto się zastanowić nad logicznym sensem:
1. najpierw dajesz strip_tags() a potem htmlspecialchars() - kompletnie bez sensu
2. do zabezpieczenia używa się mysql_real_escape_string() a nie addslashes() http://shiflett.org/blog/2006/jan/addslash...l-escape-string
Go to the top of the page
+Quote Post
Hpsi
post 13.06.2011, 10:07:51
Post #12





Grupa: Zarejestrowani
Postów: 483
Pomógł: 50
Dołączył: 15.03.2005
Skąd: Poznań

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


@tehaha Dzięki za uwagę, mój bład :] , dzięki również za linka przestudiuje to smile.gif


--------------------
Daiquiri: T1 = (dx/dt * s)^hpsi
Daiquiri: gdzie T1 - Twój czas przybycia na miejsce, dx/dt - prędkość, s droga
Daiquiri: brb trzeba by to poprawić T1 - Czas jaki Ci to zajmie
Daiquiri: Zatem T - czas dotarcia p T1 + T2 gdzie T2 = aktualny czas

===
po prostu kocham ją :D haha
Go to the top of the page
+Quote Post
Pcbecaw
post 13.06.2011, 13:12:02
Post #13





Grupa: Zarejestrowani
Postów: 236
Pomógł: 0
Dołączył: 4.06.2011

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


Męcze się i dalej nic...
Tak działa (zwyczajny keywords):
  1. <?php
  2. /*
  3.   Place code to connect to your DB here.
  4.   */
  5.  
  6. $dbhost = "localhost";
  7. $dbuser = "root";
  8. $dbpass = "";
  9. $dbname = "smf";
  10.  
  11. $conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ("Error connecting to database");
  12. mysql_select_db($dbname);
  13. $sql = "SET CHARSET utf8";
  14. $zapytanie= 'select * from hipnoza where keywords="jeden"';
  15. $idzapytania = mysql_query($zapytanie);
  16. echo '<table>';
  17. while ($wiersz = mysql_fetch_row($idzapytania))
  18. {
  19. echo '<tr><td>'. $wiersz[0] .'</td><td>'. $wiersz[1] .'</td><td>'. $wiersz[2] .'</td><td>'. $wiersz[3] .'</td><td>'. $wiersz[4] .'</td><td>'. $wiersz[5] .'</td></tr>';
  20. }
  21. echo '<table>';
  22. ?>

A tak nie działa (tak jak powinno być):
  1. <?php
  2. /*
  3.   Place code to connect to your DB here.
  4.   */
  5.  
  6. $dbhost = "localhost";
  7. $dbuser = "root";
  8. $dbpass = "";
  9. $dbname = "smf";
  10.  
  11. $conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ("Error connecting to database");
  12. mysql_select_db($dbname);
  13. $sql = "SET CHARSET utf8";
  14. $zapytanie= 'select * from hipnoza where keywords="'.htmlspecialchars(addslashes(trim($_GET['haslo']))).'"';
  15. $idzapytania = mysql_query($zapytanie);
  16. echo '<table>';
  17. while ($wiersz = mysql_fetch_row($idzapytania))
  18. {
  19. echo '<tr><td>'. $wiersz[0] .'</td><td>'. $wiersz[1] .'</td><td>'. $wiersz[2] .'</td><td>'. $wiersz[3] .'</td><td>'. $wiersz[4] .'</td><td>'. $wiersz[5] .'</td></tr>';
  20. }
  21. echo '<table>';
  22. ?>

Gdzie tkwi błąd?
Go to the top of the page
+Quote Post
drPayton
post 13.06.2011, 13:16:07
Post #14





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


A masz zmienną "haslo" określoną w linku? Po stronie html'a? Czy też zakładasz, że skrypt będzie w myślach czytał? A może my mamy to robić, skoro nie pokazałeś jak wygląda link? ;>
Go to the top of the page
+Quote Post
Pcbecaw
post 13.06.2011, 13:20:08
Post #15





Grupa: Zarejestrowani
Postów: 236
Pomógł: 0
Dołączył: 4.06.2011

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


Zmienną w linku? link nie powinien wyglądać: index.php?=jeden ?
(w keywords dodałem rekord z "jeden" w tej kolumnie). Jak ten link powinien wygląać? Nie do końca to rozumiem...
Go to the top of the page
+Quote Post
drPayton
post 13.06.2011, 13:21:41
Post #16





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


A spójrz do pierwszego postu @Hpsi+, który sam zaplusowałeś ;>

Skąd wg Ciebie, php miałby wiedzieć, że zmienna o wartości "jeden" nazywa się "haslo"?

Ten post edytował drPayton 13.06.2011, 13:22:28
Go to the top of the page
+Quote Post
Pcbecaw
post 13.06.2011, 13:23:25
Post #17





Grupa: Zarejestrowani
Postów: 236
Pomógł: 0
Dołączył: 4.06.2011

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


Bez komentarza dla mnie... wstydnis.gif
Dzięki za pomoc
Go to the top of the page
+Quote Post
wookieb
post 13.06.2011, 13:25:18
Post #18





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




My również dziękujemy za nieuszanowanie nas przez twoje braki edukacyjne. Zamykam.


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

Closed 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: 6.06.2024 - 07:07