To jest prosty formularz testowy:
Zmienna ktora wpisywalem w formularzu to:
a'a"a/a
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<form action="test.php" method="get">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled</title>
</head>
<body>
<?php
$test = $_GET['zmienna'];
$db = new mysqli('localhost', 'uzytkownik', 'haslo', 'baza');
$db->query ('SET character_set_connection=utf8');
$db->query ('SET character_set_client=utf8');
$db->query ('SET character_set_results=utf8');
$zapytanie = "insert into test2 values ('".null."', '".$test."')";
$wynik = $db->query($zapytanie);
if ($wynik)
{
}
else
{
}
?>
</body>
</html>
To jest zmienna globalna:
<?php
$test = $_GET['zmienna'];
?>
Zostala ona zapisana do bazy przy wlaczonej funkji magic_quotes_gpc.
Potem wylaczylem magic_quotes i zapisalem do bazy zmienna:
<?php
?>
Potem zapisalem do bazy zmienna:
<?php
?>
Wynik w bazie jest nastepujacy:

Funkcje magic_quotes_gpc, mysql_escape_string i addslashes dzialaja bo inaczej jest blad przy zapisie do bazy.
Jednak nie zapisuja mi sie zadne backslashe w bazie i zastanawiam sie o co chodzi i jaki sens jest stosowania stripslashes?