Overstående linie er placeret i en inkluderet fil.
Via en while løkke, udskriver jeg nogle checkbokse, som får navnet “checkbox[]” og forskellige value’s, ud fra en SQL tabel.
Jeg kan så via foreach ($_POST["checkbox"] as $valgte_checkboxe) { } få fat i de checkboxe, der er checked, ved at bruge variablen $valgte_checkboxe.
Problemet opstår så, i det linien der automatisk escaper alle POST indkomne data, escaper de valgte checkboxes.
$_POST["checkbox"] er blot hel tom, og derfor fejler min foreach. Hvis jeg fjerner linien, der automatisk escaper alle POST indkomne data, virker det derimod helt perfekt, men jeg har jo brug for linien til alle mine andre ting.
Det opstår tilsyneladende kun ved dette tilfælde, hvor jeg navngiver checkboxene med “[]” i slutningen, og får fat i dem, uden “[]” altså $_POST["checkbox"].
Hvis jeg kun skal have helt bestemte informationer, og har givet checkboxene forskellige navne manualt, og undlader “[]” så virker det jo ordenligt.
Det ville virkelig være super, hvis jeg kunne få noget hjælp til det her. Tak på forhånd.
Hahah jeg er stiv - det står jo klart og tydeligt hvordan du escaper. Undskyld! jakobdo har naturligvis fat i den rigtige ende - Du er nødt til at lave noget andet, f.eks.:
I mener altså, jeg skal til at lave en funktion, og bruge den på alle de nødvendige steder? Nej tak. Meningen med overstående linie er jo, at den inkluderede fil gør arbejdet for en.
Så vil jeg hellere finde en alternativ løsning til min checkbokse, hvorved jeg kan finde ud, hvilke der valgt. Hvis dette er den bedste løsning, kan i så hjælpe med dette i stedet?
Checkboksene må få tildelt et navn f.eks "checkbox" og så skal der smides en foreløbende variabel ind, som plusses med en hver gang.
Så må man ved udførelse af formen køre et loop,og på forhånd have talt antal checkbokse der er udskrevet, og tjekke om hver enkelt checkboks er checked. Er den det, så må man smide den value ind i et array, og herefter benytte en foreach.
Jeg mener at have prøvet på samme måde før, men det kunne jeg sgu ikke lige få til at funke.
Tja, det er forskelligt hvad man synes. Jeg er ikke interesserede i at skulle anvende funktionen manualt alle de nødvendige steder.
Jeg satte mig lige hurtigt ned, og prøvede at lave noget ud fra det mente kunne være løsningen ->
Checkboksene må få tildelt et navn f.eks "checkbox" og så skal der smides en foreløbende variabel ind, som plusses med en hver gang.
Så må man ved udførelse af formen køre et loop,og på forhånd have talt antal checkbokse der er udskrevet, og tjekke om hver enkelt checkboks er checked. Er den det, så må man smide den value ind i et array, og herefter benytte en foreach.
-----------------
Det virker perfekt nu. Er du frisk på at delene pointene, jakobdo?
Jeg synes bestemt at coderdk og jeg kan dele ja. Men jeg synes dog stadig du har fat i den forkerte ende. Hvis det dog er den løsning du ønsker, så er alle vel glade. (indtil du ser fornuften i netop at anvende checkbox i et array)
jakobdo -> Jeg har jo netop set fornuften i at anvende et array til mine checboxe, da det jo også er det jeg gør nu. Ellers så er jeg ikke helt med på hvad i mener.
vil jo kun være nødvendig, hvis jeg fortsat brugte den gamle metode til valg af mine checkbokse. Så der er vel ingen grund til, at skulle benytte flere linier kode, så det kan undlades?
Sig endelig til, hvis jeg lige har misforstået jer.
Ja, og ang. magic qoutes, så har jeg selv valgt at deaktivere dette, da det ødelægger ting der indsættes til SQL databasen (Indsættelse af \).
Jeg ved ikke om strip_tags funktionen ville kunne rette op på det, da der også indsættes \" til databasen, der skal være der. strip_tags funktionen vil vel fjerne alle \ ?
Ja, det vil jeg mene. Om du skal rette lidt kode til eller ej. Der er stadig nogle ting som nu engang er smartest at lave på en måde. Ikke ensbetydende med det er den eneste måde at lave det på. Det var bare det jeg mente.
Synes godt om
Ny brugerNybegynder
Din løsning...
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.