Hallo,
Ik ben een nog niet heel erg ervaren PHP'er en omdat ik een keer array_rand() in een script zag staan en mijn internet eruit lag besloot ik het uit te proberen.
Ik heb gebruikte het in een "kop of munt" scriptje:
Nou is het probleem, dat je als je het fout hebt, ziet "Helaas! Kop was fout! Munt was het juiste antwoord!"PHP Code:
<?php
if ($_POST === true) {
$antwoord = array_rand(array('Kop','Munt'));
$keuze = $_POST['gok'];
if ($keuze == $antwoord) {
echo 'Gefeliciteerd! '.$keuze.' was het juiste antwoord!';
} else {
echo 'Helaas! '.$keuze.' was fout!';
}
}
?>
<form method="POST" action="kopofmunt.php">
<br />
<b>Waag je gok!</b><br /><br />
<input type="radio" value="Kop" name="gok" /> Kop<br />
<input type="radio" value="Munt" name="gok" /> Munt<br /><br />
<input type="submit" value="Gok!" />
</form>
Met die array_rand() functie wordt de $antwoord waarde standaard 1 wordt op die plek, maar hij kan wel gewoon vergelijken met de waarden in de form.
Waarom, hoe kan dit en hoe valt die op te lossen in verdere situaties?
- Tijs
- array_rand()
-
01-07-2012, 18:57 #1
- Berichten
- 36
- Lid sinds
- 13 Jaar
array_rand()
-
-
01-07-2012, 19:07 #2
- Berichten
- 106
- Lid sinds
- 17 Jaar
Re: array_rand()
array_rand geeft een key terug en niet een waarde. In array('Kop','Munt') zijn kop en munt de waardes maar hebben de key 0 en 1, in de volgorde van de array
Hallo,
Ik ben een nog niet heel erg ervaren PHP'er en omdat ik een keer array_rand() in een script zag staan en mijn internet eruit lag besloot ik het uit te proberen.
Ik heb gebruikte het in een "kop of munt" scriptje:
PHP Code:<?php
if ($_POST === true) {
$antwoord = array_rand(array('Kop','Munt'));
$keuze = $_POST['gok'];
if ($keuze == $antwoord) {
echo 'Gefeliciteerd! '.$keuze.' was het juiste antwoord!';
} else {
echo 'Helaas! '.$keuze.' was fout!';
}
}
?>
<form method="POST" action="kopofmunt.php">
<br />
<b>Waag je gok!</b><br /><br />
<input type="radio" value="Kop" name="gok" /> Kop<br />
<input type="radio" value="Munt" name="gok" /> Munt<br /><br />
<input type="submit" value="Gok!" />
</form>
Met die array_rand() functie wordt de $antwoord waarde standaard 1 wordt op die plek, maar hij kan wel gewoon vergelijken met de waarden in de form.
Waarom, hoe kan dit en hoe valt die op te lossen in verdere situaties?
- Tijs
-
01-07-2012, 19:12 #3
- Berichten
- 36
- Lid sinds
- 13 Jaar
Re: array_rand()
Dus de array_rand() gebruikt hij de plekken in de array, maar kan die nog wel vergelijken met de ingevulde waarde?
Is er een goede manier om het naar het oorspronkelijke te maken, zodat hij weer Kop of Munt weergeeft?
-
01-07-2012, 19:47 #4
- Berichten
- 152
- Lid sinds
- 13 Jaar
Re: array_rand()
PHP Code:if ($_POST) {
$input = array("Kop", "Munt");
$rand_keys = array_rand($input);
if ($input[$rand_keys] === $_POST['gok'])
{
echo "Gefeliciteerd ".$input[$rand_keys]." is het goeie antwoord!";
}
else
{
echo "Helaas, ".$input[$rand_keys]." was het goeie antwoord";
}
}
-
01-07-2012, 19:51 #5
- Berichten
- 36
- Lid sinds
- 13 Jaar
Re: array_rand()
Hmm, volgens mij begrijp ik het, bedankt. Ik zal het later even uitproberen.
-
01-07-2012, 22:10 #6
- Berichten
- 152
- Lid sinds
- 13 Jaar
-
02-07-2012, 06:51 #7
- Berichten
- 100
- Lid sinds
- 13 Jaar
Re: array_rand()
Overigens, controleren of er daadwerkelijk een POST is gedaan doen we zo:
PHP Code:if( $_SERVER['REQUEST_METHOD'] == 'POST' ){
// Uitvoeren
}
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic