tantenMedlem sedan nov. 20051 658 inlägg
Vilket är det bästa sättet att slippa få \ i databasen, om man har ett formulär som antingen hämtar befintlig rad i en tabell eller ska skapa en ny rad. Jag har fått tankesläpp på hur och när man ska få till det rätt nu när det börjat komma in hästar med accent i namnet. Typ Lindy's
Här en del av koden
if($horseID) {
$q = $conn->query("SELECT * FROM horses WHERE horseID=$horseID");
$horse = $q->fetch(PDO::FETCH_ASSOC);
$q->closeCursor();
$q = null;
}
.....
else {
if(@$horse['horseID']) {
$sql = "UPDATE horses SET horse_name=?, .....
}
else {
$sql = "INSERT INTO horses(horse_name....) VALUES(?,....
}
$stmt = $conn->prepare($sql);
try
{
$stmt->execute(array($_POST['horse_name'],...
och formuläret
<input type="text" name="horse_name"
value="<?=($_POST['horse_name'])?>">
Har testat med stripslashes och htmlspecialcharsi formuläret, men det blir ju inte rätt. Snälla tänk mig åt rätt håll :)
bassebhuMedlem sedan nov. 20014 028 inlägg
Det är ju en säkerhetsgrej. Du kan ju stänga av magic_quotes, men om det är rekommenderat är en annan sak.
Den lägger helt enkelt addslashes() på det som sparas till databasen. Du får då använda stripslashes() när du hämtar ut datan igen.
colioneMedlem sedan juni 20013 386 inlägg
bassebhu skrev:
Det är ju en säkerhetsgrej. Du kan ju stänga av magic_quotes, men om det är rekommenderat är en annan sak.
Den lägger helt enkelt addslashes() på det som sparas till databasen. Du får då använda stripslashes() när du hämtar ut datan igen.
Nej, magic quotes är en idiotgrej och bör stängas av illa kvickt, att förlita sig på det är osäkert. Iom att tanten kör PDO så ska hon själv inte escapea datan.
Om du inte har tillgång till att ändra magic_quotes_gpc på servern är detta en bra lösning:
if (get_magic_quotes_gpc()) {
$in = array(&$_GET, &$_POST, &$_COOKIE);
while (list($k,$v) = each($in)) {
foreach ($v as $key => $val) {
if (!is_array($val)) {
$in[$k][$key] = stripslashes($val);
continue;
}
$in[] =& $in[$k][$key];
}
}
unset($in);
}
Lägg den i config eller en en include som alltid ikluderas vid databas-interaktion.
tantenMedlem sedan nov. 20051 658 inlägg
Ser ut att fungera perfekt Colione efter att ha provat. Tack så jättemycket!