Erreur dans un formulaire d'envoi de newsletter (simple)

Broack Dincht Messages postés 22 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 5 juin 2005 - 22 avril 2005 à 12:01
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 - 26 avril 2005 à 18:27
bonjour


alors voila mon problème.


J'ai fait un formulaire d'envoi de newletter sur Easy php 1.8. Les adresses mails sont récupérés dans une base de donnée (j'emploi une boucle while tant qu'il este dans adresses dans la base). Et l'utilisateur n'a normalement qu'à inscrire l'objet et le message dans 2 champs de texte sur la page.


Mon programme est terminé, mais il me reste une erreur quelque part. J'ai passé ma journée d'hier et ce matin dessus en vain. Alors j'appelle à l'aide.



ma base de donnée s'appelle MABASE


la table s'appelle ct_inscription


il y a 3 champs: prenom, nom, mail (prenom et nom ne servent pas dans mon code)


Voila le message d'erreur que mes explorateurs (IE et avantBroser) affichent:


Notice: Undefined variable: bt in c:\program files\easyphp1.8\easyphp1-8\www\simon\ct_envoi5.php on line 18


pour info, la ligne 18 est celle du 1er "or die;" (en rouge)


Voici mon code sur ma page nommée ct_envoi.php :





<html>


<?


// ============================================


if ($bt=="ok") { // on est en retour du formulaire de prépa news


// ======================= connexions à la base


$id_connect = mysql_connect ("localhost","root","");


or die;


echo "erreur: connection refusée";





mysql_select_db ("MABASE");


or die;


echo "erreur: connection à la base refusée";





// ==== Envoi du mail


$rqt = mysql_query ("SELECT mail from CT_inscription");


while ($lescolonnes = mysql_fetch_array($rqt) {


mail($lescolonnes["mail"], $objet_f,$message_f);


}





}else{ // afficher le formulaire de prépa news


echo '<form method="post" action="ct_envoi.php">';


echo 'envoi d\'une newletter

';


echo 'objet :

';


echo 'contenu de la newsletter:
<textarea name="message_f" style="width: 100%; height: 200px;"></textarea>

';


echo '</form>';


echo '</form>';


echo '';


}





?>


</html>


_______________________________________________


Si vous voyez ce qui ne va pas, please hepl me!


je remercie d'avance qui pourra m'aider

14 réponses

JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
22 avril 2005 à 13:13
Hello,

Alors :

- <?php et pas <?

- Priviligie les ' aux " (sauf ds le html )

- Verifie l'existance des variables avec isset()

- Utilise $_POST et $_GET et pas directement les varaiables

- Et fais un code XHtml (
, <hr />,
0
Broack Dincht Messages postés 22 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 5 juin 2005
22 avril 2005 à 17:47
Je te remercie Jojo pour l'aide que tu m'a apporté, je tiendrais compte de ce que tu m'a dit dans mes futurs scripts (hélas y'en aura d'autres...). Mais pourtant, j'ai bien peur qu'il reste une erreur quelque part.
Maintenant il me dit qu'il y en a une ligne 20:
while ($lescolonnes = mysql_fetch_array($rqt) {

voila le message d'erreur:
Parse error: parse error in c:\program files\easyphp1.8\easyphp1-8\www\simon\ct_envoi3.php on line 20

étrange non? J'y comprend plus rien... Si tu as du temps et que tu veux toujours bien me venir en aide, voila la requète pour créer la table dans la base "mabase":

CREATE TABLE `CT_inscription` (
`prenom` VARCHAR(50) NOT NULL,
`nom` VARCHAR(50) NOT NULL,
`mail` VARCHAR(50) NOT NULL,
PRIMARY KEY (`prenom`, `nom`, `mail`)
);

merci encore
0
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
22 avril 2005 à 18:24
Re,

lol, une erreur ed ma part ...

while ($lescolonnes = mysql_fetch_array($rqt
) ) {

<hr style ="width: 100%; height: 2px;">Si ma reponse te convient, merci de l'accepter !
0
Broack Dincht Messages postés 22 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 5 juin 2005
23 avril 2005 à 12:54
merci merci merci!

tu m'a sauvé la vie!
chui un boulet quand même... une parenthèse, bien que débutant, j'aurais du la voir

mais merci du fond du coeur!

@+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
23 avril 2005 à 15:16
Non c'est moi qui aurais du la mettre, c'est une erreur impardonable pour moi !

<hr style="width: 100%; height: 2px;">Si ma reponse te convient, merci de l'accepter !
0
Broack Dincht Messages postés 22 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 5 juin 2005
23 avril 2005 à 18:24
arrf, on a tous les deux fais une boude donc

G fais un test et après avoir validé, voila ce qu'il m'affiche:

Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in c:\program files\easyphp1.8\easyphp1-8\www\simon\ct_envoi.php on line 21

ça vient du fait que je test en local non? sinon, la ligne 21 en question est:
mail($lescolonnes['mail'], $_POST['objet_f'], $_POST['message_f']);

voila quoi.
Pardonne moi d'abuser ainsi de ton temps et tes connaissances, mais j'ai un autre problème sur un autre script...

j'ai écri un formulaire d'inscription à la newsletter(nom, prenom, mail). J'ai appliqué les recommendations que tu m'a donné (enfin je crois) Ce formulaire s'affiche sans problème lorsque je le teste. Le problème, c'est que lorsque je rempli les champs et je valide, il ne se passe rien à part le contenu de mes champs texte qui dispârait. Aucune donnée n'entre dans ma base de donnée. Et pourtant, s'il y avait un problème de connection à la base, un maessage devrait s'afficher.


Ça me dépasse. Alors si tu as le temps, si tu veux bien...


<html>


<?php





if (isset($_POST['ok'])) { // on est en retour du formulaire d'iinscrip


// =================== connexion base


$id_connect = mysql_connect ('localhost', 'root', '') or die('erreur: connection à mysql refusée' . mysql_error());





mysql_select_db ('mabase') or die('Erreur: connection à la base refusée' . mysql_error());


// if ($rqt false) { // si y'a un bug...


echo 'erreur: sortie de formulaire';


} else {


$rqt = mysql_query ("INSERT INTO ct_inscription (prenom,nom,mail) Values('$prenom_f','$nom_f','$mail_f')");


echo ' vous êtes désormais inscris à la Newsletter de Comos Travel';


}




} else { //afficher le formulaire d'identification


echo '


<form method="post" action="inscription.php">


Inscription à la newsletter de Cosmos Travel


votre prénom :


votre nom :


votre mail :


</form>


</form>


';


};


?>


</html>
0
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
23 avril 2005 à 19:19
Oui c'est parceque tu test en local.

Cherche :

[mail function]

; For Win32 only.

SMTP =

Et remplace par

[mail function]

; For Win32 only.

SMTP = smpt.ton_fai.fr // Moi par exemple : smtp.wanadoo.fr


<hr style="width: 100%; height: 2px;">Si ma reponse te convient, merci de l'accepter !
0
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
23 avril 2005 à 19:20
Euh oups j'ai oublié de dire ou ... C'est dans php.ini dans ton repertoire de php

<hr style="width: 100%; height: 2px;">Si ma reponse te convient, merci de l'accepter !
0
Broack Dincht Messages postés 22 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 5 juin 2005
24 avril 2005 à 15:52
j'ai vu qu'il y avait 3 doc "php.ini" et 2 dont les lignes sue tu m'a indiqué correspondaient. J'ai fait les changements, mais désolé, j'ai toujours le même message d'erreur... et vu que je suis chez wanadoo moi aussi, normalement y'aurait pas du y'avoir de blème d'adresse
0
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
24 avril 2005 à 16:04
Comment ca 3 php.ini ???

<hr style="width: 100%; height: 2px;">Si ma reponse te convient, merci de l'accepter !
0
Broack Dincht Messages postés 22 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 5 juin 2005
24 avril 2005 à 17:59
ben oui, dans les dossiers Apache, con_files, et php
0
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
24 avril 2005 à 18:43
Seulement celui de php ...

Modifie la valeur, puis relance php. Et normalement ca doit fonctionner

<hr style="width: 100%; height: 2px;">Si ma reponse te convient, merci de l'accepter !
0
Broack Dincht Messages postés 22 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 5 juin 2005
26 avril 2005 à 16:35
alors là, Jojo, les mots me manquent pour t'exprimer ma gratitude. Grace à toi, ce putain de formulaire fonctionne enfin!

merci merci infiment (je fais pas un peu de zèle là?)
0
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
26 avril 2005 à 18:27
Non ... On aime ça ... C'est
toujours agreable ( Et surtout plus agreable que ceux qui ne dise par
bonjour, aurevoir ou bien simplement Merci ... )



Mais peut tu accepter la/les reponse(s) qui t'on permis re resoudre ton probleme ?

<hr style="width: 100%; height: 2px;">Si ma reponse te convient, merci de l'accepter !
0
Rejoignez-nous