[php, phpmyadmin] insertion d'image

Fermé
lemlaurie Messages postés 7 Date d'inscription jeudi 9 février 2006 Statut Membre Dernière intervention 24 février 2006 - 21 févr. 2006 à 16:10
Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 - 24 févr. 2006 à 11:34
Bonjour,
je dois faire un mailing pour mon stage...
pour cela j'utlise le html (pour la page a envoier), le php (que je ne connait que trés trés peu) et php myadmin.
J'ai plein de difficultés Mais on va procéder par étape n'est-ce pas? :-p
"alors déjas pour commencer:
j'ai une bbd "test" avec une table " mailing" qui a les champs suivant :
"id"(cle primaire) ; "nom"(de la persone); "mail"

j'aimerai envoier mon "mailing.htm" à toute les adresses de ma bbd.
(vous l'aviez compris je sais mais il faut que metes la situtation bien à plat pour la comprendre)

étape 1:
_connecter ma page php à ma bbd
_lire ma table "mailing"
_afficher ce qu j'ai lu ( ça c'est surtout pour etre sur que je l'ai lu :s ) "


L'étape 1 à réussi avec succés merci à tous d'ailleur l'étape 2 aussi est achevée (envoie d'un mail à toute ma bdd).

l'étape 3 me pose plus de problémes par contre:Il s'agit de faire une interface qui permet de choisr le model de mailing à envoier, de rentrer une nouvelle adresse mail ou d'en supprimer une.
_créer une table avec "id", "libelle" (nom et description de la page htm),"url"(de la page),"image_mini"avec la miniature de la page htm
Ce qui me gene le plus ici ce sont les types que je dois appliqué à mes champs pour l'instant j'ai mis text

_creer un formulaire où s'affiche les miniatures des pages que l'on choisi soit en cliquant dessus soit par boutons radio (me suis pas encore desidée je sais pas ce qui est le mieux)
_utiliser les donnée recolter avec leformulaire sur ma page d'envoi de mail.


voici le code que j'ai pondu jusqu'a maintenant pour le formaulaire
<?php
 //connextion à la base
 mysql_connect($server, $user, $pass) or die('Erreur de connexion');  
 
 //sélection de la base sur la quelle on va travailler
 mysql_select_db($db) or die('Base inexistante');  
 
 //execution d'une requête
 
 $reponse = mysql_query("SELECT id,libelle,url,image_mini FROM message ") or die( 'Erreur' );
 
 //comtage du nombre de resultat
 
$nb_resultat = mysql_num_rows($reponse);

echo "il y a ".$nb_resultat." resultat(s)<br/>" ;

//affichage des resultats: on affiche un resultat par tour de boucle

 $i=0;
 ?>envoier le modele <br/><?php
 
 while ( $i<$nb_resultat) {  
  
$mess=mysql_fetch_row($reponse);  // on crée en fait un tableau numeroté
?>




<form action="connection_bd_test.php?num_mess='$mess[1]'&fichier='$mess[2]'" method="post" name="btn">
<input type="radio" name="model" value="<?php $mess[0] ?>" method="post"  /> <img src=<?php $mess[3]?> alt=<?php $mess[1]?> />
	
<?php

$i++ ;
  
  }

   

mysql_close(); 
 ?>
<input name="envoiModelSubmit" type="submit" value="Envoi">
</form>	


voici le code pour la page d'envoie de mail:

 
<?php   
  
  //connextion à la base
 mysql_connect($server, $user, $pass) or die('Erreur de connexion');  
 
 //sélection de la base sur la quelle on va travailler
 mysql_select_db($db) or die('Base inexistante');  
 
 //execution d'une requête
 
 $reponse = mysql_query("SELECT  nom, mail FROM mailing ") or die( 'Erreur' );  
 
 
 

 
 //comtage du nombre de résultat
 $nb_resultat = mysql_num_rows($reponse);
 echo "il y a " .$nb_resultat. " resultat(s)<br/>" ;
 echo " le message choisi est le n° ".$_GET['num_mess']." dont le contenu est: ".$_GET['fichier'];
 
 
//affichage des resultats: on affiche un resultat par tour de boucle
 $i=0;
 
 
 while ( $i<$nb_resultat) {  
  
$ligne=mysql_fetch_row($reponse);  // on crée en fait un tableau numeroté
?>
<p>
<b>nom</b> : <?php echo $ligne[0]; ?><br/><!--affiche le champ [0] de la ligne $i-->

<b>Adresse mail</b> : <?php echo $ligne[1]; ?> 

</p>
<?php

		// envoi d'un email 
		
		//$message=$_GET['fichier'];
		$sujet="test choix du message avec formulaire";
		$entetemail = "MIME-Version: 1.0 \n";
		$entetemail .= "Content-Type: text/html; charset=\"iso-8859-1\" \n"; 
		$entetemail .= "From: laurie@laurie.fr\n";
		$entetemail .= "Reply-To: no-reply"; 

	//mail($destinataire,$sujet,$message,$entetemail);
	
$i++ ;
  
  }
 
   

  mysql_close(); 
  
  ?>  



merci d'avance pour votre aide précieuse
A voir également:

7 réponses

lemlaurie Messages postés 7 Date d'inscription jeudi 9 février 2006 Statut Membre Dernière intervention 24 février 2006 1
22 févr. 2006 à 09:36
bonjour
je crois que j'ai pas bien precisé mon probléme hier.

mon plus gros probleme c la transmission de donnée d'une page à la l'autre.
il doit yavoir un pb dans mon code....
merci d'avance
0
lemlaurie Messages postés 7 Date d'inscription jeudi 9 février 2006 Statut Membre Dernière intervention 24 février 2006 1
22 févr. 2006 à 10:08
reboujour

vous aller etre fier de moi (pour le peu que quelqun se decide à lire ce mess) j'ai reussi la transmition de donnée : j'ai mis un require_once(page du formulaire.php) au debut de ma page d'envoie de mail comme ça il reprend les variables.

cequi ma permi de me rendre compte qu'il y a un probleme: dans tout les cas il m'envois mon dernier modele de mailing...
un pb dans la boucle quoi....

à l'aide
0
Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 200
22 févr. 2006 à 14:57
un pb dans la boucle quoi....
Mouais déjà ta fonction est en commentaire dans ton post....
//mail($destinataire,$sujet,$message,$entetemail);

Et puis dans ton while je ne vois pas un seul endroit ou tu fixes un nouveau $destinataire (j'ai meme pas vérifier mais je penses que pour le reste non plus).

Et puis un fonction de mail dans une boucle while c'est pas conseillé...
Note

Il est important de noter que la fonction mail n'est pas conseillée pour traiter de gros volumes de mails dans une boucle. Cette fonction ouvre et ferme un socket SMTP pour chaque mail, ce qui n'est pas très efficace.

Pour envoyer de gros volumes de mails, reportez-vous aux paquets PEAR::Mail et PEAR::Mail_Queue .

pris sur : www.nexen.net 


Voilà, bon courage pour la suite :)
0
lemlaurie Messages postés 7 Date d'inscription jeudi 9 février 2006 Statut Membre Dernière intervention 24 février 2006 1
24 févr. 2006 à 09:43
 reportez-vous aux paquets PEAR::Mail et PEAR::Mail_Queue .


qu'est ce que c'est que ça?
j'ai du oublier de preciser que je n'y connais rien en php.... lol

sinon oui c'est normale que ma fonction mail est en commentaire c'est pour eviter de polluer ma boite avec tout mes exemple qui marche pas....

là pour les test je me contente de verifier qu'il comprend ce que je demande .
et grande nouvelle il comprend pas!!!!

dans tout les cas mes variables garde les même valeur quoique je choisisse comme modele dans mon formulaire...
alors pour etre encore plus presise mon probleme dois etre dans cette partie là du code:
while ( $i<$nb_resultat) {  
  
$mess=mysql_fetch_row($reponse);  // on crée en fait un tableau numeroté
?>




<form action="connection_bd_test.php?" method="post" name="btn">
<input type="radio" name="model" value="<?php $mess[0] ?>" method="post"  /> <img src=<?php $mess[3]?> alt=<?php $mess[1]?> />
	
<?php

$i++ ;
  
  }

mysql_close(); 
 ?>
<input name="envoiModelSubmit" type="submit" value="Envoi">
</form>	



je pense que ca pose pb de crée mes bouton dans la boucle.
Mais en même temps je vois pas comment faire autrement puisque la valeur des boutons je la trouve dans la bdd.

Doit yavoir un truk que j'ai pas saisie....
0
Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 200
24 févr. 2006 à 10:26
Mouais je vois, la c'est du lourd :)

while ( $i<$nb_resultat) {  
  
$mess=mysql_fetch_row($reponse);  // on crée en fait un tableau numeroté
?>  //je suppose que ça ça a été ouvert plus haut...


<form action="connection_bd_test.php?" method="post" name="btn">
<input type="radio" name="model" value="<?php $mess[0] ?>" method="post"  //ici le method n'a rien a faire la./> <img src=<?php $mess[3]?> alt=<?php $mess[1]?> />
	<?php

$i++ ;
  
  }

mysql_close(); 
 ?>
<input name="envoiModelSubmit" type="submit" value="Envoi">
</form>	



et si tu fais un print_r($mess); à la fin du while, c'est bon t'as bien récupéré tes données ? !
car sinon tu peux tout récuperer dans un tableau puis le parcourir après en posant des bouttons...

Bon Courage. :D
0

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

Posez votre question
lemlaurie Messages postés 7 Date d'inscription jeudi 9 février 2006 Statut Membre Dernière intervention 24 février 2006 1
24 févr. 2006 à 10:44
eh merci :)
j'ai aucune idée de comment je vais pouvoir faire ça mais ça me donne espoir et surtout ça me remonte le morale
:)
bon ben je vais me renseigner sur les tableaux (array je crois?)
merci merci:)
0
lemlaurie Messages postés 7 Date d'inscription jeudi 9 février 2006 Statut Membre Dernière intervention 24 février 2006 1
24 févr. 2006 à 11:02
bon j'ai retirer le
 'methode post'

et j'ai mis le
print_r($mess); 
comme tu m'a dit (à la fin de la boucle donc avant l'accolade de fermeture ?)
et je vais eclaire ta journée d'un beau eclat de rire ( je suis vraiment nulle je comprend rien à rien):
quand j'ouvre ma page formul.php ça donne ça:
il y a 2 resultat(s) <gras>//là c'est le comptage donc bonne nouvelle il lit ma bdd
envoier quel modele? 

 (ici un petit bouton et un carrré avec une croix rouge pour l'image)   Array ( [0] => 1 [1] => message numero 1 payer moins ne changer rien [2] => C:\Program Files\EasyPHP1-8\www\cours php\test\modele_1.htm [3] => C:\Program Files\EasyPHP1-8\www\cours php\test\modele_1_mini.htm )   
(ici un petit bouton et un carrré avec une croix rouge pour l'image) Array ( [0] => 2 [1] => message modele 2 cirque ==> le specialiste de la téléphonie des entreprises vous presente les petits prix.... [2] => C:\Program Files\EasyPHP1-8\www\cours php\test\modele-cirque.htm [3] => C:\Program Files\EasyPHP1-8\www\cours php\test\modele-cirque_mini.htm ) 
BOUTON ENVOIE
voilà moi perso ca ma fait beaucoup rire 


j'ai sélectionner le modele n°1 et ce con me répond:

il y a 1 resultat(s)//ca c'est le nombre d'adresse mail dans ma bdd [au moins un truk qui marche :'( ]
le message choisi est le n° 2 dont le contenu est: message modele 2 cirque ==> le specialiste de la téléphonie des entreprises vous presente les petits prix....



voilà j'hesite en rire et pleurer alors je vais faire entre les deux:
une pose s'impose vive la clope

0
Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 200
24 févr. 2006 à 11:34
bah oui, tiens allez zou une p'tite roulée pour la peine ;)

ce que tu vois avec le Array(.......) c'est le contenu de ton tableau $mess
car la fonction print_r(), renvoi le contenu du tableau qui lui est placé en paramètre.. les chiffres que tu vois entre les [] c'est l'indice de la case suivit de son contenu, ainsi : [1] ==> Zep3k!GnO
signifit que dans ton tableau, à la case d'indice 1 (donc la deuxième), il y a comme contenu 'Zep3k!GnO'.
Voilà :D pour ça.

Par contre j'avoue que j'ai un peu de mal à saisir comment t'as fait tout ça si tu ne maitrise pas les tableau et un minimum le langage PhP...

Pour ce qui est de tes images, c'est normal que ca ne les affiche pas si t'es toujours avec :
<img src=<?php $mess[3]?> alt=<?php $mess[1]?> />
car la source de ton image est le contenu de ta case d'indice 3 et la si je lis une des tes case d'indice 3 j'ai :C:\Program Files\EasyPHP1-8\www\cours php\test\modele-cirque_mini.htm donc ce qui n'a aucun rapport avec un nom d'image... d'accord ? :)
Donc voilà pourquoi ça en tout cas ne fonctionne pas.
Un p'tit coup de pouce : quand tes images n'apparaissent pas (croix rouge) fait clic droit dessus puis propriétés. La tu verras son 'emplacement' et ça peut aider à comprendre pourquoi cette dernière ne s'affiche pas.

Allez seche tes larmes, et rie un coup :D
ca va marcher ;)
Courage =]
0