Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [PHP]Edycja danych! Pomocy!
maxil
post 21.02.2009, 00:01:34
Post #1





Grupa: Zarejestrowani
Postów: 212
Pomógł: 11
Dołączył: 8.11.2008
Skąd: Sieradz

Ostrzeżenie: (10%)
X----


Witam, mam problem ze zrobieniem edycji danych do konto tzn.
Mam system logowania opary na sessiach i chciałbym zrobić wyciąganie danych z bazy gdzie login jest równy loginowi na który użytkownik się zalogował czyli $_SESSION['user'] snitch.gif

więc próbowałem tak:

  1. <?php
  2. function edytdane() {
  3. $_SESSION['user'] = $log;
  4. $db = db();
  5. $zapytanie = &#092;"select * from panel_users where user='$log'\";
  6. $wynik = mysql_query($zapytanie, $db);
  7. if (!$wynik)
  8. {
  9. Nie udało się odczytać danych użytkownika!
  10.  
  11. ';
  12. }
  13. $wiersz = mysql_fetch_row($wynik);
  14. $user = $wiersz[1];
  15. $pass = $wiersz[2];
  16.  
  17.  <table border="0" align="center">
  18.  <tr><td><b><center>Login:</cente></b></td><td><b><center>Hasło:</center></b></td></tr>';
  19.  echo "<tr><input type='hidden' name='id'  value=$id><td><input type='text' name='user'  value='$user'></td><td><input type='text' name='pass'  value='$pass'></td></tr>';
  20. }
  21. ?>


niewyszło angrysmiley.gif

więc spróbowałem tak:

  1. <?php
  2. function edytdane() {
  3. $db = db();
  4. $zapytanie = &#092;"select * from panel_users where user=($_SESSION['user'])\";
  5. $wynik = mysql_query($zapytanie, $db);
  6. if (!$wynik)
  7. {
  8.  <table border="0" align="center">
  9.  <tr><td><b><center>Login:</cente></b></td><td><b><center>Hasło:</center></b></td></tr>';
  10.  echo "<tr><input type='hidden' name='id'  value=$id><td><input type='text' name='user'  value='$user'></td><td><input type='text' name='pass'  value='$pass'></td></tr>';
  11. }
  12. $wiersz = mysql_fetch_row($wynik);
  13. $user = $wiersz[1];
  14. $pass = $wiersz[2];
  15.  
  16. echo '
  17. <table border="0" align="center">
  18. <tr><td><b><center>Login:</cente></b></td><td><b><center>Hasło:</center></b></td></tr>';
  19. echo "<tr><input type='hidden' name='id' value=$id><td><input type='text' name='user' value='$user'></td><td><input type='text' name='pass' value='$pass'></td></tr>;
  20. }
  21. ?>


również nie za działało wywaliło mi tylko stupit argument tiredsmiley.gif

nie jestem za bardzo oblatany jeśli chodzi o SESSIE logowania
więc proszę o pomoc w rozwiązaniu tego problemu, myślę że odpowiedź jaką uzyskam będzie przejrzysta dla mnie i innych osób, które będą czytać ten temat. Na pewno uzyskana odpowiedź przyda się nie tylko mi, lecz innym osobą również. snitch.gif

Z góry dziękuje za pomoc i pozdrawiam

Ten post edytował maxil 21.02.2009, 00:10:10
Go to the top of the page
+Quote Post
Rafal Filipek
post 21.02.2009, 00:08:25
Post #2





Grupa: Zarejestrowani
Postów: 274
Pomógł: 54
Dołączył: 2.05.2006
Skąd: Nadarzyn

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


1) zaskocz mnie swoja wizja tego co robi ta linijka :
Kod
$_SESSION['user'] = $log;

2) czemu wstawiasz sesje w nawiasach ?
Kod
$zapytanie = "select * from panel_users where user=($_SESSION['user'])";

radze poczytac jak sie pisze zapytania sql.
3) takie informacje sa bezwartosciowe.
Cytat
również nie za działało wywaliło mi tylko stupit argument

4) w jezyku polskim sa sesje.
Go to the top of the page
+Quote Post
230005
post 21.02.2009, 00:27:10
Post #3





Grupa: Zarejestrowani
Postów: 316
Pomógł: 36
Dołączył: 2.04.2008

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


Pozwolę sobie wytłumaczyć o co przedmówcy chodziło winksmiley.jpg .

$_SESSION['user'] = $log; - jeśli nie przekazałeś wartości $log do funkcji, to jest pusta, a jak rozumiem chciałeś, żeby do zmiennej sesji user zapisywało się to co jest w log, która to zmienna jest loginem, który wpisuje user, tak? snitch.gif To nie miało prawa się udać, a pozatym pierwszy kod jest chyba ok.
Go to the top of the page
+Quote Post
krzysiekk
post 21.02.2009, 09:55:56
Post #4





Grupa: Zarejestrowani
Postów: 155
Pomógł: 17
Dołączył: 13.03.2006
Skąd: Jaworze

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


witam
prosze zobacz czy ta linijka zwraca połączenie
  1. <?php
  2. $db = db();
  3. ?>


bo prawdopodobnie nie
Go to the top of the page
+Quote Post
matixrr
post 21.02.2009, 11:02:50
Post #5





Grupa: Zarejestrowani
Postów: 207
Pomógł: 44
Dołączył: 14.04.2007

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


  1. <?php
  2. $_SESSION['user'] = $log;
  3. ?>

Tu chyba próbował sesje zapisać do $log a wyszło mu odwrotnie ze to $log zapisywał do sesji...

Czyli poprawnie:
  1. <?php
  2. $log = $_SESSION['user'];
  3. ?>


--------------------
Pomogłem? Zmotywuj mnie do dalszej pracy i kliknij magiczny przycisk:

Go to the top of the page
+Quote Post
piotrooo89
post 21.02.2009, 11:04:39
Post #6


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




a

  1. <?php
  2. ?>


jest w kodzie bo jakoś nie widać.


--------------------
Go to the top of the page
+Quote Post
maxil
post 21.02.2009, 15:07:56
Post #7





Grupa: Zarejestrowani
Postów: 212
Pomógł: 11
Dołączył: 8.11.2008
Skąd: Sieradz

Ostrzeżenie: (10%)
X----


więc tak linia:

  1. <?php
  2. $db = db();
  3. ?>


zwraca połączenie, ponieważ stosuje ją w wielu skryptach i działa poprawnie


@edit:

Wydaje mi się że problem tkwi w lini:

  1. <?php
  2. $log = $_SESSION['user'];
  3. ?>


gdyż ona nie zapisuje nicku z sesji do $log. sciana.gif
troszkę przerobiłem kod i widzę że $log jest pusty i dane nie zostają wyciągnięte z bazy sql.
więc jak bym mógł prosić o pomoc w przerobieniu tej linii aby działała poprawnie był bym wdzięczny snitch.gif

Ten post edytował maxil 21.02.2009, 19:15:26
Go to the top of the page
+Quote Post
Rafal Filipek
post 21.02.2009, 19:44:55
Post #8





Grupa: Zarejestrowani
Postów: 274
Pomógł: 54
Dołączył: 2.05.2006
Skąd: Nadarzyn

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


zobacz na to co ci napisał piotrooo89. startujesz gdzieś sesję wcześniej ?
Go to the top of the page
+Quote Post
maxil
post 21.02.2009, 19:48:18
Post #9





Grupa: Zarejestrowani
Postów: 212
Pomógł: 11
Dołączył: 8.11.2008
Skąd: Sieradz

Ostrzeżenie: (10%)
X----


tak nawet dla pewności dopisałem do tego kodu więc mój kod wygląda aktualnie tak:

  1. <?php
  2. function edytdane() {
  3. $login  = $_SESSION['pass'];
  4. $db = db();
  5. $zapytanie = "select id, user, pass, nick, gg from panel_users where user='$login'";
  6. $wynik = mysql_query($zapytanie, $db);
  7. if (!$wynik)
  8. {
  9. echo '<center><b><br>Nie udało się odczytać danych użytkownika!<br><br></b></center>';
  10. }
  11. $wiersz = mysql_fetch_row($wynik);
  12. $user = $wiersz[1];
  13. $pass = $wiersz[2];
  14. $nick = $wiersz[3];
  15. $gg = $wiersz[4];
  16. <br><br><font size="3"><table border="0" align="left">
  17. <tr><td>Twój nick:</td><td><b>'.$nick.'</b><br></td></tr>
  18. <tr><td>Login:</td><td><b>'.$user.'</b><br></td></tr>
  19. <tr><td>Hasło:</td><td><b>'.$pass.'</b><br></td></tr>
  20. <tr<td>Numer GG:</td><td><b>'.$gg.'</b><br></td></tr>
  21. </table></font>';
  22. }
  23. ?>
Go to the top of the page
+Quote Post
piotrooo89
post 21.02.2009, 19:59:37
Post #10


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




a zrób tak:
  1. <?php
  2. function edytdane() {
  3. $login  = $_SESSION['pass'];
  4. echo $login;
  5. }
  6. ?>


i powiedz co widać.


--------------------
Go to the top of the page
+Quote Post
Rafal Filipek
post 21.02.2009, 20:03:13
Post #11





Grupa: Zarejestrowani
Postów: 274
Pomógł: 54
Dołączył: 2.05.2006
Skąd: Nadarzyn

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


czy na pewno trzymasz login w tej zmiennej sesyjnej questionmark.gif
Kod
$login  = $_SESSION['pass'];

bo jak dla mnie to logiczne jest przetrzymywanie w $_SESSION['pass'] zahaszowanego hasła O.o
Go to the top of the page
+Quote Post
maxil
post 21.02.2009, 20:19:39
Post #12





Grupa: Zarejestrowani
Postów: 212
Pomógł: 11
Dołączył: 8.11.2008
Skąd: Sieradz

Ostrzeżenie: (10%)
X----


na pewno, ponieważ jak dla sprawdzenia zrobiłem sobie

  1. <?php
  2. echo 'Twój login to: '.$_SESSION['user'].'';
  3. ?>


to pokazało mi login który wpisałem w polu login
Go to the top of the page
+Quote Post
piotrooo89
post 21.02.2009, 20:20:55
Post #13


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




ale
$_SESSION['user'] != $_SESSION['pass']

to są dwie zupełne inne rzeczy...

  1. <?php
  2. function edytdane() {
  3. $login  = $_SESSION['login'];
  4. $db = db();
  5. $zapytanie = "select id, user, pass, nick, gg from panel_users where user='$login'";
  6. $wynik = mysql_query($zapytanie, $db);
  7. if (!$wynik)
  8. {
  9. echo '<center><b><br>Nie udało się odczytać danych użytkownika!<br><br></b></center>';
  10. }
  11. $wiersz = mysql_fetch_row($wynik);
  12. $user = $wiersz[1];
  13. $pass = $wiersz[2];
  14. $nick = $wiersz[3];
  15. $gg = $wiersz[4];
  16. <br><br><font size="3"><table border="0" align="left">
  17. <tr><td>Twój nick:</td><td><b>'.$nick.'</b><br></td></tr>
  18. <tr><td>Login:</td><td><b>'.$user.'</b><br></td></tr>
  19. <tr><td>Hasło:</td><td><b>'.$pass.'</b><br></td></tr>
  20. <tr<td>Numer GG:</td><td><b>'.$gg.'</b><br></td></tr>
  21. </table></font>';
  22. }
  23. ?>


Ten post edytował piotrooo89 21.02.2009, 20:21:35


--------------------
Go to the top of the page
+Quote Post
maxil
post 21.02.2009, 20:31:53
Post #14





Grupa: Zarejestrowani
Postów: 212
Pomógł: 11
Dołączył: 8.11.2008
Skąd: Sieradz

Ostrzeżenie: (10%)
X----


$_SESSION['login'] nic nie da, gdyż po zalogowaniu sesja jest otwierana jako $_SESSION['user']
Go to the top of the page
+Quote Post
piotrooo89
post 21.02.2009, 20:35:57
Post #15


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




Cytat(maxil @ 21.02.2009, 20:31:53 ) *
$_SESSION['login'] nic nie da, gdyż po zalogowaniu sesja jest otwierana jako $_SESSION['user']


literówka mi sie wkradła... miało być tu:

  1. <?php
  2. $login  = $_SESSION['login'];
  3. ?>


to:

  1. <?php
  2. $login  = $_SESSION['user'];
  3. ?>


rusz głową trochu...


--------------------
Go to the top of the page
+Quote Post
maxil
post 21.02.2009, 20:42:56
Post #16





Grupa: Zarejestrowani
Postów: 212
Pomógł: 11
Dołączył: 8.11.2008
Skąd: Sieradz

Ostrzeżenie: (10%)
X----


zobacz mój pierwszy post, jest tak samo jak ty napisałeśexclamation.gif
Go to the top of the page
+Quote Post
piotrooo89
post 21.02.2009, 20:44:28
Post #17


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




czy to:

  1. <?php
  2. $_SESSION['user'] = $log;
  3. ?>


jest == temu?
  1. <?php
  2. $login  = $_SESSION['user'];
  3. ?>


bo mi się nie wydaje. i nie krzycz na mnie, staram Ci się pomóc.

Ten post edytował piotrooo89 21.02.2009, 20:44:39


--------------------
Go to the top of the page
+Quote Post
maxil
post 21.02.2009, 20:52:47
Post #18





Grupa: Zarejestrowani
Postów: 212
Pomógł: 11
Dołączył: 8.11.2008
Skąd: Sieradz

Ostrzeżenie: (10%)
X----


wiem i za to jestem wdzięczny snitch.gif
mój kod wygląda tak:

  1. <?php
  2. function edytdane() {
  3. $login  = $_SESSION['user'];
  4. $db = db();
  5. $zapytanie = "select id, user, pass, nick, gg from panel_users where user='$login'";
  6. $wynik = mysql_query($zapytanie, $db);
  7. if (!$wynik)
  8. {
  9. echo '<center><b><br>Nie udało się odczytać danych użytkownika!<br><br></b></center>';
  10. }
  11. $wiersz = mysql_fetch_row($wynik);
  12. $user = $wiersz[1];
  13. $pass = $wiersz[2];
  14. $nick = $wiersz[3];
  15. $gg = $wiersz[4];
  16. <br><br><font size="3"><table border="0" align="left">
  17. <tr><td>Twój nick:</td><td><b>'.$nick.'</b><br></td></tr>
  18. <tr><td>Login:</td><td><b>'.$user.'</b><br></td></tr>
  19. <tr><td>Hasło:</td><td><b>'.$pass.'</b><br></td></tr>
  20. <tr<td>Numer GG:</td><td><b>'.$gg.'</b><br></td></tr>
  21. </table></font>';
  22. }
  23. ?>
Go to the top of the page
+Quote Post
piotrooo89
post 21.02.2009, 20:56:02
Post #19


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




Cytat(maxil @ 21.02.2009, 20:52:47 ) *
mój kod wygląda tak:


i co błąd jakiś, biała strona, coś pisze?


--------------------
Go to the top of the page
+Quote Post
maxil
post 21.02.2009, 21:07:10
Post #20





Grupa: Zarejestrowani
Postów: 212
Pomógł: 11
Dołączył: 8.11.2008
Skąd: Sieradz

Ostrzeżenie: (10%)
X----


tym razem błąd nie wywala ale nie wyciąga danych z bazy ;/
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: 13.06.2025 - 16:11