Pangaea Skrevet 14. mai 2004 Del Skrevet 14. mai 2004 Bruker session for å sende data tilbake til et skjema om bruker har glemt å skrive inn viktig info. Har forstått det sånn at man bør bruke mysql_escape_string() fra skjema uansett. Jeg bruker nå fx $_SESSION['username'] = htmlspecialchars(mysql_escape_string(trim($_POST['username']))); Er det en sikker måte å gjøre det på? Så bruker jeg <?php echo stripslashes($_SESSION['username']); ?> Ser ut som å virke greit etter testinga jeg har gjort, men problemet oppstår på textarea. Hvordan skal man gjøre det for at det skal være sikkert og at linjeskift osv ikke forsvinner? Med å bruke ovennevnte funksjon blir det bare rot... Bruker jeg ikke stripslashes() blir det fx "aaaaaaaaaaa\r\n\r\nbbbbbbbbb" Med stripslashes() blir samme teksten "aaaaaaaaaaarnrnbbbbbbbbb" Hva må jeg gjøre for å få dette til? Da var det puta neste PS: Hvor ble det av "Tittel #2" når man lager emne? Lenke til kommentar
kakkle Skrevet 14. mai 2004 Del Skrevet 14. mai 2004 Du kan bruke funksjonen nl2br($tekst) når du skal skrive ut teksten fra tekstfeltet. Denne funksjonen gjør alle linjeskift om til <br> kakkle Lenke til kommentar
Pangaea Skrevet 14. mai 2004 Forfatter Del Skrevet 14. mai 2004 Jeg har prøvt det, men det fungerer ikke. Uten sikkerhetsfunksjonen over fungerer det uten noen funksjoner, men pga htmlspecialchars og/eller mysql_escape_string får jeg bare opp \r\n\r\n. Noen andre som bruker dette i et skjema, og hvordan har dere løst det? Lenke til kommentar
Cucum(r) Skrevet 14. mai 2004 Del Skrevet 14. mai 2004 PirkePirke: nl2br gir nå xhtml output, så det er <br /> istedet for <br> Lenke til kommentar
Pangaea Skrevet 14. mai 2004 Forfatter Del Skrevet 14. mai 2004 Ser ut som problemet ble løst likevel. Med å bruke htmlspecialchars(addslashes(trim($_POST['notes']))); istedenfor htmlspecialchars(mysql_escape_string(trim($_POST['notes']))); fungerte det. Begge deler er trygt tror jeg så da velger jeg den som funker Lenke til kommentar
The Red Devil Skrevet 14. mai 2004 Del Skrevet 14. mai 2004 Slik som eg har forstott det så bruker du bare mysql_escape_string når du kjører ein query eller legger til noko i ein database. I din sammenheng, så vil du jo sjekke om brukeren virkeleg er i databasen, så kvifor ikkje bare hente ut brukernavnet fra databasen og ? Og deretter plassere det i sessionen. Lenke til kommentar
Pangaea Skrevet 14. mai 2004 Forfatter Del Skrevet 14. mai 2004 Kunne gjort, men for å få det mest brukervennlig har jeg satt all info fra skjemaet i session. Hvis de mangler noe info for å få fullført registrering, sender jeg ham tilbake til skjemaet, og infoen han/hun har fylt ut, kommer opp i skjemaet, så de slipper å fylle det inn igjen. Finnes sikkert mye enklere måter å gjøre det på, men nå funker det, og da er jeg happy Samt litt artig å ha noe man har laget selv også, ikke bare kopiert kode... Lenke til kommentar
The Red Devil Skrevet 14. mai 2004 Del Skrevet 14. mai 2004 ah ok, bare ein tanke men vist sessionene bare var "forhands lagring" (temp) så trenger du jo strengt tatt ikkje kjøre nokon sikkerhets sjekker/forhandsregler før du bruker informasjonen i server/database sammenheng. Lenke til kommentar
Pangaea Skrevet 14. mai 2004 Forfatter Del Skrevet 14. mai 2004 Nei du har vel egentlig rett der. Alt funker sånn det skal nå, tror jeg, så vil ikke rote med det Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå