Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

3 Stron V   1 2 3 >  
Reply to this topicStart new topic
> MySQL i logowanie, Prosze o pomoc w prostym skrypcie
tes
post
Post #1





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 23.06.2004
Skąd: Rzeszów

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


Nie wiem jak sie za to zabrac:
Chcialbym zeby uzytkownik sie logowal (w formularzu podaje login i haslo), nastepnie skrypt sprawdzal czy w bazie jest taki login i pasuje do niego haslo... jesli pasuje go "loguje".
Dzieki z gory. Pozdrawiam


--------------------
czemuja?
Go to the top of the page
+Quote Post
strife
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


index.php
  1. <form method="POST" action="loguj.php">
  2. <input type="text" name="login">
  3. <input type="text" name="passwd">
  4. </form>


loguj.php

  1. <?php
  2.  
  3. $login = $_POST['login'];
  4. $passwd = $_POST['passwd'];
  5.  
  6. $query = mysql_query(&#092;"SELECT * FROM uzytkownicy WHERE login = '$login' \");
  7. $array = mysql_fetch_array($query);
  8.  
  9.  
  10. if ($array == FALSE)
  11. {
  12.    die('podany uzytkownik nie istnieje');
  13.  
  14. }
  15.  
  16. $sql_passwd = $array['passwd'];
  17.  
  18. if ($passwd == $sql_passwd)
  19. {
  20. echo 'witaj'.$login;
  21.  
  22. }
  23.  
  24. ?>


Sklepane na szybko nie wiem czy działa.

Pozdrawiam!

EDIT
@hmmm - sprawdziłem, u mnie działa bez problemu. Ale nie wykluczone, że tak jak napisałeś też może zadziałać tongue.gif

Ten post edytował scarface 26.02.2005, 20:26:40


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





Grupa: Zarejestrowani
Postów: 247
Pomógł: 0
Dołączył: 4.01.2005

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


nie wiem, ale na pierwszy rzut oka w tej linii
Cytat
$query = mysql_query("SELECT * FROM uzytkownicy WHERE login = '$login' ");
wydaje mi sie, ze jest blad.

bo nie bedzie tam wstawialo wartosci zmiennej login, wiec powinno byc chyba:
  1. <?php
  2. $query = mysql_query(&#092;"SELECT * FROM uzytkownicy WHERE login = '\" . $login . \"'\");
  3. ?>
ale nie jestem pewien tongue.gif

jak cos, to przepraszam

edit
@scarface a to przepraszam tongue.gif

Ten post edytował hmmm 26.02.2005, 22:37:34
Go to the top of the page
+Quote Post
tes
post
Post #4





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 23.06.2004
Skąd: Rzeszów

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


Wielkie dzieki za pomoc, dziala jak zloto. Napisalem sobie tez system newsow (taki prosty na MySQL).
http://home.kw.pl/ test//test
poki co nie ma kasowania i edycji bo musze jeszcze doczytac jak to robic:)

Ale mam problem - po zalogowaniu wsyztsko zachowuje sie tak jakby nie pamietalo ze jestem zalogowany..... tzn nie moge dodac newsa. Wiecie jak to zrobic ?


--------------------
czemuja?
Go to the top of the page
+Quote Post
warliker
post
Post #5





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 18.01.2005

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


Tak wiemy smile.gif...
Musisz użyć sesji:

  1. <?
  2. $_SESSION['zmienna do zapamiętania'] = 'bla bla bla'
  3. ?>


A potem robisz to pętlami warunkowymi.

Ten post edytował warliker 26.02.2005, 21:31:15
Go to the top of the page
+Quote Post
tes
post
Post #6





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 23.06.2004
Skąd: Rzeszów

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


w tej zmiennej do zapamietania to bedzie:
$_POST['login'] na przyklad ?


--------------------
czemuja?
Go to the top of the page
+Quote Post
strife
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


Cytat(tes @ 2005-02-26 20:45:54)
w tej zmiennej do zapamietania to bedzie:
$_POST['login'] na przyklad ?

Tak to będzie wartość zawarta w $_POST['login'] proponuje abyś poćwiczył najpierw i poczytał o session

  1. <?php
  2.  
  3. $zapamietaj = $_POST['login'];
  4. $_SESSION['login'] = $zapamietaj;
  5.  
  6. // a potem
  7.  
  8. if (isset($_SESSION['login'])) // jeśli taka sesja istnieje
  9. {
  10. echo 'witam'.$_SESSION['login'];
  11.  
  12. }
  13.  
  14. ?>


Nie wiem czy działa, powinno - jakby co to poprawcie.

Pozdrawiam!


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





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 23.06.2004
Skąd: Rzeszów

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


hmm zrobilem to tak:
  1. <?php
  2.  
  3. mysql_connect (&#092;"localhost\", \"user\", \"haslo\") or
  4. die (&#092;"Nie można połączyć się z MySQL\");
  5. mysql_select_db (&#092;"IS\") or
  6. die (&#092;"Nie można połączyć się z bazą\");
  7. $login = $_POST['login'];
  8. $passwd = $_POST['passwd'];
  9. $zapytanie = mysql_query(&#092;"SELECT * FROM uzytkownicy WHERE login = '$login' \");
  10. $array = mysql_fetch_array($zapytanie);
  11. $sql_passwd = $array['passwd'];
  12. if ($array == TRUE && $passwd == $sql_passwd) {
  13. session_register(&#092;"login\");
  14. session_register(&#092;"passwd\");
  15. }
  16.  
  17. ?>



i pozniej:

  1. <?php
  2.  
  3. if ($_SESSION['login']==&#092;"$login\" && $_SESSION['passwd']==\"$passwd\") {
  4. brawo
  5. } else { 
  6. kupa 
  7. }
  8.  
  9. ?>



i wsyztsko jest niby okej, dodaje newsy, ale chcialem zeby nazwe zalogowanego uzytkownika przesylalo mi do bazy:
  1. <?php
  2.  
  3. $zapytanie = &#092;"INSERT INTO news (kto, mail, tytul, tresc) VALUES ('\".$_SESSION['login'].\"', i tak dalej
  4.  
  5. ?>


i nie przekazuje mi tego S_SESSION['login'], nie mam pojecia czemu sad.gif troche dziwne bo skoro sprawdza czy w bazie istnieje, to czemu mialby tam nie istniec. :/


jesli zle wytlumacyzlem to sprawdzcie sobie tutaj o co dokladnie mi chodzi:
http://83.175.176.47/index_2.php
login: test pass: test

dzieki za dotychczasowa pomoc

Ten post edytował tes 27.02.2005, 06:14:01


--------------------
czemuja?
Go to the top of the page
+Quote Post
Ociu
post
Post #9





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




A masz session_start(); ?

IMHO lepsze są ciastka smile.gif)

Ten post edytował Ociu 27.02.2005, 10:09:35
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #10





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




A jak ktoś wyłączy ciacha?


--------------------
Go to the top of the page
+Quote Post
hmmm
post
Post #11





Grupa: Zarejestrowani
Postów: 247
Pomógł: 0
Dołączył: 4.01.2005

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


to dac wyzej komunikat, notke, ze do prawidlowej obslugi strony potrzebna jest wlaczona obsluga ciastek tongue.gif
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #12





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Znam takich, który nakichają na taki komunikat smile.gif


--------------------
Go to the top of the page
+Quote Post
tes
post
Post #13





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 23.06.2004
Skąd: Rzeszów

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


Cytat(Ociu @ 2005-02-27 09:09:18)
A masz session_start(); ?

mam i nic sad.gif

caly kod:

  1. <?
  2. mysql_connect (&#092;"localhost\", \"user\", \"pass\") or
  3. die (&#092;"Nie można połączyć się z MySQL\");
  4. mysql_select_db (&#092;"IS\") or
  5. die (&#092;"Nie można połączyć się z bazą\");
  6. $login = $_POST['login'];
  7. $passwd = $_POST['passwd'];
  8. $zapytanie = mysql_query(&#092;"SELECT * FROM uzytkownicy WHERE login = '$login' \");
  9. $array = mysql_fetch_array($zapytanie);
  10. $sql_passwd = $array['passwd'];
  11. if ($array == TRUE && $passwd == $sql_passwd) {
  12. session_register(&#092;"login\");
  13. session_register(&#092;"passwd\");
  14. }
  15.  
  16. if ($_SESSION['login']==&#092;"$login\" && $_SESSION['passwd']==\"$passwd\") {
  17. print '<html>';
  18. print '<head>';
  19. print '<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-2\"> ';
  20. print '<title>Panel</title> ';
  21. print '<LINK REL=\"stylesheet\" HREF=\"style.css\" TYPE=\"text/css\"> ';
  22. print '</head> ';
  23. print '<body> ';
  24. print '<center> ';
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31. $autor=$_SESSION['login'];
  32. print &#092;"<font color=black size=3 face=Arial>Witaj <font color=red face=tahoma><b>$autor</b></font></font><br><br>\";
  33. print &#092;"<a href=index.php class=main><u>Dodaj News</u></a>&nbsp;&nbsp;&nbsp;&nbsp;<a href=index.php class=main><u>Dodaj Plik</u></a>&nbsp;&nbsp;&nbsp;&nbsp;<a href=index.php class=main><u>Dodaj Wyniki</u></a> <br><br>\";
  34.  
  35.  
  36. if ($_POST['do'] == 'dodaj') {
  37. if ($_POST['tytul'] && $_POST['tresc']) {
  38. $query = &#092;"INSERT INTO news (kto, mail, \";
  39. $query .= &#092;"tytul, tresc) VALUES ('\".$_SESSION['login'].\"', '\".$_POST['mail'].\"', '\".$_POST['tytul'].\"', '\".$_POST['tresc'].\"');\";
  40. $wynik = mysql_query ($query);
  41. }
  42. }
  43.  
  44.  
  45. $wynik = mysql_query (&#092;"SELECT * FROM news;\") or
  46. die (&#092;"błąd w pytaniu\");
  47.  
  48. print &#092;"<TABLE cellspacing=1 cellpadding=4 border=0 bgcolor=#D3D3D4>\";
  49. print &#092;"<TR><TD class=news_tytul><B>Login</B></TD><TD class=news_tytul><B>Mail</B></TD>\";
  50. print &#092;"<TD class=news_tytul><B>Tytul</B></TD><TD class=news_tytul><B>Tresc</B></TD><TD class=news></TD><TD class=news_tytul></TD></TR>n\";
  51.  mysql_query(&#092;"ALTER TABLE 'news ORDER BY 'nr' DESC\");
  52. while ($rekord = mysql_fetch_assoc ($wynik)) {
  53. $nr = $rekord['nr'];
  54. $kto = $rekord['kto'];
  55. $mail = $rekord['mail'];
  56. $tytul = $rekord['tytul'];
  57. $tresc = $rekord['tresc'];
  58.  
  59.  print &#092;"<TR><TD class=news>$kto</TD><TD class=news><a href=mailto:$mail>$mail</a></TD><TD class=newstytul>$tytul</TD><TD class=newsy_tresc>$tresc</td><TD class=news><a href=edytuj>Edytuj</a></TD><TD class=news><a href=edytuj>Usuń</a></TD></tr>\";
  60. print &#092;"n\";
  61. }
  62. print &#092;"</TABLE><br><br>\";
  63. print '<FORM METHOD=\"POST\"><font color=black>Nowy news:</font>';
  64. print '<INPUT TYPE=\"hidden\" NAME=\"do\" VALUE=\"dodaj\"><TABLE>';
  65. print '<TR><TD class=formularz>Mail:</TD><TD><input ';
  66. print 'TYPE=\"text\" NAME=\"mail\"></TD></TR><TR><TD class=formularz>Tytul:</TD>';
  67. print '<TD><INPUT TYPE=\"text\" NAME=\"tytul\"></TD></TR><TR><TD class=formularz>Tresc:</TD>';
  68. print '<TD><textarea TYPE=\"text\" NAME=\"tresc\" rows=10 cols=80></textarea></TD></TR>';
  69. print '</TABLE><INPUT TYPE=\"submit\" VALUE=\"Dodaj\"></FORM>';
  70.  }
  71.  else {
  72.  print 'Zla nazwa uzytkownika, lub haslo';
  73.  }
  74.  
  75.  
  76. ?>
  77. </center>
  78. </BODY>
  79. </HTML>


Ten post edytował tes 27.02.2005, 17:55:11


--------------------
czemuja?
Go to the top of the page
+Quote Post
Coyote
post
Post #14





Grupa: Zarejestrowani
Postów: 151
Pomógł: 0
Dołączył: 20.02.2005
Skąd: Poznań

Ostrzeżenie: (30%)
XX---


to ja bede inny niz wszyscy i dam ci tutorial do tego :

[zmoderowano: http://forum.php.pl/index.php?act=ST&f=8&t=30324 ]
_______________
teraz chyba znikly watpliwosci smile.gif

Ten post edytował scanner 11.05.2005, 17:38:49


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





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




Coyote: Przeczytałem tylko 4 pierwsze zdania twojego postu i raczej nie chodzi nam już o logowanie... tylko o dodawanie informacji do bazy.

  1. <?php
  2. if($post_Coyote_pomogl == TRUE)
  3. {
  4. delete_post($this);
  5. }
  6. ?>


Spróbujemy innym sposobem.

  1. <?php
  2. if ($_POST['do'] == 'dodaj') {
  3. if ($_POST['tytul'] && $_POST['tresc']) {
  4. $query = &#092;"INSERT INTO news (kto, mail, \";
  5. $query .= &#092;"tytul, tresc) VALUES ('\".$_SESSION['login'].\"', '\".$_POST['mail'].\"', '\".$_POST['tytul'].\"', '\".$_POST['tresc'].\"');\";
  6. $wynik = mysql_query($query);
  7.  
  8. }
  9. }
  10. ?>


Wstaw
  1. <?php
  2. if ($_POST['do'] == 'dodaj') {
  3. if ($_POST['tytul'] && $_POST['tresc'] && isset($_SESSION['login'])) {
  4. $query = &#092;"INSERT INTO news (kto, mail, \";
  5. $query .= &#092;"tytul, tresc) VALUES ('\".$_SESSION['login'].\"', '\".$_POST['mail'].\"', '\".$_POST['tytul'].\"', '\".$_POST['tresc'].\"');\";
  6. $wynik = mysql_query ($query);
  7.  
  8.  echo $wynik ? &#092;"ok\" : \"false\";
  9. } else {
  10. print 'Cos nie tak...';
  11. }
  12. }
  13. ?>


I napisz co wyświetliło

Ten post edytował Ociu 27.02.2005, 19:07:34
Go to the top of the page
+Quote Post
tes
post
Post #16





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 23.06.2004
Skąd: Rzeszów

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


nic nie wsywetlilo


--------------------
czemuja?
Go to the top of the page
+Quote Post
Coyote
post
Post #17





Grupa: Zarejestrowani
Postów: 151
Pomógł: 0
Dołączył: 20.02.2005
Skąd: Poznań

Ostrzeżenie: (30%)
XX---


ale tu masz wszystko ... a nie ze pomoge mu jedno .,.. a zaraz 10 pytan o cos innego smile.gif


--------------------
Go to the top of the page
+Quote Post
Ociu
post
Post #18





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




tes: w takim razie daj 'action' do tego samego pliku co jest skrypt...
Go to the top of the page
+Quote Post
Coyote
post
Post #19





Grupa: Zarejestrowani
Postów: 151
Pomógł: 0
Dołączył: 20.02.2005
Skąd: Poznań

Ostrzeżenie: (30%)
XX---


tak tez mozna smile.gif


--------------------
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #20





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Walczę TU z podobnym problemem, jeżeli nie tym samym! Coyote, jesteś The Best smile.gif


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

3 Stron V   1 2 3 >
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 - 13:21