2
Indiquez l’intérêt que vous portez à cette question
0

Création de formulaire avec enregistrement dans une base.

Bonsoir

Je suis entrain de redev un plugin mais je bloque sur la création d’un formulaire. Je souhaite proposer une liste de choix checkbox et que si on coche plusieur case cela provoque une enregistrement par choix.
Mon formulaire se trouve ici http://amap.pierre-kuhn.org/?page=panier
Il faut choisir un adhérent (auteur) et cocher une case mais comme dois je modifier ce php :

<?php

if (!defined("_ECRIRE_INC_VERSION")) return;

function action_editer_amap_panier_dist() {
	$securiser_action = charger_fonction('securiser_action', 'inc');
	$arg = $securiser_action();

	// pas de amap_panier ? on en cree un nouveau, mais seulement si 'oui' en argument.
	if (!$id_amap_panier = intval($arg)) {
		if ($arg != 'oui') {
			include_spip('inc/headers');
			redirige_url_ecrire();
		}
		$id_amap_panier = insert_amap_panier();
	}

	if ($id_amap_panier) $err = revisions_amap_paniers($id_amap_panier);
	return array($id_amap_panier,$err);
}


function insert_amap_panier() {
	
	// toutes les dates
	$dates_distrib = (string)_request('date_distribution[]');
	// le auteur
	$id_auteur_adherent = (string)_request('id_auteur');

	// pour chaque date, remplir un tableau de données correspondant à un amap_panier et l'enregistrer
	foreach ($dates_distrib as $date_distrib) {
		$data_insert['id_auteur'] = $id_auteur_adherent;
		$data_insert['date_distribution[]'] = $date_distrib;
		//var_dump($data_insert);echo "<br/>";
		$champs = pipeline('pre_insertion', array(
			'args' => array(
				'table' => 'spip_amap_paniers',
			),
			'data' => $data_insert
		));
		$id_amap_panier = sql_insertq("spip_amap_paniers", $champs);
		//return $id_amap_panier;
	}
	return $id_amap_panier;

}


// Enregistrer certaines modifications d'un amap_panier
function revisions_amap_paniers($id_amap_panier, $c=false) {

	// recuperer les champs dans POST s'ils ne sont pas transmis
	if ($c === false) {
		$c = array();
		foreach (array('id_auteur', 'date_distribution[]') as $champ) {
			if (($a = _request($champ)) !== null) {
				$c[$champ] = $a;
			}
		}
	}
	
	include_spip('inc/modifier');
	modifier_contenu('amap_panier', $id_amap_panier, array(
			'invalideur' => "id='id_amap_panier/$id_amap_panier'"
		),
		$c);
}
?>

Sachant que je travail avec les formulaire cvt.
Merci pour votre aide.