09. juni 2003 - 19:54
Der er
18 kommentarer og 1 løsning
Txt til db via form?
Hej Hvis jeg sætter noget txt ind i db'en via en form bør jeg så bruge: $post_navn = mysql_escape_string($_POST['navn']); Eller er det nok med: $navn = $_POST['navn']
Annonceindlæg fra Sabio
Hvis du mener med sikkerhed bør du nok lave sådan her: $_POST['navn'] = addslashes($_POST['navn']);
også når du skal bruge det igen stripslaches($str);
Hvis du også ønsker at komme af med html-tags: $_POST['navn'] = ereg_replace("<([^>]+)>", "", $_POST['navn']);
Ja jeg mener med sikkerhed. Hvad bruger man mysql_escape_string($_POST['navn']) til?
Skal jeg bruge stripslaches($str) til når jeg skal udskrive? sådan? echo stripslaches($navn);
$_POST['navn'] = addslashes($_POST['navn']); $_POST['navn'] = ereg_replace("<([^>]+)>", "", $_POST['navn']); Det skulle være nok.
Hvad sker der hvis jeg ikke bruger addslashes($_POST['navn']) og kun bruger $navn?
Så lægger du bare $_POST['navn'] overi variablen $navn
09. juni 2003 - 20:02
#10
addslaches tilføjer en \ (backslaches) til ' hvilket gør at den tekst man poster ikke ville kunne udføre SQL kommandoer.
09. juni 2003 - 20:06
#11
Altså jeg skal gøre sådan? <?php $navn = addslashes($_POST['navn']); mysql_query("INSERT INTO table (navn) VALUES ('$navn')"); ?> <form method="POST" action="<? $_SERVER['PHP_SELF'] ?>"> <input type="text" name="navn" size="20"> <input type="submit" value="Skriv"> </form>
09. juni 2003 - 20:09
#12
Og når jeg skal udskrive det skal det så se sådan ud?? $query=mysql_query("SELECT * FROM table ORDER BY id DESC"); while($row = mysql_fetch_array($query)) { echo $row['navn']; }
09. juni 2003 - 20:12
#13
$query=mysql_query("SELECT * FROM table ORDER BY id DESC"); while($row = mysql_fetch_array($query)) { echo stripslashes($row['navn']); }
09. juni 2003 - 20:13
#14
Og med de 2 eks. som jeg kom med er sikkere nok? Skal jeg også bruge addslashes($_POST['navn']) til UPDATE ?
09. juni 2003 - 20:20
#15
Du skal bruge det alle de steder du vil tro at folk kan skrive sql kommandoer, hvilket de også kan når de opdatere deres tekst.
09. juni 2003 - 20:22
#16
De steder hvor jeg kun kan skrive så er det vel nok med $_POST['navn'] ? Og de steder hvor alle kan skrive skal jeg vel bruge addslashes($_POST['navn']) ?
09. juni 2003 - 20:23
#17
Ja, som sagt alle steder hvor du tror det kan blive misbrugt og der skrives sql kommandoer skal du have det.
09. juni 2003 - 20:27
#18
takker
Vi tilbyder markedets bedste kurser inden for webudvikling