Urgent...pb tres bete avec un form

peejee Messages postés 3 Date d'inscription lundi 6 octobre 2003 Statut Membre Dernière intervention 24 décembre 2003 - 22 déc. 2003 à 14:43
cs_bastoun Messages postés 164 Date d'inscription dimanche 1 octobre 2000 Statut Membre Dernière intervention 23 mars 2007 - 27 déc. 2003 à 02:32
Bonjour a tous, j'ai un probleme avec un formulaire.
Je vs explique.....
Je crée un formulaire sur ma page accueil.cfm dans lequel se trouve le cfselect CHOIX_FORUM.
lorsque j'affiche les resultats de la requete, j'ai decidé de limiter a l'affichage a 15 enregistrements par pages. J'ai donc un systeme de pagination. seul probleme lorsque ke je veux consulter les enregistrement de la pages 2 (cad les enregistrements 16 a 30), l'application me renvoe le message d'erreur suivant :
Element CHOIX_FORUM is undefined in FORM

je vs en prie, prenez le tps de lire le code, et de m'aider a resoudre mon probleme... MERCI MERCI MERCI MERCI A TOUS CEUX QUI POURRONT m'apporter le moindre coup de mains.... A bientot tout le monde

page accueil.cfm

<cfloop index= "i" from="1" to="#arraylen(session.utilisateur.droits_forum)#">
<cfoutput>#session.utilisateur.droits_forum#</cfoutput>
</cfloop>

<cfform action="index.cfm" method="post">
<cfselect name="choix_forum">
<cfquery name="categ" datasource="forum">
SELECT CAT_Libelle, CAT_id
FROM CATEGORIE RIGHT JOIN ACCES ON CATEGORIE.CAT_id = ACCES.ACC_id_forum
WHERE (ACCES.ACC_id_forum=CATEGORIE.cat_id)
AND <cfloop index="i" from="1" to="#arraylen(session.utilisateur.droits_forum)#">
(ACCES.ACC_id_droits = #session.utilisateur.droits_forum[i]#)
<cfif i neq #arraylen(session.utilisateur.droits_forum)#>
OR
</cfif>
</cfloop>
GROUP BY CAT_libelle, CAT_id
</cfquery>
<cfoutput query="categ">
<option value=#categ.cat_id#>
#categ.CAT_Libelle#
</option>
</cfoutput>
</cfselect>,

----

</cfform>

[i]page index.cfm

<cfif isdefined("form.choix_forum")>
<cfset session.forum.cat = #form.choix_forum#>
</cfif>

<cfset CurrentPage= GetFileFromPath(GetTemplatePath())>

<cfparam name="PageNum_message_post" default="1">

<cfoutput>
<cfquery name="message_post" datasource="forum">
SELECT LISTE.for_id, LISTE.for_objet, LISTE.for_message, LISTE.for_date, LISTE.Compte, FORUM.for_loginid
FROM Liste, FORUM
WHERE (liste.for_cat_id = #session.forum.cat#)
AND (LISTE.for_id = FORUM.for_id)
ORDER BY LISTE.for_date DESC
</cfquery>
</cfoutput>

c'est ici ke commence le code pour la pagination

<cfset MaxRows_message_post=15>

<cfset StartRow_message_post= Min((PageNum_message_post-1) * MaxRows_message_post+1, Max(message_post.RecordCount,1))>

<cfset EndRow_message_post= Min(StartRow_message_post+MaxRows_message_post-1, message_post.RecordCount)>

<cfset TotalPages_message_post=Ceiling(message_post.RecordCount/MaxRows_message_post)>

<cfset QueryString_message_post = Iif(CGI.QUERY_STRING NEQ "", DE("&"&CGI.QUERY_STRING), DE(""))>

<cfset tempPos=ListContainsNoCase(QueryString_message_post,"PageNum_message_post=","&")>

<cfif tempPos NEQ 0>
<cfset QueryString_message_post=ListDeleteAt(QueryString_message_post,tempPos,"&")>
</cfif>

|
Recherche par Mots Clefs |

----

Ajouter un nouveau Post,
<cfinclude template ="collection_search_form.cfm">

Auteur |
Objet |
Date |
Nb de reponses,

<cfoutput query=\"message_post\" startrow=\"#StartRow_message_post#\" maxrows=\"#MaxRows_message_post#\">
----

<center>#for_loginid#</center>,
#for_objet#,
<center>#dateformat(for_date,"dd/mm/yyyy")# #timeformat(for_date,"HH:mm")#</center>,
<center>#compte#</center>,

</cfoutput>

C'est ici ke commence le code pour la pagination

<cfoutput>
----

<cfif PageNum_message_post GT 1>

</cfif>,
<cfif PageNum_message_post GT 1>


</cfif>,
<cfif PageNum_message_post LT TotalPages_message_post>

</cfif>,
<cfif PageNum_message_post LT TotalPages_message_post>

</cfif>,

</cfoutput>

3 réponses

cs_bastoun Messages postés 164 Date d'inscription dimanche 1 octobre 2000 Statut Membre Dernière intervention 23 mars 2007 1
23 déc. 2003 à 23:59
euh... tu fumes quoi avant d'écrire ton code et tes requetes ???

bon alors, déjà.. avant de répondre à ta question, je crois qu'il faut déjà nettoyer tout ça...

alors.. ton cfquery, tu peux le mettre en haut de ta page.. pas besoin de le mettre dans le cfselect...(accueil.cfm) et d'ailleurs, ça sert à rien de mettre des cfoutput autour non plus (index.cfm)
et ta requete.. euh...
ça te sert à quoi le
FROM CATEGORIE RIGHT JOIN ACCES ON CATEGORIE.CAT_id = ACCES.ACC_id_forum
si tu as
WHERE (ACCES.ACC_id_forum=CATEGORIE.cat_id)
???
Et au lieu de faire un cfloop pour obenir une liste de OR, tu transforme ton tableau en liste et tu fais un IN...
En plus ton cfselect et ton cfform ne te servent pas à grand chose dans ton exemple... un select et form normaux auraient suffit (pas de validation)

bon.. tu refais un truc propre et on en rediscute ;-p
0
peejee Messages postés 3 Date d'inscription lundi 6 octobre 2003 Statut Membre Dernière intervention 24 décembre 2003
24 déc. 2003 à 09:35
OK merci bcp, dsl je c c pas tres tres net, mais j'apprends tout seul.... als c un peu compliqué, je n'ai meme jamais fait de html....
mais en tout cas merci pour la rapidité de la réponse.....
j'ai trouvé une "parade" en créant une nouvelle variable session, mais je v retravailler ce que tu m'as dis, et si ça te derange pas, je te renvoie le nouveau plus tard..

Bye a plus
0
cs_bastoun Messages postés 164 Date d'inscription dimanche 1 octobre 2000 Statut Membre Dernière intervention 23 mars 2007 1
27 déc. 2003 à 02:32
oui.. mais bon... ce que je t'avais répondu concernait que la clarté de ton code..

Pour l'erreur, vérifie que tu n'utilises pas ta variable dans ton include.
Active aussi dans l'admin le mode debug complet... ça aide.. il te dira à quelle ligne se trouve l'erreur, dans quel fichier, l'ordre d'inclusion, le variables passées de page en page, le temps que prend chaque page ou chaque template inclu... etc...Ah oui, aussi, petit conseil... veille à placer tes # correctement.. normalement, tu peux faire <cfset session.forum.cat form.choix_forum> ou <cfset session.forum.cat "#form.choix_forum#"> , mais <cfset session.forum.cat = #form.choix_forum#> c'est pas propre (même si ça marche...)
0
Rejoignez-nous