ďťż
Podstrony
|
telcocafehello :)mam problemik, probuje stworzyc skrypt dla osoby tora bedzie do bazy dodawac nowego klienta. Baza sklada sie z tabeli osoba, pokoje, itd... w tabeli osoba sa pola typu , imie, nazwisko, firma_id, kod_pocztowy, miejscowosc, ulica. itd... problem jest tego typu, iz udalo sie doprowadzic do tego, by skrypt dodawal imie i nazwisko do bazy ;) (dla mnie to bylo juz sporo) { $query="INSERT INTO osoba (imie, nazwisko) VALUES ('$_POST[imie]','$_POST[nazwisko]')"; $result = mysql_query($query) or die ("problem inserting new product into database"); }?> taki byl kod, ktory to wykonywal dodalalm wiec kod_pocztowy, ulice itd... { $query="INSERT INTO osoba (imie, nazwisko, kod_pocztowy) VALUES ('$_POST[imie]','$_POST[nazwisko]','$_POST[kod_pocztowy] ')"; $result = mysql_query($query) or die ("problem inserting new product into database"); }?> ale kod dodaje do bazy puste pola, bez wzgledu na to, czy w ogole je wypelniono :mad: nawet nie sa NULL :unsure: sprawdzalam juz, czy sa literowki.. nic nie znalazlam :( pomocy bo trace nadzieje (ze mi sie uda;)) i cierpliwosc... :( POMOCY!! :pomocy: Użytkownik ArteK edytował ten post 05 wrzesień 2005, 11:16 sprubój tak : { $query="INSERT INTO osoba (imie, nazwisko, kod_pocztowy) VALUES (\"$imie\", \"$nazwisko\",\"$kod_pocztowy\")"; $result = mysql_query($query) or die ("cos nie trybi"); } Użytkownik ArteK edytował ten post 05 wrzesień 2005, 11:16 dzieki, ale udalo sie problem rozwiazac. w formularzu mam dane odnosnie nowej osoby i nowej firmy. pola te sa ukryte w formularzy, klikajac na radio odrywaja sie, by moc je uzupelnic ;) problem tkwil w ich nazwach :) w polu dotyczacym osoby i firmy byly te same nazwy po textowych "miejscowosc" kod_pocztowy" ... i to wlasnie te puse dane do bazy trafily ;) wystarczylo tylko nazwy zmienic ;) dziekuje.... pewnie sie jeszcze odezwe ;) bosh przepadnij zmaro nieczysta !!! toż to jest bardziej podatne na wszystkie injectiony niż nie wiem co :| brrr :D podczas tworzenia skryptów jest jedna zasada nie można ufać userowi, czyli dodaj jakieś sprawdzanie i filtorowanie danych np addslashes(), htmlspecialchars() czy strip_tags() Poza tym używaj np. phpmyadmin i wpisuj mysql_query("zapytanie") or die (mysql_error()); To Ci pokaże jakie błędy są. Co do tej wiary w userów, tu racja. Lepszym pomysłem byłaby aktywacja konta, np. używając funkcji mail (), w treści emaila byłby link, po naciśnięciu którym konto by się aktywowało (czyt. dodanoby usera do bazy danych). Do tego skrypt będzie szybszy jak nie będziesz używał: $zapytanie="zapytanie"; $rezultat=mysql_query($zapytanie); tylko: mysql_query ("zapytanie") or die (mysql_error()); Użytkownik Norr edytował ten post 05 wrzesień 2005, 19:37 Poza tym używaj np. phpmyadmin i wpisuj mysql_query("zapytanie") or die (mysql_error()); To Ci pokaże jakie błędy są. Co do tej wiary w userów, tu racja. Lepszym pomysłem byłaby aktywacja konta, np. używając funkcji mail (), w treści emaila byłby link, po naciśnięciu którym konto by się aktywowało (czyt. dodanoby usera do bazy danych). :D no ale jest to jakiś sposób zabezpieczenia :D, no ale masz rację, wpisy trzeba sprawdzić, czy jakiegoś kodu nie ma :D. Użytkownik Norr edytował ten post 05 wrzesień 2005, 19:48 czemu odrazu "zmaro nieczysta", o ile dobrze zrozumialam z tym zabezpieczeniem to mam je w pliku ktory laczy sie z baza function escape_data ($data) { global $dbc; if (ini_get('magic_quotes_gpc')) { $data = stripslashes($data); } return mysql_real_escape_string (trim ($data), $dbc); no chyba,ze sie nie zrozumielismy :blink: a co do sprawdzenia danych w samych polach formularza... na to tez czas przyjdzie, jak mi zacznie dzialac dodawania nowych osob, biorac pod uwage kilka warunkow :) PS. i prosze o wyrozumialość dla początkujących ;) pozdrawiam [quote name='Norr' date='05.09.2005 21:35'] Poza tym używaj np. phpmyadmin i wpisuj mysql_query("zapytanie") or die (mysql_error()); To Ci pokaże jakie błędy są. używam phpMyAdmin :> ale głównie celem sprawdzenia tego, co do bazy się dodało co do jego pomocy w pokazaniu błędów, to samo otrzmymam poprzez $wynik = mysql_query($pytanie) or die ("problem z dodaniem nowej osoby". mysql_error()); :D :D |
|||
Sitedesign by AltusUmbrae. |