
$_POST['SA']は選択した答えです。(文字列)
$_POST['ca']は正確な答えです。(文字列)
$_POST['SA']と$_POST['ca']を比較し、
同じ文字列であれば点数をつけます。
そうじゃなければ点数は付けません。
以下のPHPのプログラムを作りましたが、上手く文字列を比較できません。
<?php
$count = count($_POST['q']);
for ($i = 0; $i < $count; $i++) {
if(strcmp($_POST['SA'][$i],$_POST['ca'][$i]) == 0 ){
$point = 0;
}else{
$point = 15;
}
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
こんな感じじゃない?
<form method="post">
<input type="hidden" name="ca[]" value="ans1">
<input type="text" name="SA[]" value="ans1"><br>
<input type="hidden" name="ca[]" value="ans2">
<input type="text" name="SA[]" value="ans2"><br>
<input type="hidden" name="ca[]" value="ans3">
<input type="text" name="SA[]" value="ans3"><br>
<input type="hidden" name="ca[]" value="ansx">
<input type="text" name="SA[]" value="ans4">←間違い<br>
<input type="submit" value="go"><br>
<?php
error_reporting(E_ALL);
$point=0;
$count = (isset($_POST['SA']) and is_array($_POST['SA']))?count($_POST['SA']):0;
for ($i = 0; $i < $count; $i++) {
if(strcmp($_POST['SA'][$i],$_POST['ca'][$i]) !== 0 ){
$point += 0;
}else{
$point += 15;
}
}
print $point;
No.1
- 回答日時:
> 上手く文字列を比較できません。
具体的に、何を期待して、それがどうなっているのですか?
$_POSTに期待通りにデータが入っていますか?
期待と違うデータが入っているなら、動作も期待通りにはなりません。
> $_POST['SA']は選択した答えです。(文字列)
だとすると、
$_POST['SA'][$i]
は$i文字目ということになり、 $_POST['ca']の $i文字目と比較する、というプログラムになっています。
それでよろしいのでしょうか?
また
$count = count($_POST['q'])
は何を数えているのでしょうか?
$_POST['q'] は何かの配列
$_POST['SA']は文字列の配列
$_POST['ca']は文字列の配列
なら、
$_POST['SA']の$i番目の文字列と、$_POST['ca']の $i番目の文字列を比較
という意味になりますが。
あとは、おそらくstrcmpの使い方を間違えています。
http://php.net/manual/ja/function.strcmp.php
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
HTMLで前の画面に戻る時、入力...
-
DBの値をチェックボックスに反...
-
チェックボックスを使った複数...
-
エラーを元の画面に表示させるには
-
PHPでフォームデータをサンクス...
-
アップロードの際にファイルパス
-
検索時の選択内容を保持する方法
-
【HTML(PHP?)】複数のフォーム...
-
POSTやGETの変数をフォーム無し...
-
フォームボタンを押すたびに数...
-
なぜ、unexpected T_VARIABLEに...
-
テキストリンクをPOST送信したい
-
Submit(送信ボタン)を押した...
-
$_SERVER['REQUEST_METHOD']と"...
-
処理後のページ内移動について
-
PHPのエラーの解消法について教...
-
POSTの項目に追加
-
phpで、フォームのラジオボタン...
-
PHPでURLにジャンプするには?
-
DB接続やInsertでのエラーを画...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
HTMLで前の画面に戻る時、入力...
-
検索時の選択内容を保持する方法
-
DBの値をチェックボックスに反...
-
$_SESSIONについて教えて下さい。
-
PHPで、ボタンを押すと同じペー...
-
PHP ボタンが押されたら処理を...
-
<input type="hidden" >で配列...
-
アンケートフォームの作り方
-
入力した部分を表示させたまま...
-
画面が更新されてもチェックボ...
-
ラジオボタンをsessionで使いたい
-
チェックボックスによる検索
-
PHPで画像の渡しが上手く行きま...
-
同じページでフォームデータを...
-
POSTをボタンではなくリンク等...
-
配列をhiddenで
-
HTMLのvalue値を取得したい。
-
パラメーターを隠す
-
選んだ数字だけ繰り返す
-
PHPで画像データーのアップロー...
おすすめ情報