1

現在、チェックボックスを含むフォームを作成しています。現時点では、最後に選択したチェックボックスをデータベーステーブルに追加するだけで機能しています。選択したすべての値をテーブルに追加する必要があります。内破を使用する必要があるかもしれないと思いますが、どこに置くべきかわかりません。どんな助けでも大歓迎です。

actionplan.php

<h1>My Action Plan</h1>

<?php
if (isset($_GET['success']) && empty($_GET['success'])) {

} else {
if (empty($_POST) === false && empty($errors) === true) {
$actionplan = array(
    'studentid'             => $user_data['studentid'],
    'interests_hobbies'     => $_POST['interests_hobbies'],
);
actionplan($actionplan);
header ('Location: actionplan.php');
exit();

} else if(empty($errors) === false){
echo output_errors($errors);
}
?>

 <form action="" method="post">

    <li>
    <p class="p4">
        What are your interests and hobbies?*
    <center>
    <table border="0">

 <tr>
 <td><p class="p6"><input type="checkbox" name="interests_hobbies" value="Animal Care"/>Animal Care</td>
 <td><p class="p6"><input type="checkbox" name="interests_hobbies" value="Computer Games"/>Computer Games </td>
<td><p class="p6"><input type="checkbox" name="interests_hobbies" value="Gardening"/>Gardening</td>
<td><p class="p6"><input type="checkbox" name="interests_hobbies" value="Internet Browsing"/>Internet Browsing</td>
<td><p class="p6"><input type="checkbox" name="interests_hobbies" value="Sculpting"/>Sculpting</td>
</tr>
<tr>
<td><p class="p6"><input type="checkbox" name="interests_hobbies" value="Bird Watching "/>Bird Watching</td>
  <td><p class="p6"><input type="checkbox" name="interests_hobbies" value="Fishing"/>Fishing</td>
<td><p class="p6"><input type="checkbox" name="interests_hobbies" value="Golfing"/>Golfing </td>
  <td><p class="p6"><input type="checkbox" name="interests_hobbies" value="Painting"/>Painting </td>
<td><p class="p6"><input type="checkbox" name="interests_hobbies" value="Social Networking"/>Social Networking</td>
</tr>
<tr>
<td><p class="p6"><input type="checkbox" name="interests_hobbies" value="Bowling"/>Bowling</td>
 <td><p class="p6"><input type="checkbox" name="interests_hobbies" value="Food Tasting"/>Food Tasting </td>
<td><p class="p6"><input type="checkbox" name="interests_hobbies" value="Gymnastics"/>Gymnastics </td>
 <td><p class="p6"><input type="checkbox" name="interests_hobbies" value="Reading"/>Reading </td>
<td><p class="p6"><input type="checkbox" name="interests_hobbies" value="Watching Movies"/>Watching Movies</td>
</tr>
<tr>
<td><p class="p6"><input type="checkbox" name="interests_hobbies" value="Camping"/>Camping</td>
<td><p class="p6"><input type="checkbox" name="interests_hobbies" value="Football"/>Football </td>
<td><p class="p6"><input type="checkbox" name="interests_hobbies" value="Interior Design"/>Interior Design </td>
<td><p class="p6"><input type="checkbox" name="interests_hobbies" value="Surfing"/>Surfing </td>
<td><p class="p6"><input type="checkbox" name="interests_hobbies" value="Yoga"/>Yoga</td>
</tr>
</table>    

    <li>
    <input type="submit" value="Submit">
    </li>

 </ul>

 </form>

users.php

function actionplan($actionplan) {
array_walk($actionplan, 'array_sanitize');

 $fields = '`' . implode('`, `', array_keys($actionplan)) . '`';
 $data = '\'' . implode('\', \'', $actionplan) . '\'';

mysql_query("INSERT INTO `actionplan` ($fields) VALUES ($data)");
}
4

1 に答える 1

1

PHP に中かっこを含める必要があります。

<input type="checkbox" name="interests_hobbies[]"...

これにより、 $_POST の配列が得られます$_POST['interests_hobbies']。チェックボックスがチェックされている場合、POST 値のみを取得することに注意してください。したがって、チェックボックスがチェックされていない場合、 $_POST['interests_hobbies'] の値が null になる可能性があるため、コードでそれが処理されることを確認してください。

更新: user.php が POST を処理するスクリプトである場合、フォーム アクションは次のようにする必要があります。

<form action="users.php" method="post">

次に、users.php の先頭に次のコードを追加して、POST を画面にダンプします。

echo "<pre>";var_dump($_POST['interests_hobbies']);echo "</pre>"

(タグは必要ありませんが、HTML 内で var_dump を使用するときにタグが気に入っています。)

正しい POST 値を取得していることを確認したら、そこから値の出力または保存に進むことができます。

于 2013-04-04T21:37:06.003 に答える