Fix for $form_state doesn't give me my value in submit function

  1. function liste_membres_form(&$form, $nid){
  2.         $query = db_query("SELECT u.uid, u.name, p.field_profile_photo_fid FROM {users} u INNER JOIN {node} n ON n.uid = u.uid INNER JOIN {content_type_profile} p ON p.nid = n.nid");
  3.         $table_inscris = get_liste_invites(db_fetch_object(db_query("SELECT invites_uid FROM {node_evenement} WHERE nid = %d",$nid))->invites_uid);
  4.         $form = array();
  5.         $i = 0;
  6.         while($item = db_fetch_object($query)){
  7.                 /*$form[$item->uid] = array(
  8.                         '#type' => 'fieldset',
  9.                         '#title' => t('Membre'),
  10.                         '#prefix' => '<table><tr>',
  11.                         '#suffix' => '</tr></table>',
  12.                         '#theme' => 'liste_form_table'
  13.                 );*/
  14.                 $form['membre'.$i]['uid'] = array(
  15.                         '#type' => 'hidden',
  16.                         '#value' => $item->uid
  17.                 );
  18.                 if($avatar = db_fetch_object(db_query("SELECT f.filepath FROM {files} f Where fid = %d", $item->field_profile_photo_fid))->filepath){
  19.                         $avatar = str_replace( "users" , "imagefield_thumbs/users", $avatar);
  20.                         $form['membre'.$i]['avatar'] = array(
  21.                                 '#type' => 'item',
  22.                                 '#title' => '',
  23.                                 '#prefix' => '<table><tr><td width = 120>',
  24.                                 '#suffix' => '</td>',
  25.                                 '#value' => '<img src = \'http://ams.topvillage.fr/'.$avatar.'\' />'
  26.                         );
  27.                 }else{
  28.                         $avatar = 'http://ams.topvillage.fr/sites/default/files/imagefield_default_images/no_avatar.png';
  29.                         $form['membre'.$i]['avatar'] = array(
  30.                                 '#type' => 'item',
  31.                                 '#title' => '',
  32.                                 '#prefix' => '<table><tr><td width = 120>',
  33.                                 '#suffix' => '</td>',
  34.                                 '#value' => '<img src = \''.$avatar.'\' />'
  35.                         );
  36.                 }
  37.                 $form['membre'.$i]['name'] = array(
  38.                         '#type' => 'item',
  39.                         '#title' => '',
  40.                         '#prefix' => '<td>',
  41.                         '#suffix' => '</td>',
  42.                         '#value' => $item->name
  43.                 );
  44.                 $value = in_array((string)$item->uid, $table_inscris)?1:0;
  45.                 $uncheckable = FALSE;
  46.                 if(db_result(db_query("SELECT COUNT(uid) FROM {node_evenement_user_in} WHERE uid = %d AND nid = %d", $item->uid, $nid))){
  47.                         $uncheckable = TRUE;
  48.                 }
  49.                 $form['membre'.$i]['check'] = array(
  50.                         '#type' => 'checkbox',
  51.                         '#title' => '',
  52.                         '#disabled' => $uncheckable,
  53.                         '#default_value' => $value,
  54.                         '#prefix' => '<td width = 120>',
  55.                         '#suffix' => '</td></tr><table>',
  56.                         '#return_value' => 1
  57.                 );
  58.                 $i++;
  59.         }
  60.        
  61.         $form['nid'] = array(
  62.                 '#type' => 'hidden',
  63.                 '#value' => $nid
  64.         );
  65.        
  66.         $form['submit'] = array(
  67.                 '#type' => 'submit',
  68.                 '#value' => t('Validate'),
  69.                 '#submit' => array('liste_membres_submit'),
  70.         );
  71.        
  72.         return $form;
  73. }
  74.  
  75. /*function theme_liste_form_table(&$form){
  76.         $content = '<table>';
  77.         foreach ($form as $key => $value) {
  78.                 $tmp = drupal_render($form[$key]);
  79.                 $tmp = preg_replace('|</label>|i', '</label></td><td>', $tmp, 1);
  80.                 $content .= '<tr><td>'.$tmp.'</td></tr>';
  81.         }
  82.         $content .= '</table>';
  83.         return $content;
  84. }*/
  85.  
  86. function liste_membres_submit($form, &$form_state){
  87.         $query = db_query("SELECT u.uid FROM {users} u INNER JOIN {node} n ON n.uid = u.uid INNER JOIN {content_type_profile} p ON p.nid = n.nid");
  88.         $j = 0;
  89.         $i = 0;
  90.         $liste_inscris = '';
  91.         while($item = db_fetch_object($query)->uid){
  92.                 if($form_state['values']['membre'.$i]['check']==1 && $j == 0){
  93.                         $liste_inscris.=$item;
  94.                         $j++;
  95.                 }elseif($form_state['values']['membre'.$i]['check']==1 && $j != 0){
  96.                         $liste_inscris.= ','.$item;
  97.                         $j++;  
  98.                 }
  99.                 $i++;
  100.         }
  101.         drupal_set_message($i.''.$form_state['values']['name']);
  102.         db_query("UPDATE {node_evenement} set invites_uid = '%s'
  103.                 WHERE nid=%d",
  104.                 $liste_inscris,
  105.                 $form_state['values']['nid']);
  106.         return TRUE;
  107. }
  108.  
  109. function liste_societes_form(&$form, $nid){
  110.         return;
  111. }

Submit Fix

Any tags you'd like to associate with your code, delimitered by commas (example: Views, CCK, Module, etc).
Select the syntax highlighting mode to use.