AccueilAideRechercherIdentifiez-vousInscrivez-vous

Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.
Avez-vous perdu votre courriel d'activation?
21 Mai 2012 à 20:55:59

Connexion avec identifiant, mot de passe et durée de la session
Rechercher
    avancée

News

Stats
8763 Messages dans 1087 Fils de discussion par 1000 Membres
Dernier membre: totor 94
+  PHP Astux
|-+  NewsletTux v. 2
| |-+  NewsletTux 2 fr (fin du support)
| | |-+  champ nom dans formulaire simplifie
Pages: [1]   Bas de page
Imprimer
Auteur Fil de discussion: champ nom dans formulaire simplifie  (Lu 863 fois)
chrismodlao
Néophyte
*
Messages: 4


« le: 11 Juin 2010 à 04:34:26 »

Bonjour,

Je suis en train d'ajouter des champs au formulaire simplifie.
Le champ nom s affiche sur la page mais celui-ci n arrive pas jusqu a la DB.

Voici ce que j ai fait dans le fichier : form-newslettux.php

1 - Ligne 407 : ajout de ce code
Code:
//echo 'PROCESS FORM OVERLOAD OK';
// retrieve values
                                        $user_name = (isset($_POST['user_name'])) ? Rec($_POST['user_name']) : '';
$action = (isset($_POST['action_'.$submitted_form])) ? Rec($_POST['action_'.$submitted_form]) : '';
$email = (isset($_POST['email_'.$submitted_form])) ? Rec($_POST['email_'.$submitted_form]) : '';
$email = (IsEmail($email)) ? $email : '';

2 - ligne 556 :
Code:
echo ' <p><label for="email'; echo ($formnumber != 0) ? '_'.$formnumber : ''; echo '">'.$ntux2['mail'].'</label><input type="text" id="email'; echo ($formnumber != 0) ? '_'.$formnumber : ''; echo '" name="email'; echo ($formnumber != 0) ? '_'.$formnumber : ''; echo '" tabindex="'.$tabindex.'" value="'.$email.'"'.DOC; $tabindex++;</p>

echo '    <p><label for="user_name">Votre nom :</label>'; echo '<input type="text" id="user_name" name="user_name" tabindex="'.$tabindex.'"'.DOC.'</p>'.CR; $tabindex++;

3- ligne 679 :
Code:
// add new user
$otherfields = array();

$new_subscriber_id = AddSubscriber($email, $user_name, $otherfields);
$useradd = true;

4 - ligne 699
Code:
// now subscribe him to selected formats
SubscribeAndMail($new_subscriber_id, $email, $user_name, $array_regs, $useradd);

5 - J ai inserer des rows dans ma database comme indique dans le tuto

L'user s'enregistre bien mais je ne recois pas son nom.
Merci d'avance

Chris
Journalisée
Matthieu
Administrateur
Membre Héroïque
*
Sexe: Homme
Messages: 3461


Unreal Power...


WWW
« Répondre #1 le: 11 Juin 2010 à 11:26:21 »

Bonjour,

l'ajout de champs supplémentaire s'applique au formulaire normal. Est-ce que les modifs faites fonctionnent avec le formulaire normal ?
Journalisée

chrismodlao
Néophyte
*
Messages: 4


« Répondre #2 le: 16 Juin 2010 à 06:56:19 »

Bonjour,

Desole pour le temps de reponse.
Me suis mis au vert quelque temps et de plus je vis au laos, donc decalage de +6h.

Sinon, oui cela fonctionne mais il faut aussi changer une ligne dans le fichier : lib/functions_users.php

Ligne 491 :
Code:
function SubscribeAndMail($uid, $email, $user_title, $user_name, $user_forname, $array_regs, $useradd = true)

Le truc que je ne comprends pas c est que cela a fonctionne pour le user_name, mais que pour les autres champs, cela ne les prends pas en compte.
Mon fichier php me renvoie cette erreur :

Code:
Warning: Invalid argument supplied for foreach() in /home/o108685/public_html/newslettux2/lib/functions_users.php  on line 495

Warning: Invalid argument supplied for foreach() in /home/o108685/public_html/newslettux2/lib/functions_users.php on line 549

Je continue a chercher, mais si tu as une idee n hesite pas.

Chris
Journalisée
Matthieu
Administrateur
Membre Héroïque
*
Sexe: Homme
Messages: 3461


Unreal Power...


WWW
« Répondre #3 le: 16 Juin 2010 à 08:36:07 »

Il n'y a que le username qui est dans ce cas de fihure (puisque le champ "nom" existe déjà dans la base de NewsletTux)

pour les autres champs, c'est le paramètre "other fields" qui rentre en ligne de mire.

Le tuto explique cette originalité pour le username, mais sinon l'ajout de champs suit le même principe.
Journalisée

chrismodlao
Néophyte
*
Messages: 4


« Répondre #4 le: 16 Juin 2010 à 09:49:16 »

Rien a faire, a part le user_name rien d'autre ne ce remplis dans la database...

La ligne 491 du fichier : lib/functions_users.php, il faut rentrer $otherfield a l interieur celle-ci :
Code:
function SubscribeAndMail($uid, $email, $user_name, $otherfields, $array_regs, $useradd = true)

??

Aussi aurais tu la possibilite de me donner la construction d'une liste UL/LI en php (afin de pouvoir ordonne le formulaire en css)
ex :
Code:
                 <div id="LABEL" style="float:left;">
                      <ul>
                          <li></li>
                          <li></li>
                      </ul>
                 </div>
                 <div id="INPUT" style="float:right;">
                      <ul>
                          <li></li>
                          <li></li>
                      </ul>
                 </div>

Meci d'avance
Journalisée
Matthieu
Administrateur
Membre Héroïque
*
Sexe: Homme
Messages: 3461


Unreal Power...


WWW
« Répondre #5 le: 16 Juin 2010 à 13:11:23 »

non, il n' a rien d'autre à modifier à part ce qui est indiqué dans le tuto.

D'autres m'ont signalé (doit y avoir des traces sur le forum) avoir réussi ce tuto, donc je ne pense pas qu'il y ait d'erreurs  Huh
Tu ne veux afficher que le nom en plus ?

Si oui, dans le tuto :
- ETAPE 2 : tu te trouves dans le cas n°1
- ETAPE 4 : Ligne 734, on a // display all newsletters with formats : nous allons rajouter nos champs juste en dessous. Il suffit de rajouter cette ligne au formulaire :
Code:
  echo '    <p><label for="user_name">Votre nom :</label>';
  echo '<input type="text" id="user_name" name="user_name" tabindex="'.$tabindex.'"'.DOC.'</p>'.CR; $tabindex++;

- ETAPE 5 : ce que tu as fait est juste, mais mal placé (là tu l'as rajouté dans le traitement du formulaire simplifié, il faut le mettre là où c'est indiqué dans le tuto)
Code:
$user_name = (isset($_POST['user_name'])) ? Rec($_POST['user_name']) : '';

et pour la fin du tuto :
Citation
Nous allons maintenant nous rendre environ ligne 680. Ce code :

   // add new user
   $new_subscriber_id = AddSubscriber($email);
   $useradd = true;

devient :

   // add new user
   $otherfields = array();
   $otherfields['champ_code_postal'] = $champ_code_postal;
   $otherfields['champ_couleur_yeux'] = $champ_couleur_yeux;
   $otherfields['champ_taille'] = $champ_taille;

   $new_subscriber_id = AddSubscriber($email, $user_name, $otherfields);
   $useradd = true;

 il faut comprendre :
Citation
Nous allons maintenant nous rendre environ ligne 680. Ce code :

   // add new user
   $new_subscriber_id = AddSubscriber($email);
   $useradd = true;

devient :

   // add new user
   $otherfields = array();
   $new_subscriber_id = AddSubscriber($email, $user_name, $otherfields);
   $useradd = true;
t'as pas besoin de plus.

Pour le rectificatif publié en dessous, il a été corrigé dans la 2.1.5.
Journalisée

chrismodlao
Néophyte
*
Messages: 4


« Répondre #6 le: 17 Juin 2010 à 05:13:58 »

Merci,

j'essaye cela de suite et te tient au courant.

Chris
Journalisée
Pages: [1]   Haut de page
Imprimer
Aller à:  

Powered by SMF 1.1.16 | SMF © 2011, Simple Machines
Amber design by Bloc | XHTML | CSS