Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Poprawa błędów w schemacie logowania
Asmani
post 25.12.2010, 17:31:56
Post #1





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

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


Na wstępie powiem że to kolega poprosił mnie o pomoc, a że nie chcę go zawieść to zwracam się z tym do Was, jako że nie znam się tak dobrze na PHP.

Czy ktoś może poprawić mi błędy w poniższym kodzie:

Z GÓRY DZIĘKUJĘ w imieniu moim i kolegi!


  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>Login</title>
  6. </head>
  7. <?php
  8. if(!empty($_SESSION["MM_Username"])){
  9. echo "<p>You are logged in";
  10. echo("1 second to return to home page...</p>\n");
  11. exit('<meta http-equiv="refresh" content="1;URL=index.php" />');
  12. }else{
  13. ?>
  14. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  15. <html xmlns="http://www.w3.org/1999/xhtml">
  16. <head>
  17. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
  18. <title>User Login</title>
  19. <link href="style.css" rel="stylesheet" type="text/css" />
  20. <script src="SpryAssets/SpryValidationTextField.js" type="text/javascript"></script>
  21. <link href="SpryAssets/SpryValidationTextField.css" rel="stylesheet" type="text/css" />
  22. </head>
  23. <body>
  24. <?php
  25. if(isset($_POST["btnLogin"])){
  26. $username=$_POST['txtUsername'];
  27. $password=$_POST['txtPassword'];
  28. $sql=mysql_query("select * from members where username=$username and password=$password");
  29. $row=mysql_num_rows($sql);
  30. if(!$row){
  31. echo "<p>Loggin Error;
  32. echo("1to back to login page...</p>\n");
  33. exit('<meta http-equiv="refresh" content="1;URL=login.php" />');
  34. }else{
  35. $_SESSION["MM_Username"]=$_POST["txtUsername"];
  36. echo "<p>Login Successful";
  37. echo("1 second to return to home page...</p>\n");
  38. exit('<meta http-equiv="refresh" content="1;URL=index.php" />');
  39. }
  40. }else{ ?>
  41. <form id="form1" name="form1" method="post" action="">
  42. <div align="center">
  43. <table width="345" border="0">
  44. <tr>
  45. <td width="339">User Login</td>
  46. </tr>
  47. <tr>
  48. <td><span id="sprytextfield1">
  49. <label>
  50. <input type="text" name="txtUsername" id="txtUsername" />
  51. </label>
  52. <span class="textfieldRequiredMsg">Please enter your user name</span></span></td>
  53. </tr>
  54. <tr>
  55. <td><span id="sprytextfield2">
  56. <label>
  57. <input type="password" name="txtPassword" id="txtPassword" />
  58. </label>
  59. <span class="textfieldRequiredMsg">Please enter your password</span></span></td>
  60. </tr>
  61. <tr>
  62. <td><label>
  63. <input type="submit" name="btnLogin" id="btnLogin" value="Login" />
  64. <input type="reset" name="btnReset" id="btnReset" value="Reset" />
  65. </label></td>
  66. </tr>
  67. </table>
  68. </div>
  69. </form>
  70. <script type="text/javascript">
  71. <!--
  72. var sprytextfield1 = new Spry.Widget.ValidationTextField("sprytextfield1");
  73. var sprytextfield2 = new Spry.Widget.ValidationTextField("sprytextfield2");
  74. //-->
  75. </script>
  76. <?php
  77. }
  78. }
  79. ?>
  80.  
  81. </body>
  82. </html>
Go to the top of the page
+Quote Post
tehaha
post 25.12.2010, 17:44:32
Post #2





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

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


mało tutoriali i artykułów na temat rejestracji/logowania? Wystarczy przeczytać kilka artykułów i będziesz wszystko wiedział, ale oczywiście łatwiej jest wyręczyć się kimś innym niż zadać sobie trochę trudu....pozdrawiam Ciebie i Kolegę
Go to the top of the page
+Quote Post
amii
post 25.12.2010, 18:50:47
Post #3





Grupa: Zarejestrowani
Postów: 728
Pomógł: 76
Dołączył: 12.06.2009

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


Yyy ale o co chodzi? Nie wiem czy o to ale w linii 31 nie domyka się cudzysłów


--------------------
gry flash online
Dobry hosting i tanie odnowienia domen firma: masternet.
Zarabianie bez wysiłku na domenach bez ruchu: prolink.
Go to the top of the page
+Quote Post
Asmani
post 25.12.2010, 19:28:26
Post #4





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

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


No czy błędów w składni nie ma nigdzie?
Oraz czy przypadkiem nie są pomylone nigdzie znaczniki?
Go to the top of the page
+Quote Post
tehaha
post 25.12.2010, 19:35:55
Post #5





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

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


Cytat(Asmani @ 25.12.2010, 19:28:26 ) *
No czy błędów w składni nie ma nigdzie?
Oraz czy przypadkiem nie są pomylone nigdzie znaczniki?


a testowałeś to w ogóle?

1. poczytaj o SQL Injection
2. aby używać zmienne sesyjne trzeba najpierw użyć session_start()
3. nie używa się align="center" oraz nie używa się tabel do tworzenia struktury strony
4. Tak jak Ci napisał amii, w 31 linijce nie domknąłeś cudzysłowu, najlepiej taki kod pisz w edytorze bo to wygląda jakbyś go w notatniku pisał
Go to the top of the page
+Quote Post
Asmani
post 25.12.2010, 20:29:13
Post #6





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

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


Cytat(tehaha @ 25.12.2010, 19:35:55 ) *
a testowałeś to w ogóle?

1. poczytaj o SQL Injection
2. aby używać zmienne sesyjne trzeba najpierw użyć session_start()
3. nie używa się align="center" oraz nie używa się tabel do tworzenia struktury strony
4. Tak jak Ci napisał amii, w 31 linijce nie domknąłeś cudzysłowu, najlepiej taki kod pisz w edytorze bo to wygląda jakbyś go w notatniku pisał



1. Ok.
2. Czyli w jakiej linii musiał bym to wstawić?
3. Co innego można użyć?
4. Ten błąd już poprawiłem.
Go to the top of the page
+Quote Post
tehaha
post 25.12.2010, 20:37:40
Post #7





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

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


Cytat
2. Czyli w jakiej linii musiał bym to wstawić?
3. Co innego można użyć?


2. http://php.net/manual/en/function.session-start.php
3. http://www.gethifi.com/blog/html-forms-the-right-ways
Go to the top of the page
+Quote Post
Asmani
post 25.12.2010, 21:18:45
Post #8





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

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


Dzieki za linki!

A czy ktos inny moze mi poprawic te bledy? Bo jak juz napisalem to jest do kolegi, a ja raczej PHP sie nie zajmuje wiec bym musial wszystko od zera sie uczyc aby mu pomoc.
Z gory dzieki!
Go to the top of the page
+Quote Post
Kwpolska
post 25.12.2010, 21:29:36
Post #9





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 26.09.2009

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


Problemów jest pięć - trzy w PHP i trzy w HTML-u.
PHP:
  1. Nigdzie nie inicujesz sesji - session_start(); powinno byc gdzies na górze.
  2. System sesji woła o pomstę do nieba - Wikibooks ma świetny.
  3. Używasz mysql_*, a nie PDO.

HTML:
  1. Masz podwojony nagłówek HTML.
  2. Używasz XHTML.

Do tego (wiem, że się czepiam):
  1. <p>Loggin Error;
  2. 1to back to login page...</p>

Powinno być: Login error, 1 second to return to login page...
Go to the top of the page
+Quote Post
tehaha
post 25.12.2010, 21:46:00
Post #10





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

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


Cytat(Asmani @ 25.12.2010, 21:18:45 ) *
A czy ktos inny moze mi poprawic te bledy? Bo jak juz napisalem to jest do kolegi, a ja raczej PHP sie nie zajmuje wiec bym musial wszystko od zera sie uczyc aby mu pomoc.


aha czyli po prostu oczekujesz, że ktoś to za Ciebie zrobi tak? Jeśli nie masz ochoty sam się tym zajmować to wystaw to jako zlecenie, a nie szukasz frajerów do darmowej pracy, szanuj czas innych ludzi...
Go to the top of the page
+Quote Post

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: 19.07.2025 - 15:56