Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: mod rewrite i formularz
Forum PHP.pl > Forum > Przedszkole
timii
zalozylem sobie przed chwilka stronke na serwerze darmowych z obsluga php i mysql.

oczywiscie jest tam system mod rewrite.

i takie pytanko. nie moge wyslac formularza (metoda post) aby wpisal mi dane do bazy.
domyslam sie ze chodzi o zmienne, podczas wysylania wartosci sa zapisywane do zmiennych
i serwer ich nie widzi.

nie wiem w czym problem i jak go rozwiazac.
DREEMus
My też nie wiemy w czym jest problem ... smile.gif

Przeczytaj swoje pytanie i domyśl się w czym jest problem biggrin.gif

Żadnego kodu, żadnych danych ... Powodzenia smile.gif
timii
no tak racja tongue.gif tylko ze u mnie na localhost dziala prawidlowo :/
oczywiscie jest laczenie sie z MySql.

  1. <?php
  2. if($wyslane=="tak") {
  3.  
  4. $zapytanie2 = "
  5.  
  6. insert into uzytkownicy values
  7. (
  8.  
  9. '',
  10. '$login',
  11. '$haslo',
  12. '$i_m',
  13. '$urodziny'
  14. )";
  15.  
  16.   $wynik2 = mysql_query($zapytanie2);
  17.  
  18. } else {
  19. ?>


  1. <form action="?pracownicy/dodaj/" method=post>
  2.  
  3. <table align=center valign=top width=90% border=0 CELLPADDING=0 CELLSPACING=0>
  4.  
  5.  
  6. <tr><td id=tekst width=150><b>login</b></td>
  7. <td align=left><input id=INPUT_dane_dlugie type="text" name="login"></td>
  8. </tr>
  9. <tr><td id=tekst width=150><b>hasło</b></td>
  10. <td align=left>
  11. <input id=INPUT_dane_dlugie type="text" name="haslo" value="
  12. </td>
  13. </tr>
  14. itd...
  15.  
  16. <input type="hidden" name="wyslane" value="tak">
  17. <input id=INPUT_log_in type="submit" value="DODAJ">
  18.  
  19. <? } // koniec else
  20. ?>
  21. </form>
Pomocnik
Działa na localhost bo masz tam włączone "REGISTER_GLOBALS". Jeśli chcesz otrzymac jakąś zmienną z formularza to odwolujesz sie do niej przez $_POST['nazwa_zmiennej']. Powinieneś wyłączyć REGISTER GLOBALS w php.ini ( znajdź w tym pliku linijke "register_globals = on " i zamien on na off)

Powinno być tak :
  1. <?php
  2. if($wyslane=="tak") {
  3.  
  4. $login = $_POST['login'];
  5. $haslo = $_POST['haslo'];
  6. itd...
  7.  
  8. $zapytanie2 = "
  9.  
  10. insert into uzytkownicy values
  11. (
  12.  
  13. '',
  14. '$login',
  15. '$haslo',
  16. '$i_m',
  17. '$urodziny'
  18. )";
  19.  
  20.  $wynik2 = mysql_query($zapytanie2);
  21.  
  22. } else {
  23. ?>


Oczywiście jest to całkowicie niebezpieczne rozwiązanie winksmiley.jpg
timii
dziekuje

uuuu...

dobrze wiedziec, ze niebezpieczne smile.gif a dlaczego niebezpieczne ?

i jakiego rozwiazania najlepiej uzyc ?
xeveot
Najlepiej wyłączyć REGISTER_GLOBALS, i filtrować zmienne przed dodaniem bo bazy bo nie wiadomo co użytkownik wpisał w formularz. winksmiley.jpg
DREEMus
Poczytaj o SQL Injection smile.gif
timii
dziekuje wam bardzo za pomoc smile.gif

musze sie podszkolic hehe ;P
erix
W regulaminie działu również - tagi tematu.
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.