PHP nasıl onay kutusu form ile veritabanında birden girdilerini eklemek için?

0 Cevap php

İşte benim kod, ben burada yanlış ne yapıyorum emin değil ... İlk ben geçti değişken kontrol ve formunu nasıl başa çıkılacağı konusunda biraz ekleyebilirsiniz ...

// Check for a user id:
if (empty($_POST['user_id'])) {
    $errors[] = 'Oops! You forgot to enter your users.';
} else {
    $user_id = mysqli_real_escape_string($dbc, trim($_POST['user_id']));
}

if (empty($errors)) { // If everything's good.

        // Add the user to the database:
        $q = "INSERT INTO users (user_id, page_id, account_id ) VALUES ('$user_id', '$page_id', '$id' )";
        $r = mysqli_query ($dbc, $q) or trigger_error("Query: $q\n<br />MySQL Error: " . mysqli_error($dbc));

        //CLOSE UP THE SUBMIT CONDITIONAL

Sonra kullanıcıları seçmek ve formu yankı

echo '<form action="addusers.php" method="post">';
        while ($row = mysqli_fetch_array($show, MYSQLI_ASSOC)) {
            echo '<p><label for="learner">Add</label>
                <input type="checkbox" id="user_id" value="' . $row['user_id'] . '" name="user_id" /></p>';
    }

echo '<p><input type="submit" name="submit" value="Submit" /></p>
    <input type="hidden" name="submitted" value="TRUE" />
<input type="hidden" name="account_id" value="$id" />
<input type="hidden" name="course_id" value="$course_id" />
</form>';

Bu benim kullanıcıların bir listesini oluşturur, ve beni ben gibi birçok seçmenize olanak sağlar, ama ben göndermek için tıkladığımda, yalnızca hepsi, veritabanına son kullanıcıyı değil girer?

// UPDATE Okay- I've edited the code so that the value of the checkbox is an array and know I need to use the foreach loop to pass the variables into the database, but could someone check this code for that insert?

    // Add the user to the database:
$q = "INSERT INTO users (user_id) VALUES ('$user_id')";
$r = mysqli_query ($dbc, $q) or trigger_error("Query: $q\n<br />MySQL Error: " . mysqli_error($dbc));
foreach($_POST as $key => $value){
    if ($r->execute(Array($key, $value))){
        echo "user added <br />";
    }
} // end for each loop

0 Cevap