13. marts 2003 - 03:35Der er
16 kommentarer og 1 løsning
Textarea - Grænse for mængde af data
Jeg sidder her og er ved at drives til vandvid. Jeg har mit lille site, hvor jeg kan gå ind og tilføje eller ændre sider. Alle siderne ligger i en MySQL database, og selve indholdet ligger i et felt af typen longtext. Ændringen af denne tekst foregår via et textarea som så sendes til PHP og smides ind i datbasen.
Nu er mit problem bare at den somme tider stopper og ikke tager alt teksten med. Den skærer simpelthen min tekst over og tager kun den første del. Men tilsyneladende er det tilfældigt hvornår, altså det er ikke ved x antal tegn, det virker fuldstændigt tilfældigt.
I min php.ini er denne sat
post_max_size = 8M
Og det skulle gerne være mere end rigeligt da vi ikke snakker om mere end ca. 10 kb text der sendes. Men igen, det virker også tilfældigt, så jeg kan heller ikke se hvordan det skulle have nogen betydning.
Min kode, den del der smider ændringerne ind i databasen når jeg retter en side (ved ikke om samme problem findes når jeg opretter en ny side) :
Efter ti år i London, Madrid, Paris og Utrecht kommer Sabios AI-fokuserede program af arrangementer om kundeoplevelser, ‘Disrupt’, for første gang til Danmark.
htmlentities() må for guds skyld ikke bruges i dette tilfælde, da der er tale om en admin side, hvor jeg skal have mulighed for at bruge HTML... Men det kunne du jo ikke vide :) Men har det nogen betydning i denne sammenhæng?
addslashes klarer den automatisk... plejer den i hvert fald :)
Og den lille fejl med den manglende ' skyldes vist at jeg har fået slettet den da jeg pastede koden ind her... Den er der i den oprindelige kode
Sorry... Overså lige i hvilken sammenhæng du brugte htmlentities(), den er fin nok :) Men har det nogen betydning, jeg mener, det er jo tilsyneladende ikke mit textarea der fejler, det lader til at gå tabt når det sendes, på en eller anden måde.
Joh, hvis der nu står </textarea> i dit felt, så går det galt ... :) Men det gør der nok ikke. Du kan droppe din str_replace, hvis du bruger htmlentities - bortset fra den ikke tager et array.
Jeg spekulerer bare på hvor afskæringen sker. Ved indsættelse eller udtræk. Umiddelbart er der ikke noget anderledes end det jeg gør.
Ja, det jo rigtigt, forhåbentlig får jeg ikke brug for at indsætte nogen </textarea> foreløbigt :) Det er i hvert fald ikke forklaring, men gid det var, så vidste jeg da hvorfor :)
Jeg tror (uden at være sikker) at det sker før indsættelsen. Men jeg kan ikke lige forklare det. Kan det være en fejl på serveren?
Synes godt om
Slettet bruger
13. marts 2003 - 08:56#9
$sql = UPDATE pages SET url = '$url', main = '$main', doctype = '$doctype', title = '$title', description = $description', keywords = '$keywords', robots = '$robots', css = '$css', head = '$head', top = '$top', topbar = '$topbar', menu = '$menu', content = '$content' WHERE id = '$id'";
el_barto > Har mine problemer med at fremprovokere fejlen, men nu ved jeg da med sikkerhed at det ikke er ved x antal tegn! Men det er også noget nær det eneste jeg kan komme frem til. Det dukker bare lige pludselig op uden nogen synlig grund, den opdaterer fint indholdet i databasen, men den tager bare ikke det sidste med. Hvis jeg f.eks. ændrer den del den tager med er der ingen problemer, men jeg kan ikke tilføje mere.
Det sgu for mystisk til mit trætte hoved det her :( Tror mere og mere det er en fejl på serveren, men kan bare ikke lige se nogen logik i det
Når du leger med det, så husk at kigge i "vis kilde" om du får det hele med ud, så det ikke er en dum HTML-fejl, der skærer af. Kan vi få hele koden (uden passwords) - gerne som link, eller en URL til afprøvning?
Kan simpelthen ikke fremprovokere fejlen nu... Har prøvet alverdens underlige ting, men den vil ikke, så hvad end det var ser det ud til at være væk nu. Kunne jo godt tyde på en dum HTML fejl, synes bare det lyder usandsynligt at jeg skulle have lavet den samme fejl så mange gange lige efter hinanden, men man ved jo aldrig :)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.