Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Logowanie do serwisu
Forum PHP.pl > Forum > Przedszkole
Mc22
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.  
konrados
  1. if(!$db =mysql_select_db("cms"));

Jak dla mnie to tu niepotrzebny średnik jest. Ale to tak na szybko.
CuteOne
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. ?>
ciekawskiii
na poczatek to widze byka...

  1. $row = mysql_fetch_assoc($reult);


zmienna $result powinna byc w funkcji get_user
Mc22
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
ciekawskiii
chodzilo mi o sama zmienna
  1. $row = mysql_fetch_assoc($result);


nie widzisz ze masz zmienna $reult?
Compiler
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 sciana.gif
modern-web
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 smile.gif
Mc22
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 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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.