PHP Lingo script.
Ik moet een PHP Lingo Script schrijven voor school, maar dan wat vereenvoudigd.
Ik moet een woord intypen, en hij moet dan checken of dit woord in een array of database staat en dan aangeven of het woord goed geraden is.
Misschien iemand een ideetje hoe ik dit ga aanpakken?
Ik moet een woord intypen, en hij moet dan checken of dit woord in een array of database staat en dan aangeven of het woord goed geraden is.
Misschien iemand een ideetje hoe ik dit ga aanpakken?
in_array en een if met ==???
Gewijzigd op 13/02/2012 18:38:03 door Joakim Broden
Ik kom er gewoon echt niet uit.
Wat heb je dan al?
Formulier met 1 veld en submit button.
Controleer of formulier verzonden is.
Zo ja: controleer of woord voorkomt in array of database (zie tips Hertog Jan)
Formulier met 1 veld en submit button.
Controleer of formulier verzonden is.
Zo ja: controleer of woord voorkomt in array of database (zie tips Hertog Jan)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$woordenlingo = array("Banaan","Agenda","Appel"); // Array aangemaakt genaamd woordenlingo, waar de woorden in komen te staan.
if (in_array("Banaan", $woordenlingo)) { // Als Banaan in array woordenlingo zit, echo dan Banaan gevonden!
echo "Banaan gevonden!";
}
if (in_array("Agenda", $woordenlingo)) { // Als Agenda in array woordenlingo zit, echo dan Agenda gevonden!
echo "Agenda gevonden!";
}
if (in_array("Appel", $woordenlingo)) { // Als Appel in array woordenlingo zit, echo dan Appel gevonden!
echo "Appel gevonden!";
}
?>
$woordenlingo = array("Banaan","Agenda","Appel"); // Array aangemaakt genaamd woordenlingo, waar de woorden in komen te staan.
if (in_array("Banaan", $woordenlingo)) { // Als Banaan in array woordenlingo zit, echo dan Banaan gevonden!
echo "Banaan gevonden!";
}
if (in_array("Agenda", $woordenlingo)) { // Als Agenda in array woordenlingo zit, echo dan Agenda gevonden!
echo "Agenda gevonden!";
}
if (in_array("Appel", $woordenlingo)) { // Als Appel in array woordenlingo zit, echo dan Appel gevonden!
echo "Appel gevonden!";
}
?>
<form name="lingo" method="POST" action="">
Woord: <input type="text" name="woord" />
<input type="submit" value="Begin!" />
</form>
Toevoeging op 13/02/2012 19:58:54:
Iemand misschien ideeën?
Gewijzigd op 13/02/2012 19:38:29 door Matciano van Wijk
Kijk rrnd hoe je een variabele ophaalt als je een formulier hebt verzonden.
Je hebt nu drie vergelijkingen staan, waar telkens een woord 'hard' gecodeerd is. Dat zal dus niet lukken. Kijki hoe je daar een variabele van maakt. En dan kan het in 1x.
Je hebt nu drie vergelijkingen staan, waar telkens een woord 'hard' gecodeerd is. Dat zal dus niet lukken. Kijki hoe je daar een variabele van maakt. En dan kan het in 1x.
Kan je uitleg misschien iets duidelijker?
Toevoeging op 13/02/2012 20:39:26:
INDEX.php
<form name="lingo" method="POST" action="lingo.php">
Woord: <input type="text" name="woord" id="woord" />
<input type="submit" value="Begin!" />
</form>
LINGO.PHP
Toevoeging op 13/02/2012 20:39:26:
INDEX.php
Code (php)
1
2
3
2
3
<?php
$woordenlingo = array("Banaan","Agenda","Appel"); // Array aangemaakt genaamd woordenlingo, waar de woorden in komen te staan.
?>
$woordenlingo = array("Banaan","Agenda","Appel"); // Array aangemaakt genaamd woordenlingo, waar de woorden in komen te staan.
?>
<form name="lingo" method="POST" action="lingo.php">
Woord: <input type="text" name="woord" id="woord" />
<input type="submit" value="Begin!" />
</form>
LINGO.PHP
en, lukt het daarmee?
Nee, hij weergeeft een error.
Warning: in_array() expects parameter 2 to be array, null given in C:\xampp\htdocs\Lingo\lingo.php on line 4
Warning: in_array() expects parameter 2 to be array, null given in C:\xampp\htdocs\Lingo\lingo.php on line 4
Matciano van Wijk op 13/02/2012 20:50:53:
Nee, hij weergeeft een error.
Warning: in_array() expects parameter 2 to be array, null given in C:\xampp\htdocs\Lingo\lingo.php on line 4
Warning: in_array() expects parameter 2 to be array, null given in C:\xampp\htdocs\Lingo\lingo.php on line 4
zet je array boven die regel.. ;s
en variabelen buiten quotes.
Gewijzigd op 13/02/2012 21:08:24 door Obelix Idefix
Matciano
1, Kijken of een formulier gepost is doe je met if ($_SERVER['REQUEST_METHOD'] == 'POST') { niet met if(isset($_POST['submit'])) {.
2, Niet onnodig variabelen kopiëren. $_POST['woord'] is al een variabele dus waarom zou je daar een variabele $woord van maken.
3, In LINGO.php vraag je om $woordenlingo, maar die maak je nergens aan. Ja in INDEX.php maak je die $woordenlingo aan maar die staat toch niet in verband met LINGO.php?
4, Niet zoveel onnodige bestanden aanmaken, je kunt het ook wel één php bestand doen.
Even een opzet je:
Paar aandacht punten.
1. Wat gebeurd er als je een word met hoofdletters in vult.
2. Wat gebeurd er als je een formulier verstuurd, dan word er een pagina refresh gedaan en veranderd je op gegeven woord dus (als je met een random woord gaat werken)
1, Kijken of een formulier gepost is doe je met if ($_SERVER['REQUEST_METHOD'] == 'POST') { niet met if(isset($_POST['submit'])) {.
2, Niet onnodig variabelen kopiëren. $_POST['woord'] is al een variabele dus waarom zou je daar een variabele $woord van maken.
3, In LINGO.php vraag je om $woordenlingo, maar die maak je nergens aan. Ja in INDEX.php maak je die $woordenlingo aan maar die staat toch niet in verband met LINGO.php?
4, Niet zoveel onnodige bestanden aanmaken, je kunt het ook wel één php bestand doen.
Even een opzet je:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
// Maak het woord aan wat geraden moet worden
$woord = 'appel';
// Maak Lingo woorden aan
$woorden = array('appel', 'banaan', 'lepel');
// Maak formuliert
<form action="" method="post">
Woord: <input type="text" name="woord" id="woord" />
<input type="submit" value="Begin!" />
</form>
// Controlleer formulier
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
// Formulier verstuurd
// Kijken of $_POST['woord'] in array is,
// Kijken of $_POST['woord'] gelijk is aan $woord
}
?>
// Maak het woord aan wat geraden moet worden
$woord = 'appel';
// Maak Lingo woorden aan
$woorden = array('appel', 'banaan', 'lepel');
// Maak formuliert
<form action="" method="post">
Woord: <input type="text" name="woord" id="woord" />
<input type="submit" value="Begin!" />
</form>
// Controlleer formulier
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
// Formulier verstuurd
// Kijken of $_POST['woord'] in array is,
// Kijken of $_POST['woord'] gelijk is aan $woord
}
?>
Paar aandacht punten.
1. Wat gebeurd er als je een word met hoofdletters in vult.
2. Wat gebeurd er als je een formulier verstuurd, dan word er een pagina refresh gedaan en veranderd je op gegeven woord dus (als je met een random woord gaat werken)
Gewijzigd op 13/02/2012 21:25:27 door Joakim Broden
Oke, laatste vraag. Ik probeer dus nu een random woord uit de array te halen, alleen het lukt niet?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
Ehm php.net al raad gepleegd? Misschien meot je die array_rand opslaan in een variabele?
$randomWoord = array_rand($woordenarray);
$randomWoord = array_rand($woordenarray);
Dankjewel Hertog Jan, wist niet eens van deze site af om heel eerlijk te zijn.
Toevoeging op 13/02/2012 22:49:29:
Oke, heb array_rand dus nu gedefinieerd in een variabele.
Alleen als ik dus een willekeurig woord uit mijn array invul is het nog steeds altijd goedgekeurd?
Toevoeging op 13/02/2012 22:49:29:
Oke, heb array_rand dus nu gedefinieerd in een variabele.
Alleen als ik dus een willekeurig woord uit mijn array invul is het nog steeds altijd goedgekeurd?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$woordenarray = array("Banaan","Agenda","Appel","Lingo","Script","Program");
$willekeurigwoord = array_rand($woordenarray);
$woord = $_POST['woord'];
if(in_array($woord, $woordenarray)) {
echo "<strong>$woord</strong> gevonden!";
}
else
{
echo "U heeft het fout, probeer het nog eens!";
}
}
?>
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$woordenarray = array("Banaan","Agenda","Appel","Lingo","Script","Program");
$willekeurigwoord = array_rand($woordenarray);
$woord = $_POST['woord'];
if(in_array($woord, $woordenarray)) {
echo "<strong>$woord</strong> gevonden!";
}
else
{
echo "U heeft het fout, probeer het nog eens!";
}
}
?>
Klopt, als jij een willekeurig woord invult UIT je array is die altijd goed...
if(in_array($woord, $woordenarray)) { Hier kijk je namelijk of het woord in je Array zit. Dus als je een woord uit je array in vult is het altijd goed.
Dus je moet het $woord vergelijken met je $willekeurgwoord ipv $woordenarray.
if(in_array($woord, $woordenarray)) { Hier kijk je namelijk of het woord in je Array zit. Dus als je een woord uit je array in vult is het altijd goed.
Dus je moet het $woord vergelijken met je $willekeurgwoord ipv $woordenarray.
Dus ik moet eigenlijk een vergelijking maken.
Dus zoiets?
als $woord gelijk is aan willekeurig woord, dan goedkeuren, anders echoen dat het fout is?
Dus zoiets?
als $woord gelijk is aan willekeurig woord, dan goedkeuren, anders echoen dat het fout is?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$woordenarray = array("Banaan","Agenda","Appel","Lingo","Script","Program");
$willekeurigwoord = array_rand($woordenarray);
$woord = $_POST['woord'];
if(in_array($woord == $woordenarray)) {
echo "<strong>$woord</strong> gevonden!";
}
else
{
echo "U heeft het fout, probeer het nog eens!";
}
}
?>
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$woordenarray = array("Banaan","Agenda","Appel","Lingo","Script","Program");
$willekeurigwoord = array_rand($woordenarray);
$woord = $_POST['woord'];
if(in_array($woord == $woordenarray)) {
echo "<strong>$woord</strong> gevonden!";
}
else
{
echo "U heeft het fout, probeer het nog eens!";
}
}
?>
volgens mij is die zo goed even proberen
Behalve dit dan:
if(in_array($woord == $woordenarray))
if(in_array($woord == $woordenarray))
ohja het moet een komma zijn ipv de == sorry :p wat is het verschil als die dit met array_search zou doen?
@reshadd, kijk eens op deze links onder return values en je ziet het verschil (en waarom je hier in_array moet gebruiken):
- in-array
- array-search
- in-array
- array-search




