När magic_quotes_gpc är satt på servern, och det är det för det mesta, så "escapas" bl.a. citationstecken i strängar från POST, GET och cookies.
Lösningen är då att köra stripslashes():
$citat = stripslashes($_COOKIE['citatkaka']);
2 svar · 283 visningar · startad av SONICdust
Hej,
Det blev lite ändringar i ett projekt jag nu jobbar med. Blev en budget variant av jobbet, så ingen databas ska användas som, jag hade utgått i från.
Är en Linux eller Unix server med apache som sidan ska ligga på.
Så här ska citatet se ut:

Det ska visas citat på sidan som sparas i en kaka så samma citat visas i en vecka. Tänkte att man kan lösa det nu utan databas med en vanlig fil, så man skriver allt på en rad som den kommer slumpa ut det som står på den raden.
if (isset($_COOKIE['citatkaka'])) {
$citat = $_COOKIE['citatkaka'];
}
else {
$sarr = file("includeCitat.php");
$maxrader = count($sarr);
$citat = $sarr[mt_rand(0,$maxrader-1)];
setcookie("citatkaka", $citat, time()+3600*24*7);
}
För att få ut citaten
echo $citat;
Filen som det slumpar ut i från
<div id="citatTop">"</div><div id="citatText">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec molestie. Sed aliquam sem ut arcu. Phasellus sollicitudin. Vestibulum condimentum facilisis nulla. In hac habitasse platea dictumst. Nulla nonummy. Cras quis libero. Cras venenatis. Aliquam posuere lobortis pede. Nullam fringilla urna id leo. Praesent aliquet pretium erat. Praesent non odio. Pellentesque a magna a mauris vulputate lacinia. Aenean viverra. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Aliquam lacus. Mauris magna eros, semper a, tempor et, rutrum et, tortor.</div><span class="citatBottom">"</span><br /><br /><span class="citatNamn">Citat, Citat</span>
<div id="citatTop">"</div><div id="citatText">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec molestie. Sed aliquam sem ut arcu. Phasellus sollicitudin. Vestibulum condimentum facilisis nulla. In hac habitasse platea dictumst. Nulla nonummy. Cras quis libero. Cras venenatis. Aliquam posuere lobortis pede. Nullam fringilla urna id leo. Praesent aliquet pretium erat. Praesent non odio. Pellentesque a magna a mauris vulputate lacinia. Aenean viverra. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Aliquam lacus. Mauris magna eros, semper a, tempor et, rutrum et, tortor.</div><span class="citatBottom">"</span><br /><br /><span class="citatNamn">Citat, Citat</span>
<div id="citatTop">"</div><div id="citatText">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec molestie. Sed aliquam sem ut arcu. Phasellus sollicitudin. Vestibulum condimentum facilisis nulla. In hac habitasse platea dictumst. Nulla nonummy. Cras quis libero. Cras venenatis. Aliquam posuere lobortis pede. Nullam fringilla urna id leo. Praesent aliquet pretium erat. Praesent non odio. Pellentesque a magna a mauris vulputate lacinia. Aenean viverra. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Aliquam lacus. Mauris magna eros, semper a, tempor et, rutrum et, tortor.</div><span class="citatBottom">"</span><br /><br /><span class="citatNamn">Citat, Citat</span>
Allt funkar bra första gången man besöker sidan men sen om man går tillbaks till sidan så blir det fel

Någom som har en lösning på detta problem eller en bättre lösning på hur man kan slumpa ut citaten?
När magic_quotes_gpc är satt på servern, och det är det för det mesta, så "escapas" bl.a. citationstecken i strängar från POST, GET och cookies.
Lösningen är då att köra stripslashes():
$citat = stripslashes($_COOKIE['citatkaka']);
tack nu fynkar det