Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pogrešno upisuje u bazu, a ja ne znam kako da testiram kod i otkrijem grešku

[es] :: PHP :: PHP za početnike :: Pogrešno upisuje u bazu, a ja ne znam kako da testiram kod i otkrijem grešku

[ Pregleda: 1563 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

alfa-pro
Pancevo

Član broj: 241818
Poruke: 476
*.dynamic.isp.telekom.rs.



+7 Profil

icon Pogrešno upisuje u bazu, a ja ne znam kako da testiram kod i otkrijem grešku25.04.2010. u 23:23 - pre 170 meseci
Pre par meseci sam uradio ovu scriptu za jedan sajt i sada sam hteo da je iskoristim na nekom drugom i nece nesto da radi.

Problem je to sto kada unesem vrednost u polje NASLOV u formi i text sadrzaj u textareu on u bazu kao naslov upisuje sadrzaj?? Nezam zasto proverio sam vise puta i nemogu da nadjem gresku...

Baza se sastoji od nekoliko polja u ovom sucaju sta ja koristim tabelu sadrzaj i polja ID, SADRZAJ, TEXT.
Imam na sajtu polje za naslov
<input type="text" name="naslov"> i <textarea name="text">
Kada na primer unesem u polje naslov " NASLOV1 " i u polje za text "TEKST1 " i potvrdim podaci se posalju u bazu ali vrednos textarea se ubacuje u obe kolone???
Neznam zasto jesam nesto pogresio proverio sam SQL UPDATE svi podaci su dobri...
Umesto da iz polje naslov smesti u bazu u polje naslov i tako za text a ne text da smesta i u naslov??

Ajde pogledajte ovaj kod mozda nadjete gresku....

Code (php):
 <?php

      if (isset($_GET['id']) && is_numeric($_GET['id'])) $id = $_GET['id'];
      elseif(isset($_POST['id']) && is_numeric($_POST['id'])) $id = $_POST['id'];
      else die("greska");

      if (isset($_POST['submitted'])) {

            errors = array();

            if (empty($_POST['naslov'])) $errors[] = 'Zaboravili Ste Da Unesete Naslov Teksta.';
            else $naslov = $_POST['tekst'];

            if (empty($_POST['tekst'])) $errors[] = 'Zaboravili Ste Da Unesete Tekst Poruke';
            else $tekst = $_POST['tekst'];

            if (empty($errors)) {
                  $query = "UPDATE sadrzaj SET naslov='$naslov', tekst='$tekst' WHERE id=$id";
                  if($result = mysql_query($query)) echo 'Changes have been saved.';
                  else echo 'greska';
            }
            else foreach ($errors as $msg) echo " - $msg<br/>\n";

      }
      else {
            $query = "SELECT naslov, tekst, id FROM sadrzaj WHERE id=$id";
            ... prikaži tekst ...
      }
?>



[Ovu poruku je menjao Goran Rakić dana 26.04.2010. u 00:38 GMT+1]

[Ovu poruku je menjao Goran Rakić dana 26.04.2010. u 00:42 GMT+1]
Kada vidjamo uvek ista lica, na kraju ona postaju deo našeg života. A kada postanu
deo našeg života,
onda žele i da nam ga izmene. I ako ne bude po njihovom, nije im pravo. Jer, svaki
čovek ima tačnu predstavu kako bi trebalo da živimo svoj život. A nikad nemaju pojma
kako treba da prožive sopstveni život.
 
Odgovor na temu

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: Mozete da pogledate ovaj kod sto sam radio...25.04.2010. u 23:31 - pre 170 meseci
Code (php):

      $naslov = $_POST['tekst'];
 


treba $_POST['naslov']. Duguješ mi piće.

Nauči da testiraš kod. Običan var_dump($_POST) bi ti za početak rekao da su podaci uspešno stigli, a onda var_dump($naslov) bi ti rekao da ova promenljiva nije dobro inicijalizovana.

Nauči da lepo formatiraš (uvlačiš) kod i da na forum objaviš samo odgovarajući deo koda tako što izbaciš sve što nije relevantno (HTML, if-ove koji nemaju veze sa problemom itd.). Potrudi se da uložiš vreme u oblikovanje poruke i opisivanje problema. Sažeto, jasno i poštujući pravopis.

Vodi računa da u ovom kodu nisi koristio nikakvu zaštitu od SQL ubrizgavanja. Vodi računa da nisi koristio nikakvu zaštitu od ubrizgavanja neželjenog JavaScript i HTML koda. Ako stranu koristiš samo ti za postavljanje vesti, to je ok, ali ako je skripta šire dostupna, to može biti opasan problem.




[Ovu poruku je menjao Goran Rakić dana 26.04.2010. u 00:44 GMT+1]
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

alfa-pro
Pancevo

Član broj: 241818
Poruke: 476
*.dynamic.isp.telekom.rs.



+7 Profil

icon Re: Pogrešno upisuje u bazu, a ja ne znam kako da testiram kod i otkrijem grešku25.04.2010. u 23:50 - pre 170 meseci
Vidi stvarno jeste ja sam sat vremena znaci gledao trazio gresku i nije mi to palo za oko.. Dugujem ti 5 pica bro...
Ajde zaradi i veceru :D

Daj neki link ili kljucne reci za zastitu pri upisu u bazi to za javascript sto si pominjao...
Ovo koristim u admin panelu kada kliknem na neki naslov vesti i otvara mi edit stranu..
Kada vidjamo uvek ista lica, na kraju ona postaju deo našeg života. A kada postanu
deo našeg života,
onda žele i da nam ga izmene. I ako ne bude po njihovom, nije im pravo. Jer, svaki
čovek ima tačnu predstavu kako bi trebalo da živimo svoj život. A nikad nemaju pojma
kako treba da prožive sopstveni život.
 
Odgovor na temu

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: Pogrešno upisuje u bazu, a ja ne znam kako da testiram kod i otkrijem grešku26.04.2010. u 00:00 - pre 170 meseci
Ako to koristiš samo ti, nema problema (nećeš ti sam hakovati svoj sajt).

Ako koristiš isti kod da mogu i posetioci da unose tekstove, komentare,... onda si ranjiv.

http://phpsec.org/projects/guide/2.html#2.3
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

alfa-pro
Pancevo

Član broj: 241818
Poruke: 476
*.dynamic.isp.telekom.rs.



+7 Profil

icon Re: Pogrešno upisuje u bazu, a ja ne znam kako da testiram kod i otkrijem grešku26.04.2010. u 00:07 - pre 170 meseci
Ne ovo samo ja koristim ali verujem da cemi ovo dobro doci da znam za u buduce kada budem radio nesto gde ce korisnici sami postavljati... Ok hvala ti puno pa da castim kad se vidimo
Kada vidjamo uvek ista lica, na kraju ona postaju deo našeg života. A kada postanu
deo našeg života,
onda žele i da nam ga izmene. I ako ne bude po njihovom, nije im pravo. Jer, svaki
čovek ima tačnu predstavu kako bi trebalo da živimo svoj život. A nikad nemaju pojma
kako treba da prožive sopstveni život.
 
Odgovor na temu

[es] :: PHP :: PHP za početnike :: Pogrešno upisuje u bazu, a ja ne znam kako da testiram kod i otkrijem grešku

[ Pregleda: 1563 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.