PHP Lingo script.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Matciano van Wijk

Matciano van Wijk

13/02/2012 18:30:32
Quote Anchor link
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?
 
PHP hulp

PHP hulp

08/05/2024 15:02:32
 
Joakim Broden

Joakim Broden

13/02/2012 18:37:47
Quote Anchor link
in_array en een if met ==???
Gewijzigd op 13/02/2012 18:38:03 door Joakim Broden
 
Matciano van Wijk

Matciano van Wijk

13/02/2012 19:26:32
Quote Anchor link
Ik kom er gewoon echt niet uit.
 
Obelix Idefix

Obelix Idefix

13/02/2012 19:33:11
Quote Anchor link
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)
 
Matciano van Wijk

Matciano van Wijk

13/02/2012 19:38:12
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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!";
}

?>


<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
 
Obelix Idefix

Obelix Idefix

13/02/2012 20:06:23
Quote Anchor link
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.
 
Matciano van Wijk

Matciano van Wijk

13/02/2012 20:26:29
Quote Anchor link
Kan je uitleg misschien iets duidelijker?

Toevoeging op 13/02/2012 20:39:26:

INDEX.php

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$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

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
if(isset($_POST['submit'])) {
    $woord = $_POST['woord'];
        if(in_array("$woord", $woordenlingo)) {
            echo "$woord gevonden!";
            }
    }

?>
 
Obelix Idefix

Obelix Idefix

13/02/2012 20:50:05
Quote Anchor link
en, lukt het daarmee?
 
Matciano van Wijk

Matciano van Wijk

13/02/2012 20:50:53
Quote Anchor link
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
 
Jaron T

Jaron T

13/02/2012 20:53:00
Quote Anchor link
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


zet je array boven die regel.. ;s
 
Obelix Idefix

Obelix Idefix

13/02/2012 20:58:08
Quote Anchor link
en variabelen buiten quotes.
Gewijzigd op 13/02/2012 21:08:24 door Obelix Idefix
 
Joakim Broden

Joakim Broden

13/02/2012 21:24:34
Quote Anchor link
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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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

    }
?>


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
 
Matciano van Wijk

Matciano van Wijk

13/02/2012 22:40:06
Quote Anchor link
Oke, laatste vraag. Ik probeer dus nu een random woord uit de array te halen, alleen het lukt niet?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
                if ($_SERVER['REQUEST_METHOD'] == 'POST') {
                    $woordenarray = array("Banaan","Agenda","Appel");
                    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!";
                        }
                    }

                ?>
 
Joakim Broden

Joakim Broden

13/02/2012 22:43:13
Quote Anchor link
Ehm php.net al raad gepleegd? Misschien meot je die array_rand opslaan in een variabele?

$randomWoord = array_rand($woordenarray);
 
Matciano van Wijk

Matciano van Wijk

13/02/2012 22:43:59
Quote Anchor link
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?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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!";
                        }
                    }

                ?>
 
Joakim Broden

Joakim Broden

13/02/2012 23:18:03
Quote Anchor link
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.
 
Matciano van Wijk

Matciano van Wijk

13/02/2012 23:23:06
Quote Anchor link
Dus ik moet eigenlijk een vergelijking maken.

Dus zoiets?

als $woord gelijk is aan willekeurig woord, dan goedkeuren, anders echoen dat het fout is?
 
Reshad F

Reshad F

14/02/2012 09:31:44
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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!";
                        }
                    }

                ?>


volgens mij is die zo goed even proberen
 
Erwin H

Erwin H

14/02/2012 09:56:20
Quote Anchor link
Behalve dit dan:
if(in_array($woord == $woordenarray))
 
Reshad F

Reshad F

14/02/2012 12:19:08
Quote Anchor link
ohja het moet een komma zijn ipv de == sorry :p wat is het verschil als die dit met array_search zou doen?
 
Wouter J

Wouter J

14/02/2012 14:33:42
Quote Anchor link
@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
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.