|
[ midgard @ 08.06.2006. 14:11 ] @
| Pravim sistem za pisanje vesti za sajt i napravio sam ceo inerfejs za one koji ce da pisu vesti od logovanja, sesija, kukija, do polja za upload slika i teksta. Problem je u tome sto nekad kada hocu da napisem neku vest nece da izvrsi query a kada izlupam karaktere tipa 'dasdasd sad d asd ' i ubacim slike (jednu ili vise sve radi ok). Kuci koristim XAMPP koji mi sluzi kao standalone server i na njemu sve lepo radi. Evo screenshot-a:
Znaci sve mi lepo radi kuci na pomocnom serveru, na internetu ponekad radi a ponekad izbaci da ne moze da izvrsi query...Pomagajte...
P.S. Short message je poruka za naslovnu stranu a kad se klikne na dugme opsirnije na naslovnoj strani ide se na stranu gde se vidi sadrzaj long message i onih 10 slika. |
[ glavince @ 08.06.2006. 14:24 ] @
Koji ti je type kolone u bazi gde upisujes text. varchar text ...
[ midgard @ 08.06.2006. 14:52 ] @
Probao sam i kao text, mediumtext, longtext, varchar i i dalje nece ...:(
[Ovu poruku je menjao midgard dana 08.06.2006. u 16:16 GMT+1]
[ SmilieBG @ 08.06.2006. 15:39 ] @
"ponekad izbaci da ne moze da izvrsi query"
Koju gresku jos vraca? Sta kaze log?
Poz,
Sale
[ midgard @ 08.06.2006. 16:56 ] @
Ovo je dao koda koji je problematican:
Code: $sql = "INSERT INTO messages (id,title,message,user,date,category,filename,width,filename1,filename2,filename3,filename4,filename5,filename6,filename7,filename8,filename9,filename10,small_filename1,
small_filename2,small_filename3,small_filename4,small_filename5,small_filename6,small_filename7,small_filename8,small_filename9,small_filename10,long_message) VALUES ('$id','$title','$message',
'$user','$current_date','$category','$filename_front2','$imagewidth','$image1','$image2','$image3','$image4','$image5','$image6','$image7','$image8','$image9','$image10','$small_filename1',
'$small_filename2','$small_filename3','$small_filename4','$small_filename5','$small_filename6','$small_filename7','$small_filename8','$small_filename9','$small_filename10','$long_message')";
$result = mysql_query($sql) or die ("Couldn't execute query 2.");
Sve podatke postuje kako treba, proveravao sam sto puta, problem je u long_message taj deo texta nece da prebaci, a bez tog dela sve lepo radi... a greska koju ispise je "Couldn't execute query 2." zato sto pukne ta linija koda.
Code: <textarea id="b" cols="110" style="height:900px;" rows="7" name="long_message" onKeyUp="this.value = this.value.slice(0, 6200)" wrap="virtual"></textarea>
deo koda za textarea gde sam onemogucio da se unese vise od 6200 karaktera za long message .
Poz.
[ SmilieBG @ 08.06.2006. 17:01 ] @
Prepravi ovo:
or die ("Couldn't execute query 2.");
u:
or die ("Couldn't execute query 2.", mysql_error());
pa ce ti napisati _sta_ je tacno to sto ne moze da uradi ;)
Pa postuj ovde, zanima i ostale, ako nista drugo, ono informativno, ako naidju na istu / slicnu gresku...
Poz,
Sale
[ midgard @ 08.06.2006. 23:04 ] @
Mislim da sam nasao gresku, imao sam jedan apostrof u tekstu koji sam pisao koje se mesao sa apostrofima sql upita.
Poruka koju je izbacio je:
Code: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'soUz 16:6 vs Trap 16:6 vs r3d 16:8 vs Begrip 16:2 vs Begrip Puno srece Virt' at line 4
Jos par pitanja zasto mi izbacuje ovu poruku:
Code: Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0
i kako da omogucim da mogu da se unose apostrofi i navodnici, da li ima neki zna kao sto je kosa crta+n za novi red?
Hvala svima puno na brzim odogovorima, Sale tebi najvise.
Poz,
[ SmilieBG @ 08.06.2006. 23:11 ] @
Sto se tice apostrofa, pogledaj: http://nl2.php.net/addslashes odnosno:
$message = addslashes($message);
$long_message = addslashes($long_message);
$sql = "INSERT INTO messages (id,title,message,user,date,category,filename,width,
filename1,filename2,filename3,filename4,filename5,filename6,filename7,filename8,filename9,filename10,
small_filename1,small_filename2,small_filename3,small_filename4,small_filename5,small_filename6,
small_filename7,small_filename8,small_filename9,small_filename10,long_message)
VALUES
('$id','$title','$message','$user','$current_date','$category','$filename_front2','$imagewidth','$image1',
'$image2','$image3','$image4','$image5','$image6','$image7','$image8','$image9','$image10',
'$small_filename1','$small_filename2','$small_filename3','$small_filename4','$small_filename5',
'$small_filename6','$small_filename7','$small_filename8','$small_filename9','$small_filename10','$long_message')";
$result = mysql_query($sql) or die ("Couldn't execute query 2.");
i onda treba da ti radi ;)
Kada vadis podatke iz baze, onda ih moras prvo propustiti kroz: http://nl2.php.net/manual/en/function.stripslashes.php koje ce skloniti navodnike pre ispisivanja na ekranu.
Sto se tice te druge greske (warning), to je za sada samo upozorenje, sto znaci da nije kriticno, ali moze biti.
Naime, koristis u sesijama odredjenu funkciju, cije se ponasanje promenilo u verziji PHP 4.2.3. U celom textu, ovo je mislim za tebe najbitnije:
Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled.
Odnosno, skripta je verovatno radjena na PHP-u pre verzije 4.2.3, te neki delovi koda nisu vise up-to-date sa specs PHP-a. Kako warning nije pozvan unutar nekog fajla, vec je 'opste' upozorenje, ne znam gde tacno da trazis to da ispravis :) Ali je u sesijama u svakom slucaju...
Poz,
Sale
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|