Jump to content

Problems with Sessions/Arrays


illadelphiakid

Recommended Posts

Please help, i'm writing a code that a user must match a random word ($word) from a choice of definitions ($word_defs)...No matter what definition is picked from the list, the response is always 'incorrect', can someone please look at my code and tell me what's wrong?

 

Here is the entry code:

require_once "include/word_defs.php";

$word = array_keys($word_defs); 
$word_defs = array_unique(array_values($word_defs));

$session = new Session();
$params = (object) $_REQUEST;

if (isset($params->guess)) {
  $word = $params->word;
   if ( $params->word_defs == $word_defs[$word] ) {
    $response = "correct"; 
  } else {
    $response = "incorrect"; 
  }
  $choices->word_def[$params->word_defs] = "selected";
} else {
  $word = $word[ rand( 0, count($word)-1 ) ];
}

 

 

Code in body:

word: <?php echo $word ?>


<form action="?" method="get">
definition: 
<select name="word_defs">
<?php foreach ($word_defs as $word_def): ?>
<option <?php echo $choices->word_def[$word_def] ?> ><?php echo $word_def?></option>
<?php endforeach ?>
</select>

<input type="submit" name="guess" value="Guess" />

<input type="hidden" name="word" value="<?php echo $word?>" />
</form>

<h3><?php echo $response ?></h3>

Link to comment
https://forums.phpfreaks.com/topic/249095-problems-with-sessionsarrays/
Share on other sites

try running print_r($_GET) and print_r($_SESSION) and see what variables are set

 

are you starting the session properly/including the session() class you call?

 

I get an error trying to print session

but printing get, i receive this:

 

Array ( [word_defs] => To recant, renounce, repudiate under oath. [guess] => Guess [word] => abjure )

 

The word and def are correct, but response says incorrect.

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.