Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]prosze o sprawdzenie kodu
gregov0
post 1.02.2011, 21:08:33
Post #1





Grupa: Zarejestrowani
Postów: 58
Pomógł: 0
Dołączył: 14.01.2011
Skąd: Kalisz

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


skrypt dziala ale prosze o sprawdzenie i ocene czy jest bezpieczny i czy wszystko jest w nim tak jak trzeba lub co nalezy zmienic
  1. <?php
  2. if(isset($_POST["submit"])) {
  3. include ("db.php");
  4.  
  5. $odpa = mysql_real_escape_string(htmlspecialchars(trim($_POST['odpa'])));
  6. $odpb = mysql_real_escape_string(htmlspecialchars(trim($_POST['odpb'])));
  7. $odpc = mysql_real_escape_string(htmlspecialchars(trim($_POST['odpc'])));
  8. $odpd = mysql_real_escape_string(htmlspecialchars(trim($_POST['odpd'])));
  9. $odppraw = mysql_real_escape_string(htmlspecialchars(trim($_POST['odppraw'])));
  10.  
  11. if (empty($pyt)||empty($odpa)||empty($odpb)||empty($odpc)||empty($odpd)||empty($odppraw)) {
  12. echo 'Wypełnij wszystkie pola!';}
  13. else {
  14. echo $add = mysql_query("INSERT INTO quiz(pyt, odpa, odpb, odpc, odpd, odppraw) VALUES('$pyt', '$odpa', '$odpb','$odpc','$odpd','$odppraw')");
  15. }
  16.  
  17.  
  18. if ($add) {
  19. echo '<p>Dodano do bazy</p>';
  20. } else {
  21. echo mysql_error(); echo '<p>Błąd! Spróbuj ponownie</p>';
  22. }
  23. } else {
  24. ?>
  25. <!-- kod formularza-->
  26. <form action="dodpyt.php" method="post">
  27. <table>
  28. <tr>
  29. <td align="right">Pytanie: </td>
  30. <td><textarea name="pyt" rows=5 cols=30 warp=phisical></textarea></td>
  31. </tr>
  32. <tr>
  33. <td align="right">Odpowiedz a: </td>
  34. <td><textarea name="odpa" rows=5 cols=30 warp=phisical></textarea></td>
  35. </tr>
  36. <tr>
  37. <td align="right">Odpowiedz b: </td>
  38. <td><textarea name="odpb" rows=5 cols=30 warp=phisical></textarea></td>
  39. </tr>
  40. <tr>
  41. <td align="right">Odpowiedz c: </td>
  42. <td><textarea name="odpc" rows=5 cols=30 warp=phisical></textarea></td>
  43. </tr>
  44. <tr>
  45. <td align="right">Odpowiedź d: </td>
  46. <td><textarea name="odpd" rows=5 cols=30 warp=phisical></textarea></td>
  47. </tr>
  48. <tr>
  49. <td align="right">Poprawna odpowiedz to: </td>
  50. <td><input type="text" name="odppraw"> - tu wpisz a,b,c lub d</td>
  51. </tr>
  52. <tr>
  53. <td colspan="2" align="right">
  54. <input type="submit" name="submit" value="Zapisz" /></td>
  55. </tr>
  56. </table>
  57. </form>
  58.  
  59. <?php
  60. }
  61. ?>


Ten post edytował gregov0 1.02.2011, 21:09:12
Go to the top of the page
+Quote Post
Piogola
post 1.02.2011, 21:32:25
Post #2





Grupa: Zarejestrowani
Postów: 151
Pomógł: 36
Dołączył: 1.02.2011
Skąd: Warszawa

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


Skrypt ok, tylko po co filtrujesz dane przed sprawdzeniem, czy są wypełnione?


--------------------
Google Manual
Go to the top of the page
+Quote Post
darko
post 1.02.2011, 22:10:29
Post #3





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


Za eksperta w poprawianiu czyjego kodu się nie uważam, ale mam kilka luźnych uwag.
Z tego

lepiej zrobić prostą funkcję. Zainteresuj się klasą PDO, naucz się z niej poprawnie korzystać i nie będziesz musiał pisać takich potworków sprawdzających przychodzące zmienne. Sprawdzaj czy długość zmiennych poszczególnych odpowiedzi nie jest większa od maksymalnej długości ustawionej w bazie dla tych danych. Znacznik textarea nie ma atrybutu warp, a wrap który jest niestandardowy i interpretowany przez niektóre wersje przeglądarek Netscape i IE. Znacznik input należy zamykać <input type="text" name="odppraw" />. Sam formularz można byłoby przyozdobić jakoś i uporządkować, zamiast jednego pola input (odppraw) wstawiłbym cztery inputy radio po każdym na odpowiedź.

http://www.answerbag.com/q_view/325939
http://stackoverflow.com/questions/263938/...sing-javascript


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
Ulysess
post 1.02.2011, 22:21:32
Post #4





Grupa: Zarejestrowani
Postów: 695
Pomógł: 65
Dołączył: 27.07.2009
Skąd: Y

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


hmm i jaki jest sens używania htmlspecialchars przy zapisywaniu bez drukowania ?
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: 15.07.2025 - 07:22