Bonjour a tous je suis nouveau dans le forum et aussi novice dans l’utilisation de yii alors voilla je suis entrin d’elaborer un site web je suis arriver a l’etape ou ma page doit interagire avec la base de données pour la recuperation et l’affichage des information a partire d’une table je n’ai pas de probleme ,le souci se pose sur une page ou j’ai un formulaire d’inscription que le client doit remplire ses information doivent etre enregistré dans la table inscription(par exmemple )
es-que vous pouvez me dir comment je doit proceder pour recuperer les information envoyer par le formulaire et les inserer dans la table? decrivez moi impe les etapes merciiiii
pour la question de gii je l’ai juste utiliser pour les models creation j’ai pas envi d’utiliser la gestion du crud que yii propose,
pour la verification c’est ok et pour l’enregistrement des _$POST[‘item’] sa se passe ou je fait le traitement au niveau du controller la deuxiem etapes je sais pas ou la faire et comment mi prendre pour dir que voila tu met le _$POST dans la table inscription (insert into table en sql) vous voyez impe se que je veut dire
public function actionCreate()
{
$model = new NomDuModele;
if (isset($_POST['NomDuModele'])) {
$model->attributes = $_POST['NomDuModele'];
if ($model->save()) {
/* voilà c'est sauvegardé */
}
} else {
/* affichage de la vue contenant le formulaire */
}
}
et pour les champ obligatoire on peut verifir dans le premier controle tous sa a la verification si le tableau est rempli merciiiiiiii infiniment benouna
une autre question au niveau de la page qui est dans le view ya rien a faire quand je click sur le boutton s’inscrire sa se fait automatiquement parceque je vien de le faire et rien ne se passe es qu’il ya des manipulation a faire au niveau de la page inscription.php jenvoi un array qui contien le _$Post
le code de sauvegarde que tu m’as donnée je linsert dans le conrolleer pas dans le model
NomDuModel:c’est le model que j’ai crée pour la table dans la quelle je veux sauvegarder
merci pour le lien psk j’ai la documentation en anglais je me retrouve pas quand sa devien assé special et complex j’ai pas tous les reflex pour le moment le code s’execute mais rien ne se passe dans la table tu m’as bcp aidé merciiiiiii infiniment
public function actionPreInscription($id)
{
//elmacirfinal/protected/views/formaion/preinscription.php
$this->idStyle="id='contenu'";
$form=Formation::model()->findByPk($id);
$date=DateFormation::model()->findByPk($id);
$this->render('preinscription',array('form'=>$form,'date'=>$date));
$model = new Inscription;
if (isset($_POST['Inscription'])) {
$model->attributes = $_POST['Inscription'];
if ($model->save()) {
/* voilà c'est sauvegardé */
}
} else {
/* affichage de la vue contenant le formulaire */
//$this->render('preinscription',array('form'=>$form,'date'=>$date));
}
la vue
<div id="core" class="span-15">
<div id="inscription">
<h3 class="heading"><span class="border"></span>Pré-inscription à nos formations</h3>
<p>Si vous souhaitez participer à l'atelier, veuillez remplir la présente fiche de participation.Attention !
Le nombre d'inscrits étant limité, nous vous prions de bien vouloir confirmer vos inscriptions dans
les meilleurs délais possibles.</p>
<div id="top_inscription">
<h3>Personne procédant à l'inscription</h3>
<ul>
<li><span class="txt">Nom :</span><input type="text"/><span class="picto"></span></li>
<li><span class="txt">Prénom :</span><input type="text"/><span class="picto"></span></li>
<li><span class="txt">Fonction :</span><input type="text"/></li>
<li><span class="txt">E-mail :</span><input type="text"/></li>
</ul>
<div class="clear"></div>
</div>
<div id="info_inscription">
<h3>Information Formation</h3>
<ul>
<li>
<span class="txt">Formation :</span>
<select>
<option><?php echo $form->nom; ?></option>
</select>
<span class="picto"></span>
</li>
<li>
<span class="txt">Date saision :</span>
<select>
<option><?php echo $date->date_debut; ?> Au <?php echo $date->date_fin; ?> </option>
</select>
<span class="picto"></span>
</li>
<li><span class="txt">Date saision:</span><input type="text"/><span class="picto"></span></li>
<li><span class="txt">Numbres :</span><input type="text"/><span class="picto"></span></li>
<li><span class="txt">Société :</span><input type="text"/></li>
<li><span class="txt">Adresse :</span><input type="text"/><span class="picto"></span></li>
<li><span class="txt">Code postal :</span><input type="text"/><span class="picto"></span></li>
<li><span class="txt">Ville :</span><input type="text"/></li>
<li><span class="txt">Pays :</span><input type="text"/></li>
<li><span class="txt">Téléphone :</span><input type="text"/></li>
<li><span class="txt">Fax :</span><input type="text"/></li>
</ul>
<div class="clear"></div>
</div>
<div id="sub">
<span class="txt">Champs de saisie obligatoires</span><span class="picto"></span>
<a href="#">S'inscrir à cette formation</a>
</div>
</div>
</div>
gii pour le crud ne m’aide pas je doit passer par lvoie normal car il me faud pas le truc standard que génére yiii gii je l’é utilizé pour generé le model c’est tous
apré avoir fait toutes les modification que tu m’as demander il m’affiche tous dans l’Url mais rien dans la table de la base de donnée et il me redirige vvers la page index.php avec toutes les information dans l’url
controller Preinscription
public function actionPreInscription($id)
{
//elmacirfinal/protected/views/formaion/preinscription.php
$this->idStyle="id='contenu'";
$form=Formation::model()->findByPk($id);
$date=DateFormation::model()->findByPk($id);
$model = new Inscription;
if (isset($_POST['Inscription'])) {
$model->attributes = $_POST['inscription'];
if ($model->save()) {
/* voilà c'est sauvegardé */
$this-> getErrors();
}
} else {
/* affichage de la vue contenant le formulaire */
$this->render('preinscription',array('form'=>$form,'date'=>$date));
vue
<form name="formulaire">
<div id="core" class="span-15">
<div id="inscription">
<h3 class="heading"><span class="border"></span>Pré-inscription à nos formations</h3>
<p>Si vous souhaitez participer à l'atelier, veuillez remplir la présente fiche de participation.Attention !
Le nombre d'inscrits étant limité, nous vous prions de bien vouloir confirmer vos inscriptions dans
les meilleurs délais possibles.</p>
<div id="top_inscription">
<h3>Personne procédant à l'inscription</h3>
<ul>
<li><span class="txt">Nom :</span><input type="text" name="Inscription[nom]" id="1"/><span class="picto"></span></li>
<li><span class="txt">Prénom :</span><input type="text" name="Inscription[prenom]" id="2"/><span class="picto"></span></li>
<li><span class="txt">Fonction :</span><input type="text" name="Inscription[fonction]" id="3"/></li>
<li><span class="txt">E-mail :</span><input type="text" name="Inscription[mail]" id="4"/></li>
</ul>
<div class="clear"></div>
</div>
<div id="info_inscription">
<h3>Information Formation</h3>
<ul>
<li>
<span class="txt">Formation :</span>
<select>
<option ><?php echo $form->nom; ?></option>
</select>
<span class="picto"></span>
</li>
<li>
<span class="txt">Date saision :</span>
<select name="date" id="5">
<option ><?php echo $date->date_debut; ?> Au <?php echo $date->date_fin; ?> </option>
</select>
<span class="picto"></span>
</li>
<li><span class="txt">Date saision:</span><input id="6" type="text" name="Inscription[date_session]"/><span class="picto"></span></li>
<li><span class="txt">Numbres :</span><input id="7" type="text" name="Inscription[nombre]"/><span class="picto"></span></li>
<li><span class="txt">Société :</span><input id="8" type="text" name="Inscription[societe]"/></li>
<li><span class="txt">Adresse :</span><input id="9" type="text" name="Inscription[adresse]"/><span class="picto"></span></li>
<li><span class="txt">Code postal :</span><input id="10" type="text" name="code_postal"/><span class="picto"></span></li>
<li><span class="txt">Ville :</span><input id="11" type="text" name="Inscription['ville']"/></li>
<li><span class="txt">Pays :</span><input id="12" type="text" name="Inscription[pays]"/></li>
<li><span class="txt">Téléphone :</span><input id="13" type="text" name="Inscription[phone]"/></li>
<li><span class="txt">Fax :</span><input id="14" type="text" name="Inscription[fax]"/></li>
</ul>
<div class="clear"></div>
</div>
</form>
<div id="sub">
<span class="txt">Champs de saisie obligatoires</span><span class="picto"></span>
<button type="submit">S'inscrir à cette formation</button>
</div>
</div>
</div>