Intégration d'un formulaire externe dans l'environnement PHPboost [Réglé]
Shadow Membre non connecté
Booster Fusée
-
Booster Fusée
- Voir le profil du membre Shadow
- Inscrit le : 30/12/2007
- Site internet
Je commence par un petit résumé : à cause des limitations imposées par mon hébergeur sur les mails PHP, j'ai besoin d'utiliser un SMTP externe. J'ai donc désinstallé le module de newsletter de PHPBoost et installé un script externe, en l'occurrence Newslettux2. Il fonctionne très bien mais j'essaie maintenant d'intégrer son formulaire d'inscription à l'environnement de mon site web mais je rencontre des messages d'erreurs. Je ne sais pas si le problème vient de PHPboost ou de Newslettux2, c'est pourquoi je me permet de poster sur les deux forums.
J'ai installé Newslettux2 dans un dossier /newsletter à la racine de PHPboost (donc, au même niveau que les autres modules). J'ai créé dans ce dossier un fichier newsletter.php qui intègre l'environnement de PHPboost et appelle le formulaire d'inscription. Ce fichier contient :
Code PHP :
<?php //Chargement de l'environnement de PHPBoost include_once('../includes/begin.php'); //Définition du titre de la page (correspond au contenu des balises <title> </title>:wink define('TITLE', 'Newsletter'); //Chargement de l'environnement graphique include_once('../includes/header.php'); //Contenu de la page : on met l'enveloppe d'un module ?> <div class="module_position"> <div class="module_top_l"></div> <div class="module_top_r"></div> <div class="module_top">Newsletter</div> <div class="module_contents"> <?php include ('./form-newslettux.php'); ?> </div> <div class="module_bottom"></div> </div> <?php //Fermeture de l'environnement include_once('../includes/footer.php'); ?>
Cela vous semble-t-il correct ?
Car le formulaire s'affiche mais avec des erreurs :
http://lelienlacte.com/newsletter/newsletter.php
Merci d'avance.
Shadow
"Quand tu ranges chez toi, ça fout le bordel chez ton voisin". - Règle d'entropie générale adaptée aux usages domestiques.
"Quand tu ranges chez toi, ça fout le bordel chez ton voisin". - Règle d'entropie générale adaptée aux usages domestiques.
CrowkaiT Membre non connecté
-
Modérateur
- Voir le profil du membre CrowkaiT
- Inscrit le : 17/06/2005
- Site internet
- Groupes :
-
Equipe Historique
Pas de support par messages privés! Pensez à mettre vos messages en réglé en cliquant sur le bouton réglé!
Shadow Membre non connecté
Booster Fusée
-
Booster Fusée
- Voir le profil du membre Shadow
- Inscrit le : 30/12/2007
- Site internet
Lien vers le formulaire seul
Pour appeler le fichier, je me suis contentée de suivre la doc de Newslettux2, à savoir renseigner dans le fichier form-newslettux.php le chemin de ce dernier par rapport à mon fichier perso (en l'occurrence, "./" puisqu'ils sont dans le même dossier) et ajouter cette ligne include (eux indiquent include et non include_once mais comme je ne connais rien au php, je ne sais pas si ça change grand-chose).
Shadow
"Quand tu ranges chez toi, ça fout le bordel chez ton voisin". - Règle d'entropie générale adaptée aux usages domestiques.
"Quand tu ranges chez toi, ça fout le bordel chez ton voisin". - Règle d'entropie générale adaptée aux usages domestiques.
ben.popeye Membre non connecté
-
Modérateur
- Voir le profil du membre ben.popeye
- Inscrit le : 04/08/2005
- Site internet
- Groupes :
-
Equipe Historique
Un problème, une question ? Cherchez dans la FAQ ou la documentation. Si vous ne trouvez pas la réponse, demandez du support sur le forum.
Bjarne Stroustrup, inventeur du C++ :"There are two ways to write error-free programs; only the third works."
Shadow Membre non connecté
Booster Fusée
-
Booster Fusée
- Voir le profil du membre Shadow
- Inscrit le : 30/12/2007
- Site internet
[code=php]define('DB_PREFIX','ntux2_');[/code]
Notice: Undefined variable: regnl in /home2/l/lienlacte/www/newsletter/form-newslettux.php on line 155
[code=php]$req_profiles = ($regnl != 0) ? str_replace('{OVERRIDE}', "AND id='".$regnl."'", $req_profiles) : str_replace('{OVERRIDE}', '', $req_profiles);[/code]
Notice: Undefined variable: url_email in /home2/l/lienlacte/www/newsletter/form-newslettux.php on line 626
[code=php]echo '<form id="reg" method="post" action="?act='.$act.'&e='.$url_email.'&p='.$url_pwd.'">'.CR;[/code]
Notice: Undefined variable: email in /home2/l/lienlacte/www/newsletter/form-newslettux.php on line 630
[code=php]echo '<p><label for="email">'.$ntux2['mail'].'</label><input type="text" id="email" name="email" tabindex="'.$tabindex.'" value="'.$email.'"'.DOC;[/code]
Notice: Undefined variable: this_def_val in /home2/l/lienlacte/www/newsletter/form-newslettux.php on line 660
[code=php]echo '<li style="float:left; width:30%; text-align:left; list-style-type:none;"><span title="'.$ntux2['subscribe'].' : '.$p['title'].' -> '.$ntux2['format_text'].'"><input type="radio" id="text_'.$pid.'" name="format_'.$pid.'" tabindex="'.$tabindex.'" value="text"'; echo ($this_def_val == 'text') ? ' checked="checked"' : ''; echo DOC.'<label for="text_'.$pid.'" style="float:none;">'.$ntux2['format_text'].'</label></span></li>'.CR; $tabindex++;
};[/code]
Notice: Undefined variable: this_def_val in /home2/l/lienlacte/www/newsletter/form-newslettux.php on line 665
[code=php]echo '<li style="float:left; width:30%; text-align:left; list-style-type:none;"><span title="'.$ntux2['subscribe'].' : '.$p['title'].' -> '.$ntux2['format_html'].'"><input type="radio" id="html_'.$pid.'" name="format_'.$pid.'" tabindex="'.$tabindex.'" value="html"'; echo ($this_def_val == 'html') ? ' checked="checked"' : ''; echo DOC.'<label for="html_'.$pid.'" style="float:none;">'.$ntux2['format_html'].'</label></span></li>'.CR; $tabindex++;[/code]
Notice: Undefined variable: formnumber in /home2/l/lienlacte/www/newsletter/form-newslettux.php on line 696
[code=php]$id_license .= ($formnumber != 0) ? '_'.$formnumber : '';[/code]
Shadow
"Quand tu ranges chez toi, ça fout le bordel chez ton voisin". - Règle d'entropie générale adaptée aux usages domestiques.
"Quand tu ranges chez toi, ça fout le bordel chez ton voisin". - Règle d'entropie générale adaptée aux usages domestiques.
CrowkaiT Membre non connecté
-
Modérateur
- Voir le profil du membre CrowkaiT
- Inscrit le : 17/06/2005
- Site internet
- Groupes :
-
Equipe Historique
Pas de support par messages privés! Pensez à mettre vos messages en réglé en cliquant sur le bouton réglé!
ben.popeye Membre non connecté
-
Modérateur
- Voir le profil du membre ben.popeye
- Inscrit le : 04/08/2005
- Site internet
- Groupes :
-
Equipe Historique
[code=php]error_reporting(E_ALL | E_NOTICE);[/code]
Un problème, une question ? Cherchez dans la FAQ ou la documentation. Si vous ne trouvez pas la réponse, demandez du support sur le forum.
Bjarne Stroustrup, inventeur du C++ :"There are two ways to write error-free programs; only the third works."
Shadow Membre non connecté
Booster Fusée
-
Booster Fusée
- Voir le profil du membre Shadow
- Inscrit le : 30/12/2007
- Site internet
ben.popeye :
Essaie de mettre le code suivant en haut du fichier form-newslettux.php, pour voir si ces erreurs ne sont simplement pas dûes au fait que PHPBoost affiche toutes les erreurs :
Code PHP :
error_reporting(E_ALL | E_NOTICE);
Non, ça ne change rien. Je veux bien poster tout le fichier ici mais il fait 725 lignes...
Shadow
"Quand tu ranges chez toi, ça fout le bordel chez ton voisin". - Règle d'entropie générale adaptée aux usages domestiques.
"Quand tu ranges chez toi, ça fout le bordel chez ton voisin". - Règle d'entropie générale adaptée aux usages domestiques.
CrowkaiT Membre non connecté
-
Modérateur
- Voir le profil du membre CrowkaiT
- Inscrit le : 17/06/2005
- Site internet
- Groupes :
-
Equipe Historique
Pas de support par messages privés! Pensez à mettre vos messages en réglé en cliquant sur le bouton réglé!
Shadow Membre non connecté
Booster Fusée
-
Booster Fusée
- Voir le profil du membre Shadow
- Inscrit le : 30/12/2007
- Site internet
Parallèlement, les gens de Newslettux regardent aussi mon problème. Pour l'instant, vu l'erreur sur le fichier conn.php, ils pensent que PHPBoost et NewsletTux utilisent une même variable prédéfinie dont le contenu n'est pas le même. (DB_PREFIX, site_name, lang, peut-être ?). Le contenu de ce fichier est :
Code PHP :
$mysql_host = 'mysql.nuxit.net'; $mysql_db = 'xxxx_newsletter'; $mysql_usr = 'xxxx'; $mysql_pwd = 'xxxxxx'; define('DB_PREFIX','ntux2_');
Voici également le fichier form-newslettux.php
form-newslettux.txt
PS : rien à voir mais quand je clique sur la disquette pour ajouter un fichier, sur ce site, la fenêtre
du gestionnaire de fichiers comporte une erreur :
Warning: Invalid argument supplied for foreach() in /home.10.9/phpboost/www/includes/template.class.php on line 55
Shadow
"Quand tu ranges chez toi, ça fout le bordel chez ton voisin". - Règle d'entropie générale adaptée aux usages domestiques.
"Quand tu ranges chez toi, ça fout le bordel chez ton voisin". - Règle d'entropie générale adaptée aux usages domestiques.
ben.popeye Membre non connecté
-
Modérateur
- Voir le profil du membre ben.popeye
- Inscrit le : 04/08/2005
- Site internet
- Groupes :
-
Equipe Historique
Pour l'erreur du gestionnaire de fichiers, est-ce que tu as des fichiers dedans ?
C'est assez bizarre ces erreurs.
Si je prends $regnl, elle n'est pas définie avant dans le fichier, ça ne vient pas de nous. Elle n'est pas dans conn.php ?
Un problème, une question ? Cherchez dans la FAQ ou la documentation. Si vous ne trouvez pas la réponse, demandez du support sur le forum.
Bjarne Stroustrup, inventeur du C++ :"There are two ways to write error-free programs; only the third works."
Shadow Membre non connecté
Booster Fusée
-
Booster Fusée
- Voir le profil du membre Shadow
- Inscrit le : 30/12/2007
- Site internet
ben.popeye :
Pour l'erreur du gestionnaire de fichiers, est-ce que tu as des fichiers dedans ?
Pour l'erreur du gestionnaire de fichiers, est-ce que tu as des fichiers dedans ?
Non, c'était la première fois que je mettais des fichiers sur le site de phpboost.
ben.popeye :
Si je prends $regnl, elle n'est pas définie avant dans le fichier, ça ne vient pas de nous. Elle n'est pas dans conn.php ?
Non, il n'y a rien de plus dans ce fichier que ce que j'ai copier-coller plus haut.
Shadow
"Quand tu ranges chez toi, ça fout le bordel chez ton voisin". - Règle d'entropie générale adaptée aux usages domestiques.
"Quand tu ranges chez toi, ça fout le bordel chez ton voisin". - Règle d'entropie générale adaptée aux usages domestiques.
ben.popeye Membre non connecté
-
Modérateur
- Voir le profil du membre ben.popeye
- Inscrit le : 04/08/2005
- Site internet
- Groupes :
-
Equipe Historique
Je ne comprends pas pourquoi ça marche quand il n'y a pas PHPBoost et pas quand on le charge. Il me semble d'après le fichier que ça ne devrait jamais fonctionner.
Un problème, une question ? Cherchez dans la FAQ ou la documentation. Si vous ne trouvez pas la réponse, demandez du support sur le forum.
Bjarne Stroustrup, inventeur du C++ :"There are two ways to write error-free programs; only the third works."
Matthieu Membre non connecté
Booster Fronde
-
Booster Fronde
- Voir le profil du membre Matthieu
- Inscrit le : 03/06/2008
- Site internet
je suis l'auteur du script NewsletTux dont parle Shadow.
je viens ici pour vous éclaircir sur ces variables ...
En réalité, elles sont définies de 2 manières.
J'ai choisi de donner la possibilité à l'utilisateur final de "surcharger" le formulaire d'inscription, comme expliqué dans la doc : il a ainsi 4 variables à initialiser "en dur" dans le fichier où il inclue form-newslettux.php, juste avant l'inclusion en tant que telle : "form-newslettux.php" hérite ainsi de l'environnement avec ces 4 variables.
S'il ne désire pas surcharger son formulaire, l'utilisateur réalise juste l'inclusion, sans paramètre supplémentaire.
Quelle qu'ait été la méthode retenue, dans form-newslettux.php, aux lignes que cite Shadow, je teste les tariables : un simple "isset" me permet de voir si elles existent (donc renseignées avant l'inclusion) ou pas, auquel cas elles prennent des valeurs par défaut.
Pour la suite de l'exécution du fichier "form-newslettux.php", ces variables sont donc obligatoirement initialisées.
Comme vous avez pu le constater, le script "seul" fonctionne bien, mais pas en inclusion : j'ai pensé, également, à un conflit de variables.
J'ai vu que le préfixe de vos tables est une constante superglobale nommée PREFIX, moi c'est DB_PREFIX : il n'y a donc pas de confusion là dessus.
J'utilise en plus d'autres superglobales, dont la liste exhaustive est ci-dessous :
Citation :
SITE_URL
SITE_NAME
SITE_DESCR
SITE_NTUXDIR
SITE_NTUXREAD
SITE_UPLOADDIR
SITE_FALSEMAIL
SITE_REPORTERROR
SITE_CHMOD
SITE_TECHNMAIL
SITE_UPDATE_FILES
SITE_ADMINDIR
CHARSET
SITE_SHOWADMIN_UPDATES
SITE_FORCEFILEGETCONTENTS
SESSION_USE_DB
SITE_NOTIFYREGSTO
SITE_URL_REG_FORM
DEF_REG_FORM
DEF_REG_FORMVAL
USER_MUST_VALIDATE
WELCOME_SEND_RSS
USER_OTHERFIELDS
SITE_STATS_REGS
SITE_STATS_SENT
SMTP_HOST
SMTP_PORT
SMTP_AUTH
SMTP_USER
SMTP_PASS
DEF_LANG
DEF_FONT
DEF_BG_IMG
DEF_BG_SND
DEF_ROOT_SUB
DEF_STAFF_SUB
DEF_TEMPLATE
DEF_CSS
FONTS
BG_IMG
BG_SND
MAX_JOINED_PARTS
MAX_JOINED_PARTS_SIZE
INSERT_NL_LINK
DISPLAY_PROFILE_TITLE
DISPLAY_MAIL_SENDER
DEF_THEME
NUM_ROWSPERPAGE
NUM_MAILPERPASS
NEWSLETTUX_VERSION_NUMB
TYPE_MAIL
SORT_SUBSCRIBERS
INSERT_AD
INSTALLED_MODULES
PREVIEW_WITH_JS
SITE_URL
SITE_NAME
SITE_DESCR
SITE_NTUXDIR
SITE_NTUXREAD
SITE_UPLOADDIR
SITE_FALSEMAIL
SITE_REPORTERROR
SITE_CHMOD
SITE_TECHNMAIL
SITE_UPDATE_FILES
SITE_ADMINDIR
CHARSET
SITE_SHOWADMIN_UPDATES
SITE_FORCEFILEGETCONTENTS
SESSION_USE_DB
SITE_NOTIFYREGSTO
SITE_URL_REG_FORM
DEF_REG_FORM
DEF_REG_FORMVAL
USER_MUST_VALIDATE
WELCOME_SEND_RSS
USER_OTHERFIELDS
SITE_STATS_REGS
SITE_STATS_SENT
SMTP_HOST
SMTP_PORT
SMTP_AUTH
SMTP_USER
SMTP_PASS
DEF_LANG
DEF_FONT
DEF_BG_IMG
DEF_BG_SND
DEF_ROOT_SUB
DEF_STAFF_SUB
DEF_TEMPLATE
DEF_CSS
FONTS
BG_IMG
BG_SND
MAX_JOINED_PARTS
MAX_JOINED_PARTS_SIZE
INSERT_NL_LINK
DISPLAY_PROFILE_TITLE
DISPLAY_MAIL_SENDER
DEF_THEME
NUM_ROWSPERPAGE
NUM_MAILPERPASS
NEWSLETTUX_VERSION_NUMB
TYPE_MAIL
SORT_SUBSCRIBERS
INSERT_AD
INSTALLED_MODULES
PREVIEW_WITH_JS
Y en a-t-il une qui pourrait poser problème ?
ben.popeye Membre non connecté
-
Modérateur
- Voir le profil du membre ben.popeye
- Inscrit le : 04/08/2005
- Site internet
- Groupes :
-
Equipe Historique
Ce sont des constantes ?
Il ne me semble pas qu'il y ait un conflit avec les nôtres.
Il faut que je regarde ça de plus près.
Un problème, une question ? Cherchez dans la FAQ ou la documentation. Si vous ne trouvez pas la réponse, demandez du support sur le forum.
Bjarne Stroustrup, inventeur du C++ :"There are two ways to write error-free programs; only the third works."
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie