Problem textarea, post method, php, mysql
Kad unesem tekst preko TEXTAREA, PHP sve to lepo smesti u MySQL bazu...
Ali kad u tu istu TEXTAREA unesem neki tekst putem copy/paste "metode", jednostavno nece nista da unese u bazu... Ima li neko slicno iskustvo... |
Citat:
pada mi na pamet: 1. taj copy-paste ima previše karaktera i to baza ne može da spakuje u predvidjeno polje (rešenje promeni tip u bazi na nešto veće) 2. da se slučajno nije promakao neki od zabranjenih karaktera ... ala apostrof, navodnik etc. |
Tip kolone u bazi je TEXT...
|
Citat:
|
nemam više ideja :)
dosta bi ti pomoglo da hvataš mysql grešku ... ako ti to na kaže šta je teško ćeš ovako naslepo da ubodeš :1014: |
def, probaj da uradis nesto ovako:
mysql_query($query) or die(mysql_error()); ako pukne negde - lako ces videti, i onda nam daj da vidimo to tvoje polje. ali verovatno je ovaj drugi problem, nesto sto ubacujes ti nije zasticeno, ako ti se ta promenljiva zove tipa $komentar kada je hvatas, nemoj da napises samo $komentar = $_POST['komentar']; nego je zastiti sa dodatnim slashevima, if needed, to ce sve sam PHP da ti odradi, samo pozovi to ovako: $komentar = addslashes($_POST['komentar']); ziv bio pa da ti proradi ;) |
1. Nikad ne koristiš add / stripslashes(). Postaraj se da skript UVEK radi sa ulaznim parametrima bez slasheva. Ja ih uvek stripujem pri inicijalizaciji skripte sa:
PHP kôd:
Ove funkcije su relativno davno napisane, ali do sada nisam imao nikakvih prijavljenih problema sa njima. 2. Kada escapeuješ stringove u upitima koristim mysql_real_escape_string(). Ova funkcija koristi direktno MySQL funkcije tako da ti ne moraš previše da se cimaš. Takođe možeš da pogledaš prepared statements, ali to je meni previše cimanja. Evo jedan kratak tekst. Btw, ovaj i slični problemi su razlog zašto mislim da početnici treba da koriste postojeće framework-e. |
OK... provericu sve to...
Evo jos par detalja koje sam video... Kad npr kopiram sa ove strane http://www.pcmag.com/article2/0,2704,1868388,00.asp onda nece da mi unese to u bazu A kad prekopiram ovo sto ste mi vi gore pisali to hoce... sa ove strane DevProTalk foruma. I tako... znaci sa neke hoce a sa neke nece... zavisi... i iz Worda nece takodje... Jos cu sad malo ispitati ovo sto ste mi gore rekli... |
Prekini da razmišljaš o tome šta 'oće, a šta neće i pogledaj tekstove i savete što su predloženi i RAZUMI to o čemu se priča. Problem je trivijalan i ako ne shvatiš da stringove koje unosiš u bazu treba da escapeuješ pre unosa od tvog programiranja neće biti ništa.
Simple as that ;) |
Citat:
|
$upit4 = mysql_query("insert into tekstovi(naslov,tekst) values('$naslov','$tekst'",mysql_real_escape_strin g($tekst));
Ovo neradi... pokusavam sad i ostale opcije... |
Probaj nešto ovakvo (kod iz glave, čisto ilustrativno):
PHP kôd:
|
Pokusao sam sve ovo... pogotovo ovo sa mysql_real_escape_string($tekst)... ali nece pa nece.
Jednostavno kad god imam u tekstu jednostruke navodnike nece nista da upise u bazu... |
hmm, pa uradi echo SQL-a koji prosledjujes mysql_query, pa vidi sta mu saljes... i vidi koja je mysql greska, ako je ne prikaze na ekranu, pogledaj u apache error.log-u
|
Citat:
neki ' tekst kad evo sta mi vrati 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 'tekst')' at line 1 Moram reci da mi na mom kompu radi sve ok... samo eto na hosting provajderu nece... Na mom kompu cak nemoram ni da uradim escape... |
pa pogledaj covece koji SQL saljes, lepo sam ti napisao iznad. Uradi:
mysql_query($query) or die("SQL: [ $query ]<br>\nERROR: ".mysql_error()); osnovna stvar je da vidis sta je to sto ti pravi problem, pa ces onda lako da shvatis kako da ga izbegnes.. |
Stvarno ne videh da se neko toliko bori sa tako trivijalnim problemom. Možda zazvuči okrutno, ali tako je: ako sa ovim ne možeš da izađeš na kraj teško da ćeš bilo šta složenije moći da rešiš. Zato: pročitaj par "Uvod u PHP" i "PHP i MySQL" tutorijala (PHPFreaks i SitePoint su imali par dobrih ranije), onda pogledaj šta je sve napisano u ovoj temi i overi linkove. Bez toga ti jednostavno NIKO ovde ne može pomoći. |
Evo vidim da na hosting provajderu je sve iskljuceno...
Na mom kompu upisuje, a na hostu ne... magic_quotes_gpc Off Off magic_quotes_runtime Off Off magic_quotes_sybase Off Off To je dakle problem... hvala svima na trudu. |
Vreme je GMT +2. Trenutno vreme je 04:17. |
Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.