-3

さて、ユーザーが特定の画像から画像として選択するためのラジオボタンがあります。彼らの画像はデフォルトの画像として始まり、他の2つの画像に変更できます。画像を表示するためのラジオボタンとPHPは次のとおりです。

    <input type="radio" id="Default" name="change_image" value="0" />
    <input type="radio" id="Unknown" name="change_image" value="1" />     
    <input type="radio" id="Gasmask" name="change_image" value="2" />     

    <?php 
if ( $user_image < 1 )
{
    echo 
    '<img src="images/user_image/Default.png" width="60" height="60" />';
} 
elseif ( $user_image = 1 )
{
    echo 
    '<img src="images/user_image/Unknown.png" width="60" height="60" />';
}
elseif ( $user_image > 1 )
{
    echo 
    '<img src="images/user_image/GasMask.png" width="60" height="60" />';
}
?>

さて、ifと最初のelseifは機能しますが、3番目のelseifはその画像を表示しませんか?彼らの理由は何ですか?

4

3 に答える 3

4

=比較ステートメントの代わりに割り当てステートメントであるを使用しました。==比較するために使用してください!

また、あなたがしていることは少しオーバーヘッドのように見えますが(私には専門家ではありませんが)、あなたがどのように処理するかがわかりませんのでご注意ください$user_image。これが私がそれをする方法です:

<input type="radio" id="Default" name="change_image" value="Default" />
<input type="radio" id="Unknown" name="change_image" value="Unknown" />     
<input type="radio" id="Gasmask" name="change_image" value="Gasmask" />     

<?php 
if (isset($_POST['change_image'])) { //make sure you validate that the right stuff is being posted
    $user_image = $_POST['change_image'];
    echo "<img src='images/user_image/".$user_image.".png' width='60' height='60' />";
}

変数が適切に連結されているかどうかを確認するためのテストは行っていませんが、ラジオボタンの値である名前の規則に従う限り、多くのifステートメントを節約できます。これがお役に立てば幸いです。

于 2012-12-15T05:21:18.847 に答える
2

私はそれがあなたの2番目のelseifによるものだと信じています。

elseif ( $user_image = 1 )

同等性をテストする必要がある場合は、代わりに値1を$user_imageに割り当てます。次のように置き換えてみてください。

elseif ( $user_image == 1 )
于 2012-12-15T05:10:31.120 に答える
2

条件manがdoubleequalを使用する場合に割り当てます

if ( $user_image < 1 )
{
    echo 
    '<img src="images/user_image/Default.png" width="60" height="60" />';
} 
elseif ( $user_image == 1 )
{
    echo 
    '<img src="images/user_image/Unknown.png" width="60" height="60" />';
}
于 2012-12-15T05:10:33.927 に答える