Witam. Zlecę wykonanie zabezpieczeń przed SQL INJECTION w formularzu i skrypcie dodawania danych do bazy.
Poniżej kod formularza


  1. <p>
  2. <script type="text/javascript">
  3. // <![CDATA[
  4. function sprawdz(formularz)
  5. {
  6. for (i = 0; i < formularz.length; i++)
  7. {
  8. var pole = formularz.elements[i];
  9. if ((pole.type == "text" || pole.type == "select" || pole.type == "select" || pole.type == "textarea" || pole.type == "text" || pole.type == "text" || pole.type == "text" || pole.type == "text" || pole.type == "text") && pole.value == "")
  10. {
  11. alert("Proszę wypełnić wszystkie pola!");
  12. return false;
  13. }
  14. }
  15. return true;
  16. }
  17. // ]]>
  18. <form action="insert.php" method="post" onsubmit="if (sprawdz(this)) return true; return false">
  19. <div><font size="2">
  20. <label for="nazwa">Nazwa :</label><input name="nazwa" type="text" size="20"><br />
  21. <label for="kategoria">Wpisz kategorię:</label><select name="kategoria">
  22. <option>opcja 1</option>
  23. <option>opcja 2</option>
  24. <option>opcja 3</option>
  25. <option>itd opcja</option>
  26. <option>Inne</option>
  27. </select><br />
  28. <label for="region">Wpisz region:</label><select name="region">
  29. <option>cała Polska</option>
  30. <option>pomorskie</option>
  31. <option>warmińsko-mazurskie</option>
  32. <option>zachodnio-pomorskie</option>
  33. <option>kujawsko-pomorskie</option>
  34. <option>podlaskie</option>
  35. <option>lubuskie</option>
  36. <option>wielkopolskie</option>
  37. <option>łodzkie</option>
  38. <option>mazowieckie</option>
  39. <option>dolnośląskie</option>
  40. <option>opolskie</option>
  41. <option>śląskie</option>
  42. <option>świętokrzyskie</option>
  43. <option>lubelskie</option>
  44. <option>małopolskie</option>
  45. <option>podkarpackie</option>
  46. </select><br />
  47. <label for="opis">Opis:</label> <textarea name="opis" cols="30" rows="10">Tu wpisz opis Waszej firmy</textarea><br />
  48. <label for="Tel.stac">Telefon stacjonarny:</label><input name="tel" type="text" size="20" value="(nr. kier.) nr. telefonu" /><br />
  49. <label for="tel.kom">Telefon komórkowy:</label><input name="kom" type="text" size="20" value="bez przerw" /><br />
  50. <label for="Fax">Fax:</label><input name="fax" type="text" size="20" value="nie ma"/><font size="1">jeśli nie posiadasz- pozostaw jak jest</font><br />
  51. <label for="email">E-mail:</label><input name="email" type="text" size="20" value="twój e-mail"/><br />
  52. <label for="www">Strona www:</label><input name="web" type="text" size="20" value="http://"/><font size="1">jeśli nie posiadasz- pozostaw jak jest</font><br />
  53. <label for="Pyt">Pytanie pomocnicze*:</label><input name="pyt" type="text" size="20" /><br />
  54. <label for="odp">Odpowiedź*:</label><input name="odp" type="text" size="20" /><br />
  55. <tr>
  56. <td><? $slowa=file('hasla.txt');
  57. $id=rand(0,count($slowa)-1);
  58.  
  59. echo '<img src="pic.php?id='.$id.'"></td><td><input type="text" name="token" size="20">';
  60.  
  61. ?></td>
  62. </tr>
  63. </table>
  64. <input type="submit" value="Wyślij">
  65. <input type="hidden" name="los" value="<? echo $id; ?>"></left></div>
  66. </form><br />
  67. <font size="2">*Pytanie pomocnicze i odpowiedź do niego bedą potrzebne podczas odzyskiwania hasła.</font>
  68. </p>
  69.  
  70.  
  71. </font>
  72. </div>

i kod pliku insert.php




  1. <?
  2. if (isset($_SESSION['username'])) {
  3. $l = trim($_SESSION['username']);
  4. } else {
  5. header("Location: index.php");
  6. }
  7.  
  8.  
  9. $id=$_POST['los'];
  10. $odp=$_POST['token'];
  11.  
  12. $slowa=file('hasla.txt');
  13.  
  14. if(trim($slowa[$id])==$odp)
  15. {
  16. $message .= 'Hasło poprawne !';
  17. //dalsze instrukcje jeśli token poprawny
  18.  
  19.  
  20.  
  21.  
  22.  
  23. $kategoria=$_POST['kategoria'];
  24. $region=$_POST['region'];
  25. $nazwa=$_POST['nazwa'];
  26. $opis=$_POST['opis'];
  27. $tel=$_POST['tel'];
  28. $kom=$_POST['kom'];
  29. $fax=$_POST['fax'];
  30. $email=$_POST['email'];
  31. $web=$_POST['web'];
  32. $pyt=$_POST['pyt'];
  33. $odp=$_POST['odp'];
  34.  
  35. {
  36. $kategoria=addslashes($kategoria);
  37. $region=addslashes($region);
  38. $nazwa=addslashes($nazwa);
  39. $opis=addslashes($opis);
  40. $tel=addslashes($tel);
  41. $kom=addslashes($kom);
  42. $fax=addslashes($fax);
  43. $email=addslashes($email);
  44. $web=addslashes($web);
  45. $pyt=addslashes($pyt);
  46. $odp=addslashes($odp);
  47. }
  48. require_once('./config.php'); // załaczamy plik config.php
  49.  
  50.  $query="alter table `user` default character set 'utf8' collate 'utf8_polish_ci'";
  51.  $query = ("UPDATE `user` SET `kategoria`='$kategoria', `region`='$region', `nazwa`='$nazwa', `opis`='$opis', `tel`='$tel', `kom`='$kom', `fax`='$fax', `email`='$email', `web`='$web', `pyt`='$pyt', `odp`='$odp' WHERE `username`='$l'");
  52. $result = @mysql_query($query);
  53. if ($result){ //jezeli nie wystapily zadne bledy
  54. $message .= '<br />Twoje dane zostały dodane do bazy. Powrót do <a href="profil.php">profilu</a>';
  55. }else{
  56. $message .= '<br />Wystąpił bład. Przepraszamy za utrudnienia<br />';
  57. } 
  58. }
  59. else
  60. {
  61. $message .= 'Hasło niepoprawne!<br><br>';
  62. include('form.php');
  63.  $message .="wypełnij ponownie<a href='edit.php'>formularz</a>"
  64. }
  65.  
  66. ?>


Jeśli ktoś jest chętny do pomocy i wykonania tej małej robótki- czekam na oferty z ceną na PW lub e-mail. Ważne. Pozdrawiam. miccom