Probleme fonction select Tutoriel Portfolio (partie 4/5)

Par Aerrow, il y a 10 ans


Bonjour, voila ayant suivi le tutoriel pour créer un portfolio de A à Z en PHP "BRUT" dans la 4ème partie je me retrouve face a un probleme avec la fonction select dans form.php

function select($id, $options = array()){ $return = "<select class='form-control' id='$id' name='$id'>"; foreach($options as $k => $v){ $selected = ''; if(isset($_POST[$id]) && $k == $_POST[$id]){ $selected = ' selected="selected"'; } $return .= "<option value='$k' $selected>$v</option>"; } $return .= '</select>'; return $return; }

le probleme est du au fait que la catégorie associé a la réalisation n'est pas récuperée lors de sa (ré)edition (quand on clique sur une réalisation déjà existante bien sur )

Que faire ?

Merci d'avance

PS : je précise que je suis en ligne chez un hébergeur (shost.ca)

14 réponses

betaWeb, il y a 10 ans

Salut,

Tu peux être plus précis stp ? Et est-ce que tu as fait toute la formation ? Car il se peut que la solution soit donnée plus loin dans la vidéo.

Aerrow, il y a 10 ans

Merci pour ta réponse betaWeb mais en revisionnant la vidéo je remarque à 12:45 de la vidéo, que la fonction se met à fonctionner de suite (grafikart lui même le dit ^^)
quand tu dis plus précis quel genre de détails voudrait tu savoir ?
Et non j'en suis justement a cette partie du tutoriel où je bloque un peu

betaWeb, il y a 10 ans

Eh beh continues le tuto alors.
"le probleme est du au fait que la catégorie associé a la réalisation n'est pas récuperée lors de sa (ré)edition (quand on clique sur une réalisation déjà existante bien sur )" << pas compris.

Aerrow, il y a 10 ans

je reformule autrement, exemple : je crée une réalisation (nom + slug + content + la catégorie) elle est publié (jusque la ca devrait aller)
ensuite, une redirection se fait, on se retrouve en face d'une page qui logiquement repertorie toutes les réalisations enregistrées (la normalement ca devrait toujours aller) ensuite, chaque réalisation est "équipée" d'un bouton "editer" qui permet de le modifier et c'est a ce moment que normalement ce qu'on à entré comme données dans les differents champs se réaffiche surtout le champ select qui lui se charge exclusivment de récupérer la valeur choisi lors de l'enregistrement fait auparavent

betaWeb, il y a 10 ans

C'est simplement que la condition ci-dessous n'est pas remplie. Tu débug tes variables ?

if(isset($_POST[$id]) && $k == $_POST[$id]){ $selected = ' selected="selected"'; }
Aerrow, il y a 10 ans

Je peux toujours retester avec un die mais en théorie il ne devrait pas réagir

betaWeb, il y a 10 ans

Beh pourquoi il ne devrait pas réagir ? Et d'ailleurs, ton id, pourquoi le récupères-tu en POST ? Il doit être dans l'URL et donc en GET normalement.

Aerrow, il y a 10 ans

et non parce-que le formulaire qui lui est associé envoie tout en post (néanmoins je peut essayer)

betaWeb, il y a 10 ans

Oui, lors de la soumission, mais lorque tu veux éditer ou afficher un article, l'ID est récupéré en GET.

Aerrow, il y a 10 ans

ah oui exact on le voit dans l'URL (apres le ?)

betaWeb, il y a 10 ans

Beh voilà donc récupères ton paramètre dans ton URL et je pense que ça marchera ;)

Aerrow, il y a 10 ans

Bizarrement en local ca a fonctionné mais en ligne ca n'est pas passé

betaWeb, il y a 10 ans

Ah beh ça après c'est à toi de déboguer de ton côté.

Aerrow, il y a 10 ans

encore merci pour ton aide