2016-05-03 13 views
0

私はまだかなり緑色ですが、私は自分のチェックボックスやラジオのデータを持続させようとしています。私は自分自身でこれを試してみようと試みましたが、私は何かが欠けているかもしれないと感じています。私はhereが見つかりましたが、役に立たない同様のソリューションを実装しようとしました。php-syntaxエラーのチェックボックス、予期しない '?'

編集:私が求めているのは、チェックボックスのために永続的なデータをキャプチャするより良い方法がありますか?もしそうなら、私はchk[]を使ってどうやって行くのですか? <これは私の質問ではない構文です。

ここに私のものがあります。

PHP/HTML - (index.phpの中にあります)

<input type="checkbox" id="chk-1" class="ca" name="chk[]" value="JETvarnish 3D Evo" 
<?php if (in_array('JETVarnish 3D Evo', $chk)) { echo 'checked'; } ?> 
/> 
<label for="chk-1">JETvarnish 3D Evo</label> 
<br/> 

PHP - (frmPost.phpにあります)

// set post data as array. 
    $_SESSION['post-data'] = $_POST; 

// checkbox as array. 
    $selectedProjects = 'None'; 
    if(isset($_POST['chk']) && is_array($_POST['chk']) && count($_POST['chk']) > 0){ 
     $selectedProjects = implode(', ', $_POST['chk']); 
    } 

は、私はこれを得ることができるどのような援助う大変感謝します。

+0

私には大丈夫です。何が問題なの?何が起こっていますか?質問は全く不明であるか、全く疑問はない。 –

+0

@PraveenKumarもし私が明確でなかったら私の謝罪。問題は、自分のコードで動作するコードを取得できないことです。私は 'chk [];'配列を見つけたりアクセスしたりするのが難しいと思っています。配列が 'name =" chk [] "'を使って構築されていれば、index.phpの先頭に '$ chk'を配列として宣言する必要はありませんか? – Beaniie

+0

私の問題はPHP配列に慣れ親しんでおり、それらにアクセスする方法などです。私は他の例やあなた自身のような親切な人を掻き集めています。 – Beaniie

答えて

2

エラーは構文です。

代わりの

<?php if (in_array('JETVarnish 3D Evo', $chk)) ? 'checked' : ''; ?> 

<?php if (in_array('JETVarnish 3D Evo', $chk)) { echo 'checked'; } ?> 

を行う私はあなたの仕組みの残りの部分がうまくいく保証することはできません。

+0

これは実際にリストされているようにエラーを修正しましたが、私はあなたの答えにさらなる質問があります。私の前のコメントの一つを拾うために '配列が 'name =" chk [] "を使って構築されていれば、' $ chk'を 'index.php'の先頭に配列として宣言する必要はありません? ' – Beaniie

+1

それは$ _POST ['chk']に表示されます。 –

+1

何が起こっているかをチェックするには、<?php if(!empty($ _ POST))print_r($ _POST); ?>をあなたのサイトの上部に表示します。これは$ _POSTのすべての内容を表示し、非常に頻繁にデバッグするのに役立ちます –

関連する問題