Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Logowanie do serwisu
Mc22
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 6.11.2010

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


Witam jest to mój pierwszy post na tym forum ponieważ zaczynał zabawę z php i mysql . A teraz do rzeczy chciałem zrobić logowanie się użytkowników do mojej strony www przy czym skorzystałem z tutorialu który jest dostępny na tej stronie http://www.phpvideotutoriale.com/index.php/serwis/kursy , ale mam problem ponieważ gdy już wszytko zrobiłem tak jak pokazano na filmie to zamiast przejść do strony serwisu to staje na pliku checklogin.php nie wyświetla żadnego błędu tylko pustą stronę . Poniżej udostępniam pliki . Jakby ktoś wiedział co trzeba poprawić aby działało to bym był wdzięczny . Korzystam z Dreamweaver cs3 oraz do "stawiania" serwera xampp-a (mój system operacyjny to win7 64-bit )

login.php jest tam możliwość wpisania emaila oraz hasła

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Untitled Document</title>
  6. </head>
  7.  
  8. <body>
  9. <form id="form1" name="form1" method="post" action="checklogin.php">
  10. <table width="250" border="0" cellspacing="0" cellpadding="0">
  11. <tr>
  12. <td width="91"> email :</td>
  13. <td width="159"><label>
  14. <input type="text" name="email" id="email" />
  15. </label></td>
  16. </tr>
  17. <tr>
  18. <td>password :</td>
  19. <td><label>
  20. <input type="password" name="password" id="password" />
  21. </label></td>
  22. </tr>
  23. <tr>
  24. <td>&nbsp;</td>
  25. <td align="right"><label>
  26. <input type="submit" name="zaloguj" id="zaloguj" value="Zaloguj" />
  27. </label></td>
  28. </tr>
  29. </table>
  30. </form>
  31. </body>
  32. </html>


checklogin.php
  1. <?php
  2. include("db_fns.php");
  3. $row=get_user($_POST['email'], $_POST['password']);
  4. if($row){
  5. $_SESSION['id'] = $row['email'];
  6. $_SESSION['username'] = $row['name'];
  7. header("Location : index.php");
  8. }
  9. else{
  10. echo "Zle hasło lub email";
  11. }
  12.  
  13.  
  14. ?>


db_fns.php
  1. <?php
  2. function db_connect(){
  3. $conn = mysql_connect("localhost","mama","mama");
  4. if('$conn'){
  5. }
  6. if(!$db =mysql_select_db("cms"));
  7. {
  8. }
  9. return $conn;
  10. }
  11. function get_user($userEmail,$userPassword){
  12. db_connect();
  13. $query=sprintf("
  14. WHERE email='$userEmail' AND password='$userPassword'"
  15. );
  16. $result = mysql_query($query);
  17. $row = mysql_fetch_assoc($reult);
  18. return $row;
  19. }
  20. ?>


index.php prosta strona która będzie serwisem dostępnym po zalogowaniu

  1. <!DOCTYPE html
  2. PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  3. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  5. <title>podstrona</title>
  6. </head>
  7. <form id="form1" name="form1" method="post" action="">
  8. <table width="1085" border="0" cellspacing="0" cellpadding="0">
  9. <tr>
  10. <td align="right"><label>
  11. <input type="submit" name="wyloguj" id="wyloguj" value="wyloguj" />
  12. </label></td>
  13. </tr>
  14. </table>
  15. </form>
  16. <p>Treść serwisu</p>
  17. <form id="form2" name="form2" method="post" action="">
  18. </form>
  19. <p>&nbsp;</p>
  20. </body>
  21. </html>
  22.  
Go to the top of the page
+Quote Post
konrados
post
Post #2





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

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


  1. if(!$db =mysql_select_db("cms"));

Jak dla mnie to tu niepotrzebny średnik jest. Ale to tak na szybko.

Ten post edytował konrados 6.11.2010, 23:45:45
Go to the top of the page
+Quote Post
CuteOne
post
Post #3





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


w index.php na samym początku pliku wstaw:

  1. <?php
  2. ini_set( 'display_errors', 'On' );
  3. ?>


dzięki temu będziesz skrypt wypluje na ekran błędy


  1. <?php
  2. function db_connect(){
  3. $conn = mysql_connect("localhost","mama","mama") or die(mysql_error());
  4. mysql_select_db($conn,"cms") or die(mysql_error()); // jeżeli wywali błąd zamień kolejność na "cms",$conn
  5. }
  6.  
  7. function get_user($userEmail,$userPassword){
  8. db_connect();
  9. $query= "SELECT * FROM nazwa_bazy WHERE email='$userEmail' AND password='$userPassword'";
  10. $result = mysql_query($query);
  11. $row = mysql_fetch_assoc($result);
  12. return $row;
  13. }
  14. ?>

  1. <?php
  2.  
  3. include("db_fns.php");
  4. $row=get_user($_POST['email'], $_POST['password']);
  5.  
  6. if(!empty($row['email'])) {
  7.  
  8. $_SESSION['id'] = $row['email'];
  9. $_SESSION['username'] = $row['name'];
  10.  
  11. header("Location : index.php");
  12. }
  13. else{
  14. echo "Zle hasło lub email";
  15. }
  16. ?>


Ten post edytował CuteOne 7.11.2010, 02:11:32
Go to the top of the page
+Quote Post
ciekawskiii
post
Post #4





Grupa: Zarejestrowani
Postów: 467
Pomógł: 39
Dołączył: 7.11.2010
Skąd: Raz tu, raz tam

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


na poczatek to widze byka...

  1. $row = mysql_fetch_assoc($reult);


zmienna $result powinna byc w funkcji get_user
Go to the top of the page
+Quote Post
Mc22
post
Post #5





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 6.11.2010

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


Czyli ma to być tak ?
  1. $row = mysql_fetch_assoc(get_user($reult));
  2.  



Mam pytanie jak włącze xamppa i wpisze http://localhost/CMS/checklogin.php i wcisnę ctrl+u to w źródle strony mam pusto żadnego kodu tam niema jest to normalne w php?

Po wprowadzeniu zmian które wpisał CuteOne nadal staje na checkloginie i nie wyświetla nic
(IMG:http://img832.imageshack.us/img832/6692/beztytuudi.jpg)
Go to the top of the page
+Quote Post
ciekawskiii
post
Post #6





Grupa: Zarejestrowani
Postów: 467
Pomógł: 39
Dołączył: 7.11.2010
Skąd: Raz tu, raz tam

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


chodzilo mi o sama zmienna
  1. $row = mysql_fetch_assoc($result);


nie widzisz ze masz zmienna $reult?
Go to the top of the page
+Quote Post
Compiler
post
Post #7





Grupa: Zarejestrowani
Postów: 36
Pomógł: 2
Dołączył: 11.11.2006

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


Weź sobie manuala do PHP i prześledź linijka po linijce co się w kodzie dzieje.
Jak jesteś kumaty, to znajdziesz błędy i poprawisz.
Jak można bezmyślnie kopiować coś a potem beczysz, że nie działa.

Cytat
Mam pytanie jak włącze xamppa i wpisze http://localhost/CMS/checklogin.php i wcisnę ctrl+u to w źródle strony mam pusto żadnego kodu tam niema jest to normalne w php?


Mamo zastrzel mnie (IMG:style_emoticons/default/sciana.gif)

Ten post edytował Compiler 7.11.2010, 14:37:37
Go to the top of the page
+Quote Post
modern-web
post
Post #8





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

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


Przecież wspomniał, że nie zna się na PHP.. Każdy z nas kiedyś zaczynał.
Bądź bardziej wyrozumiały.


Cytat
Mam pytanie jak włącze xamppa i wpisze http://localhost/CMS/checklogin.php i wcisnę ctrl+u to w źródle strony mam pusto żadnego kodu tam niema jest to normalne w php?


Tak, to normalne.
Skrypty PHP wykonywane są po stronie serwera.
Zanim trafi to do użytkownika przechodzi przez parser, a sam internauta otrzymuje tylko wynik/i tego skryptu (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Mc22
post
Post #9





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 6.11.2010

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


Cytat(Compiler @ 7.11.2010, 14:35:56 ) *
Weź sobie manuala do PHP i prześledź linijka po linijce co się w kodzie dzieje.
Jak jesteś kumaty, to znajdziesz błędy i poprawisz.
Jak można bezmyślnie kopiować coś a potem beczysz, że nie działa.



Mamo zastrzel mnie (IMG:style_emoticons/default/sciana.gif)



A nie prościej na że tak to normalne nie powinien być tam kod ?

A jeszcze ściślej to jak robię tutka i widzę jak pokazuje że chodzi i przepisuje do siebie tak samo to liczę że powinno chodzić.

Ok jest postęp po wpisaniu błędnego emalia lub hasła wyrzuca błędne hasło lub e mail , ale po wpisaniu poprawnego nadal staje w checkloginie zamiast iść do index.php

Ten post edytował Mc22 7.11.2010, 15:10:28
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 28.09.2025 - 00:04