AdamPool
AdamPool

Reputation: 21

PHP elseif statement not working

I am currently developing a website with wordpress that uses FSQM Pro quiz plugin. The plugin uses the format string %DESIGNATION% to show the ranking that the user obtained on completing the quiz.

I am trying to write some php that will output different text depending on the ranking that the user reaches but for some reason it just outputs nothing. My code is below, can anyone help?

This bit of code is in a seperate php file $format_string_components = $this->get_format_string();

<?php
$a="Ranking 1";
$b="Ranking 2";
$c="Ranking 3";
$d="Ranking 4";

if ($format_string_components['%DESIGNATION%'] == $a) {
    echo 'text 1';

} elseif ($format_string_components['%DESIGNATION%'] == $b) {
    echo 'text 2';

} elseif ($format_string_components['%DESIGNATION%'] == $c) {
    echo 'text 3';

} elseif ($format_string_components['%DESIGNATION%'] == $d) {
    echo 'text 4'; 

} else {
    echo '<p>Your result was not found.</p>';
}
?>

Upvotes: 0

Views: 159

Answers (4)

anik4e
anik4e

Reputation: 493

change the quote (") and remove space from

<? php

Code Use it:

<?php
    $a="Ranking 1";
    $b="Ranking 2";
    $c="Ranking 3";
    $d="Ranking 4";

    if ($format_string_components['%DESIGNATION%'] == $a) {
        echo "text 1";
    } elseif ($format_string_components['%DESIGNATION%'] == $b) {
        echo "text 2";
    } elseif ($format_string_components['%DESIGNATION%'] == $c) {
        echo "text 3";
    } elseif ($format_string_components['%DESIGNATION%'] == $d) {
        echo "text 4"; 
    } else {
        echo "<p>Your result was not found.</p>";
    }
?>

Upvotes: 0

Lucas Henrique
Lucas Henrique

Reputation: 1364

Change to ". Remove the space <? php

<?php
    $a="Ranking 1";
    $b="Ranking 2";
    $c="Ranking 3";
    $d="Ranking 4";

    if ($format_string_components['%DESIGNATION%'] == $a) {
        echo "text 1";

    } elseif ($format_string_components['%DESIGNATION%'] == $b) {
        echo "text 2";

    } elseif ($format_string_components['%DESIGNATION%'] == $c) {
        echo "text 3";

    } elseif ($format_string_components['%DESIGNATION%'] == $d) {
        echo "text 4"; 

    } else {
        echo "<p>Your result was not found.</p>";
    }
?>

Upvotes: 1

alreadycoded.com
alreadycoded.com

Reputation: 326

<?php

    $a="Ranking 1";
    $b="Ranking 2";
    $c="Ranking 3";
    $d="Ranking 4";

    if ($format_string_components['%DESIGNATION%'] == $a) {
        echo 'text 1';

    } elseif ($format_string_components['%DESIGNATION%'] == $b) {
        echo 'text 2';

    } elseif ($format_string_components['%DESIGNATION%'] == $c) {
        echo 'text 3';

    } elseif ($format_string_components['%DESIGNATION%'] == $d) {
        echo 'text 4'; 

    } else {
        echo '<p>Your result was not found.</p>';
    }
?>

Upvotes: 0

Jenz
Jenz

Reputation: 8369

It is not working due to the quotes you have used. Change the quotes to " ". Like

if ($format_string_components['%DESIGNATION%'] == $a) {
        echo "text 1";

    } elseif ($format_string_components['%DESIGNATION%'] == $b) {
        echo "text 2";

    } elseif ($format_string_components['%DESIGNATION%'] == $c) {
        echo "text 3";

    } elseif ($format_string_components['%DESIGNATION%'] == $d) {
        echo "text 4"; 

    } else {
        echo "<p>Your result was not found.</p>";
    }

Also avoid the space in the <?php tag.

Upvotes: 0

Related Questions