AccueilAideRechercherIdentifiez-vousInscrivez-vous

Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.
Avez-vous perdu votre courriel d'activation?
17 Mai 2012 à 06:22:43

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 simplifié
Pages: [1]   Bas de page
Imprimer
Auteur Fil de discussion: Champ nom dans formulaire simplifié  (Lu 958 fois)
Space-Pirate
Néophyte
*
Messages: 4


« le: 30 Septembre 2009 à 17:33:13 »

Bonjour!

Tout d'abord merci beaucoup pour ce script qui convient à ce dont j'avais besoin!

A présent une question :

Je souhaiterais utiliser le formulaire d'inscription simplifié avec le champ "nom" en plus, j'ai bien vu le tuto mais il n'est valable que pour le formulaire d'inscription normale, comment puis-je ajouter le champ en question?

Merci d'avance pour votre réponse.
Journalisée
Space-Pirate
Néophyte
*
Messages: 4


« Répondre #1 le: 01 Octobre 2009 à 11:36:15 »

Bonjour, après avoir cherché un peu à adapter le tuto de la version normale à la version simplifiée, j'ai tout de même réussis à mettre le champ "nom" dans le formulaire, mais il doit me manquer quelque chose!

Je n'ai aucune erreur, mais le nom ne s'incrit pas dans la db!

Je voulais mettre le code de "form-newslettux.php" modifié afin que vous puissiez m"aider à trouver ce qu'il manque, mais ça dépasse le nombre de caractères autorisés.

Je peux peut-être vous l'envoyer?

Merci d'avance pour votre réponse.
Journalisée
Matthieu
Administrateur
Membre Héroïque
*
Sexe: Homme
Messages: 3461


Unreal Power...


WWW
« Répondre #2 le: 03 Octobre 2009 à 09:22:51 »

Salut,

Je viens de rentrer de ma semaine d'absence.
Poste seulement les modifs ici, je regarde.  Sourire
Journalisée

Space-Pirate
Néophyte
*
Messages: 4


« Répondre #3 le: 03 Octobre 2009 à 10:00:42 »

Bonjour.

Merci d'avoir pris en compte ma demande. Sourire

Tout d'abord : ligne 407 on a ce bloc où j'ai ajouté une ligne
Code:
//echo 'PROCESS FORM OVERLOAD OK';
// retrieve values
$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 : '';
$user_name = (isset($_POST['user_name'])) ? Rec($_POST['user_name']) : '';

Ensuite ligne 556 on a le champ "email" et j'ai ajouté le champ "name" :
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++;

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++;

Puis ligne 679 on a ce bloc que j'ai modifié comme dans le tuto :
Code:
// add new user
$otherfields = array();

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


Et ligne 699 j'ai également ajouté la variable "$user_name" :
Code:
// now subscribe him to selected formats
SubscribeAndMail($new_subscriber_id, $email, $user_name, $array_regs, $useradd);

Voilà les modifications apportées, le formulaire s'affiche correctement comme ce que je voulais mais le nom ne s'enregistre pas dans la db à l'inscription.

Merci d'avance pour votre réponse éclairée.
Journalisée
Matthieu
Administrateur
Membre Héroïque
*
Sexe: Homme
Messages: 3461


Unreal Power...


WWW
« Répondre #4 le: 03 Octobre 2009 à 12:10:10 »

OK, je vois.

Il y a une erreur pour le champ de formulaire, t'as imbriqué un <p> dans un <p> ce qui peut causer des erreurs d'affichage.
Donc ton champ de formulaire doit être mal positionné.

Ensuite, dans ton bloc ligne 407, tu récupères bien ton user_name, mais est-il envoyé avec le formulaire ?
Je dis ça parce que justement, la balise </p> (que tu n'as pas respectée au dessus) est dans une condition.

fais un
Code:
die ('JE RECUPERE : '.$user_name);

ça te bloquera le script (donc ça n'inscrira rien) mais tu sauras si, à ce point, ton username est bien récupéré.

si là c'est bon, ouvre lib/functins_users.php et juste avant la ligne 419 :
Code:
if (Executequery($req_addSub, __FILE__, __LINE__))
rajoute :
Code:
die('REQUETE : '.$req_addSub);

tu verras ce qui s'exécute pour ajouter un utilisateur.
Si le nom n'est pas là, c'est que le souci est juste avant ...
Journalisée

Space-Pirate
Néophyte
*
Messages: 4


« Répondre #5 le: 03 Octobre 2009 à 14:40:34 »

Merci beaucoup pour ces indications Sourire

En effet la balise <p> était de trop, mais le problème d'enregistrement du nom dans la db lui venait d'une erreur de ma part!

C'est cette ligne que je n'avais pas modifié au bon endroit :

Code:
$new_subscriber_id = AddSubscriber($email);

Code:
$new_subscriber_id = AddSubscriber($email, $user_name, $otherfields);

Forcément le nom ne s'enregistrait pas!

Après relecture minutieuse du code, j'ai donc replacé cette modification et maintenant tout fonctionne correctement!

Merci encore pour votre aide et pour ce script qui fonctionne à la perfection avec une facilité inégalé!

@Bientôt.
Journalisée
Matthieu
Administrateur
Membre Héroïque
*
Sexe: Homme
Messages: 3461


Unreal Power...


WWW
« Répondre #6 le: 03 Octobre 2009 à 14:55:25 »

Ok, super !
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