Olá!
Um exemplo simples de uma consulta utilizando sql:
$sql = "SELECT * FROM users WHERE username = '$user'";
Observou a utilização de aspas simples certo? Imagine se a variável tivesse o valor:
$user = "assis '";
Ao enviar a query paro o SGBD causaria um erro em seu sistema de login (muito primitivo por sinal), porém normalmente os dados de um formulário são transformados em variáveis com essas alterções (' seria trocado por \' e assim por diante).
A função addslaches() tem esse objetivo, porém se vc usa-la em uma string em que já houve a transformção logicamente ela não saberá e trasnformara-la novamente... exemplo:
//nome vindo do forumlário: assis'
$name = "assis\'"; //conversão automática e invisível para o programador
Se você fizer algo do tipo:
$name = addslaches($name);
$name será agora: assis\\\' entende?
De diferente modo, a função stripslashes() retira essas "transformações" então se vc se sente inseguro ao receber as informações, eu aconselharia a usar as duas funções consecutivamente:
$name = addslaches(stripslaches($name));
Pois assim vc não corre risco, defaz as possíveis transformações e aplica com segurança...
Mas creio que esse tipo de atitude seja desnecessária
obs.: o mesmo se aplica a aspas duplas ou outro caractere que possa causar um erro no SGBD
[]'s
Gleisson