9
votes

Comment soumettre des valeurs de case à cocher avec la méthode PHP Post

<input type="checkbox" class='form' name="checkbox_1" />

<input type="checkbox" class='form' name="checkbox_2" />

<input type="checkbox" class='form' name="checkbox_3" />

.........

<input type="checkbox" class='form' name="checkbox_10" />
The from has been submitted using the "POST" method. identify, which of the check-boxes and write their numbers in increasing order. Separated all numbers by spaces(not new lines) and do not use any HTML formatting. For Eg:If check-boxes 3, 5 and 10 are checked. Ouput would be:3 5 10
php

3 commentaires

Alors, quel est le problème ici?


Alors, quel est le problème? Détailler ce que vous souhaitez avoir.


Y a-t-il une raison pour laquelle vous n'avez pas accepté la réponse ici?


7 Réponses :


5
votes

Itéréter sur le _ Post _ Post Code> Array et utilisez preg_match () code> pour retirer le numéro s'il commence par "Cochez la case _":

$checked = array();
foreach ($_POST as $k => $v) {
  if (preg_match('|^checkbox_(\d+)$!', $k, $matches) {
    $checked[] = $matches[1];
  }
}
echo implode(' ', $matches);


1 commentaires

Ce que VSR a dit semble plus approprié, de cette façon, vous n'avez pas à rechercher un champ à l'aide de RegEx.



25
votes

Modifier le balisage en quelque chose comme xxx

et pour obtenir les valeurs soumises, utilisez une boucle simple xxx


2 commentaires

Si (Isset ($ _ post ['Cochez la case']) && is_array ($ _ post ['Cochez la case'])) {ECHO implore ('', $ _POST ['Cochez la case']); }


Comment utilisez-vous une case à cocher variable PHP [] en simple forme HTML?



4
votes
<?php
$checked = array();

foreach ($_POST as $k => $v) {
$subject = $k;
$pattern = '/^checkbox_(\d+)$/';
  if (preg_match($pattern, $subject, $matches)) 
  {
    $checked[] = $matches[1];
  }
}

asort($checked);

foreach ($checked as $key=>$value)
echo $value .' ';
?>

0 commentaires

0
votes

Pour votre case à cocher Récupération de la valeur Vous pouvez utiliser la méthode ci-dessous pour obtenir des valeurs à partir de la case à cocher ou non ...

dans ma page de formulaire (du lundi au dimanche) p>

$addweekdays = mysqli_query($conn, "INSERT INTO weekdays(id,monday,tuesday,wednesday,thursday,friday,saturday,sunday) VALUES('$Id', '$checkedMon', '$checkedTue', '$checkedWed', '$checkedThur','$checkedFri','$checkedSat','$checkedSun')") ...


0 commentaires

12
votes

code HTML :: xxx

code PHP :: xxx

maintenant vous obtenez la valeur entière de "case à cocher" dans une variable


1 commentaires

Aidez-moi beaucoup! J'essayais d'envoyer la case à cocher dans un message électronique $ sur Soumettre. Avec la réponse acceptée, il ne serait lu que la dernière valeur et non toutes. Cette réponse a parfaitement fonctionné et je pense que devrait être la bonne réponse! Merci!



0
votes
$checked = array();

foreach ($_POST as $k => $v) {
$subject = $k;
$pattern = '/^checkbox_(\d+)$/';
  if (preg_match($pattern, $subject, $matches)) 
  {
    $checked[] = $matches[1];
  }
}

asort($checked);

foreach ($checked as $key=>$value)
echo $value .' ';

0 commentaires

0
votes

Prenez un tableau pour le nom de votre case à cocher en tant que nom = "Cochez la case []" code> et utilisez le même nom pour toutes vos cases à cocher. Après avoir soumis votre formulaire, recevez les valeurs de la case à cocher à l'aide du code suivant:

<?php
$chk="";
foreach($_POST['checkbox'] as $checkbox)
{
$chk=$chk.$checkbox;
}
echo $chk;
?>


0 commentaires