Hej
jag har ett quiz där man skriver i svaren på frågorna själv, alltså man väljer inte från olika svarsalternativ, men det blir problem om man tex skulle skriva med stora bokstäver då blir svaret fel oavsett om man stavat rätt.
jag har förstått att man kan använda strtolower för att göra om allt till små bokstäver, men får inte ihop det...
själva frågorna ligger i en html fil, svaren i en txt fil, sen jämförs det i en php-fil för att sen läggas upp i en databas...
nån som har en susning om hur jag kan göra?
strtolower i quiz
9 svar · 564 visningar · startad av nickepickepö
if(strtolower($answer) == strtolower($correct)){
echo "Japp";
} else {
echo "Nix.";
}
Ta en titt i manualen så ser du hur strtolower används.
vilken manual?
PHP-manualen, såklart. :)
Här kan du ladda hem den i exempelvis chm-format, mycket smidigt att ha den öppen i det samtidigt som man programmerar.
http://se2.php.net/download-docs.php
tack tack, jag är ny på det här...
jag får ändå inte ihop det, alltså jag vill ju inte att det ska skrivas ut något här, som "japp" eller "nix"
jag vill bara att svaren ändras till små bokstäver..
jag kanske är på för djupt vatten...
$answer = strtolower($answer);
$correct = strtolower($correct);
tack, nu fick jag till det på ett sätt iallafall, hade bara skrivit in koden på fel ställe innan.
i formuläret med frågorna så sparas svaren med ett värde per fråga: q1, q2, q3 osv...
så om jag skriver in denna kod i php filen så funkar det:
$_POST['q1'] = strtolower($_POST['q1']);
men då måste jag ju göra det 20 gånger om jag har tjugo frågor, det är ju inte så jobbigt iofs, men det vore ju smidigare om man kunde ändra hela tjolabaletten på en gång.. men det är det jag inte får till... ja ja
Om alla värden från formuläret lika lätt kan jämföras med liten bokstav så kan du skriva:
foreach($_POST as $namn => $svar)
$_POST[$namn] =strtolower($svar);
Om det bara ska göras specifikt för frågor som börjar på q får du kolla värdet på $namn och bara göra tilldelningen om $namn startar på q.
jag gjorde så här så löste det sig...
$f = 1;
while ($f <= 100)
{
$_POST["q$f"] = ucfirst(strtolower($_POST["q$f"]));
$f++;
}