AccueilAideRechercherIdentifiez-vousInscrivez-vous

Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.
10 Février 2012 à 06:30:28

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

News

Stats
8750 Messages dans 1085 Fils de discussion par 989 Membres
Dernier membre: Sam Cours
+  PHP Astux
|-+  NewsletTux v. 2
| |-+  NewsletTux 2 fr (fin du support)
| | |-+  Base de donnée récalcitrante
Pages: [1]   Bas de page
Imprimer
Auteur Fil de discussion: Base de donnée récalcitrante  (Lu 1129 fois)
baxt
Néophyte
*
Messages: 7


« le: 04 Juillet 2010 à 16:57:50 »

Et oui encore moi  ...
( est ce utile de préciser que je connais rien en php :--)... )

J'ai tenté de personnaliser la newsletter, dans la mesure ou il va s'agir de prospect, j'aimerai avoir un minimum d'information à leurs sujet.

Nom
Prenom
société
Code postal

J'ai suivis les information du tuto !

tout est bien en place dans mon formulaire, mais je ne vois rien apparaitre dans ma base de données :-(  même pas le nom qui si j'ai bien compris est traité différemment vu que déjà inclus.

J'ai donc introduit ceci sur phpmyadmin

Code:
ALTER TABLE `ntux2_users` ADD `prenom` VARCHAR(250) NOT NULL;
 ALTER TABLE `ntux2_users` ADD `entreprise` VARCHAR(250) NOT NULL;
LTER TABLE `ntux2_users` ADD `code_postal` VARCHAR(5) NOT NULL;

Voici ce que j'ai mis sur form-netlettux2.php :

Ligne 780 :

Code:
echo '  <fieldset><legend>Données annexes</legend>'.CR;
    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++;
      echo '    <p><label for="code_postal">Votre Code Postal :</label>';
      echo '<input type="text" id="code_postal" name="code_postal" tabindex="'.$tabindex.'"'.DOC.'</p>'.CR; $tabindex++;
      echo '    <p><label for="entreprise">Nom de votre soci&eacute;t&eacute;</label>';
      echo '<input type="text" id="entreprise" name="entreprise" tabindex="'.$tabindex.'"'.DOC.'</p>'.CR; $tabindex++;
      echo '    <p><label for="prenom">Votre prenom :</label>';
      echo '<input type="text" id="prenom" name="prenom" tabindex="'.$tabindex.'"'.DOC.'</p>'.CR; $tabindex++;
      echo '  </fieldset>'.CR;
echo ' </div>'.CR;
echo ' <div class="formfoot"><input type="submit" name="submit" value="'; echo ($act == 'manage') ? $ntux2['reg_upd'] : $ntux2['reg_now']; echo'" tabindex="'.$tabindex.'"'.DOC.'</div>'.CR; $tabindex++;
echo '</form>'.CR;
ensuite ligne 591 :

Code:
$email = (IsEmail($email)) ? $email : '';
$user_name = (isset($_POST['user_name'])) ? Rec($_POST['user_name']) : '';
$code_postal = (isset($_POST['code_postal'])) ? Rec($_POST['code_postal']) : '';
$entreprise = (isset($_POST['entreprise'])) ? Rec($_POST['entreprise']) : '';
$prenom = (isset($_POST['prenom'])) ? Rec($_POST['prenom']) : '';
if ($email == '')

et pour finir en 680 :

Code:
$otherfields = array();
$otherfields['code_postal'] = $code_postal;
$otherfields['entreprise'] = $entreprise;
$otherfields['prenom']=$prenom;
$new_subscriber_id = AddSubscriber($email);
$useradd = true;

Je pense donc avoir suivit tout bien comme il faut ..; mais ma base de donnée n'enregistre rien du tout :-(





« Dernière édition: 04 Juillet 2010 à 19:54:09 par baxt » Journalisée
Matthieu
Administrateur
Membre Héroïque
*
Sexe: Homme
Messages: 3457


Unreal Power...


WWW
« Répondre #1 le: 05 Juillet 2010 à 14:35:57 »

ligne 680 :
c'est pas
Code:
$new_subscriber_id = AddSubscriber($email);
mais
Code:
$new_subscriber_id = AddSubscriber($email, $user_name, $otherfields);
qu'il faut lui passer.
Journalisée

baxt
Néophyte
*
Messages: 7


« Répondre #2 le: 05 Juillet 2010 à 15:26:19 »

J'ai effectué la modification,
Mais maintenant , quelque soit l'adresse que je met pour l'inscription j'ai toujours  :

"Une erreur est survenue. Vérifiez les données que vous envoyez, si vous tentez de vous inscrire, c'est probablement que votre email est déjà dans notre base de données."

si je mets  :

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

ça fonctionne, j'ai bien le nom qui s'ajoute à ma base de donnée
par contre dès que je rajoute , $otherfields

ça part en sucette !

J'ai eu un moment au court de mon chipotage une erreur tenant à la ligne 403 du fichier lib/fonction_user
Code:
foreach ($otherfields as $field_name => $field_value)

j'ai effacé $otherfields,  ... plus cette erreur, mais si je le remet ...  j'ai le message ci-précédemment cité en début de message
 F&acirc;ch&eacute;
« Dernière édition: 05 Juillet 2010 à 16:07:12 par baxt » Journalisée
Matthieu
Administrateur
Membre Héroïque
*
Sexe: Homme
Messages: 3457


Unreal Power...


WWW
« Répondre #3 le: 05 Juillet 2010 à 18:14:56 »

Est-ce qu'il y a un rapport d'erreur SQL qui arrive sur une adresse mail ? Si c'est une erreur de requête, ça simplifierait les choses de voir le rapport.
Journalisée

baxt
Néophyte
*
Messages: 7


« Répondre #4 le: 05 Juillet 2010 à 18:34:13 »

Vouip  !

-----------------------------------------------
ERREUR :
-----------------------------------------------
•   Fichier : /homez.349/designso/www/newslettux2/lib/functions_users.php
•   Ligne : 419
•   Date Heure : 2010/07/05 19:14:16
-----------------------------------------------
REQUETE SQL / MESSAGE D'ERREUR
-----------------------------------------------
INSERT INTO ntux2_users (
             groupval,
             pwd,
             name,
             mail,
             firstletter,
             activation ,prenom, entreprise, code_postal
             )
           VALUES (
             'subscriber',
             '8fa10752e57063773936d9b027eecc89',
             'Test',
             'test@lol.be',
             't',
             '2KRaDeoERf'
             ,'tester''Testing corp''40990'
             )
-----------------------------------------------
RAPPORT MySQL :
-----------------------------------------------
Column count doesn't match value count at row 1

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


Unreal Power...


WWW
« Répondre #5 le: 05 Juillet 2010 à 18:38:05 »

OK, j'ai vu l'erreur, il s'agit d'une virgule manquante.

Dans function_users ligne 405, remplace

Code:
$otherfields_names .= $field_name.'|@@';
$otherfields_values .= "'".DBInsert($field_value)."'";

par :
Code:
$otherfields_names .= $field_name.'|@@';
$otherfields_values .= "'".DBInsert($field_value)."'|@@";
Journalisée

baxt
Néophyte
*
Messages: 7


« Répondre #6 le: 05 Juillet 2010 à 18:50:38 »

Yeeeeeeeees  !

Super merci  ça fonctionne impeccablement maintenant  tout ça pour une tite virgule ... les joies du code !

Encore un grand merci !
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