プロが教える店舗&オフィスのセキュリティ対策術

現在スタッフ管理画面を作成しています。その中で、動作権限という項目を用意して「管理者」か「スタッフ」かを登録しています。(管理者=1 スタッフ=2)
登録画面ではラジオボタンを使用しています。この登録された情報を呼び出し、修正(または確認)する時に、同じようにラジオボタンで表示をさせたいのです。
例えばAさん=管理者の場合、ラジオボタンは「管理者」がすでにチェックされている状態。スタッフ側はチェックがない状態。

登録画面
権限を選択してください。<br/>
<input type="radio" name="kengen" value="1">管理者<br/>
<input type="radio" name="kengen" value="2">スタッフ<br/>

修正(確認)画面
<?php
try
{
 $staff_code=$_POST['staffcode'];←この前のページでスタッフを選択する為にコードを使用しています。

データベースへ接続(省略)

?>

スタッフ修正<br/>
<br/>
スタッフコード<br/>
<?php print $staff_code;?>
<br/>
<br/>
<form method="post" action="xxx.php">
<input type="hidden" name="code" value="<?php print $staff_code;?>">
スタッフ名<br/>
<input type="text" name="name" style="width: 100px" value="<?php print $staff_name;?>"><br/>
メールアドレス<br/>
<input type="text" name="mail" style="width: 100px" value="<?php print $staff_mail;?>"><br/>
動作権限<br/>
<?php
$staff_kengen = ['kengen'];
?>
<input type="radio" name="kengen" value="1"<?= $staff_kengen == "1" ? ' checked' : ''?>>管理者
<input type="radio" name="kengen" value="2"<?= $staff_kengen == "2" ? ' checked' : ''?>>スタッフ

スタッフ名およびメールアドレスは表示されています。動作権限も「テキスト」にしておけば値が表示されます。ですが、修正画面も兼ねたいのでラジオボタンで表示をさせたいのです。


どこが間違っているのかどなたかご教示いただけると助かります。
よろしくお願い致します。

質問者からの補足コメント

  • うーん・・・

    ご回答ありがとうございます。「short_open_tag」は「php.ini」の設定をoff→onに変更するやつですね。
    サーバーはレンタルしているのでその編集はこちらでいじることができないのです。
    そもそも<?・・・が略ということも初めて知ったばかりですが・・・。
    そうなると、略さないで<php・・・をきっちり書かないとダメということになりますか・・・。
    それとも何か回避できる方法があれば教えていただけないでしょうか。
    よろしくお願いします。

    No.1の回答に寄せられた補足コメントです。 補足日時:2018/03/08 17:36
  • つらい・・・

    回答ありがとうございます。.htaccessの回避方法は今後の為に覚えておこうと思います。
    略さずに書いてみたのですが、望むような結果が得られなかったので、私の記載したphp文全体に何か抜けがあるのではと思いまた補足書かせていただきました。
    今、略さないphp文に変更していますがどちらのラジオボタンにもチェックが入っていない状態です。データの受け渡し(もしくはデータベースから)が上手くいっていないようです。
    データベース内に登録はされています。php文を変更する以外に、表示させるために不足しているphp文があるのでしょうか。
    何度も申し訳ないのですがご教示いただけるとありがたいです。よろしくお願いします。

    No.2の回答に寄せられた補足コメントです。 補足日時:2018/03/09 13:05

A 回答 (2件)

略さずに書く方が良いです。



<?php print($staff_kengen == "1" ? ' checked' : ''); ?>

.htaccess ファイルで On にする方法もあります。

php_flag short_open_tag On
この回答への補足あり
    • good
    • 0
この回答へのお礼

この度はアドバイスありがとうございました。自分でも色々といじくってみたところ、動作権限<br/> <?php $staff_kengen = ['kengen']; ?> ←の<?php・・・以降が邪魔していました。こちらを削除したところ、無事、ラジオボタンにチェックが表示されるようになりました。 ありがとうございました。

お礼日時:2018/03/09 16:15

<?= の記述は、short_open_tag を On にしないと動きません。

この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!