Bienvenue visiteur (Inscription |  Connexion)
Qui est en ligne ?
Il y a : 16 utilisateurs en ligne, consultez le détail
Auteur Message
jblecanard
#16 Message posté le : 23-10-2007 à 12:24:30


Jedi


Forum : Modérateur
Association : Membre fondateur
Arrivé(e) le : 08-01-2005
Nombre de messages : 4030
Azollyx a écrit :



Je ne suis pas sûr (je n'ai pas touché au bordel depuis quelques années) mais ça ne serait pas echo $tableau[0]["societe"]; plutôt ?


Non pas du tout. Mais print_r affiche aussi un indice "0" avec un tableau associatif, je ne sais pas trop pourquoi.

Sinon lecharcutier, tu peux parfaitement travailler cette valeur comme une autre, et utiliser switch dessus. C'est une variable comme les autres au détail près qu'elle est dans un tableau. Et si ça te gène, rien ne t'empêche de faire un $societe=$tableau["societe"]; pour travailler sa valeur.

-------------------------------------
C'est une situation bien inconfortable que d'être assez sensible à la bêtise pour en souffrir et trop intelligent pour s'en indigner. - Gustave Thibon -
lecharcutierdelinux
#17 Message posté le : 23-10-2007 à 12:47:57


Scarabée


Forum : Inscrit
Association :
Arrivé(e) le : 27-01-2003
Nombre de messages : 530
OK merci bcp JB, c'est exactement ce que je voulais savoir. Maintenant je peux me débrouiller pour le reste,

Merci merci!

-------------------------------------
Le BOF de Linux: LFS & Slack (ça fait + pro).Les RPM c'est pour les tapettes!Sexe : 38 centimetres, "Linux rulezzzz",Recompilations:167,Recompilations utiles:0.
Azollyx
#18 Message posté le : 23-10-2007 à 18:12:32


Naboo


Forum : Modérateur
Association : Président
Arrivé(e) le : 09-04-2006
Nombre de messages : 2085
jblecanard a écrit :


Non pas du tout. Mais print_r affiche aussi un indice "0" avec un tableau associatif, je ne sais pas trop pourquoi.

Ok, je me demandais si 0 n'était pas le numéro de ligne... en fait ça doit être que tu peux utiliser indifféremment 0 ou "societe".

-------------------------------------
toto
jblecanard
#19 Message posté le : 23-10-2007 à 22:56:12


Jedi


Forum : Modérateur
Association : Membre fondateur
Arrivé(e) le : 08-01-2005
Nombre de messages : 4030
C'est ça ! PHP te permet, même si c'est un tableau associatif, de le parcourir via les indexs numériques. Mais c'est assez déconseillé, ce n'est pas très propre...

-------------------------------------
C'est une situation bien inconfortable que d'être assez sensible à la bêtise pour en souffrir et trop intelligent pour s'en indigner. - Gustave Thibon -
lecharcutierdelinux
#20 Message posté le : 20-11-2007 à 13:52:58


Scarabée


Forum : Inscrit
Association :
Arrivé(e) le : 27-01-2003
Nombre de messages : 530
Je me remets dessus après une période d'inactivité, qqun peut il me dire si la synatxe de mon dernier post est utilisable telle qu'elle?

-------------------------------------
Le BOF de Linux: LFS & Slack (ça fait + pro).Les RPM c'est pour les tapettes!Sexe : 38 centimetres, "Linux rulezzzz",Recompilations:167,Recompilations utiles:0.
jblecanard
#21 Message posté le : 20-11-2007 à 15:02:03


Jedi


Forum : Modérateur
Association : Membre fondateur
Arrivé(e) le : 08-01-2005
Nombre de messages : 4030
Elle l'est si tu n'oublies pas les ":" après les case. Je marque aussi en non résolu du coup...

-------------------------------------
C'est une situation bien inconfortable que d'être assez sensible à la bêtise pour en souffrir et trop intelligent pour s'en indigner. - Gustave Thibon -
lecharcutierdelinux
#22 Message posté le : 20-11-2007 à 15:25:16


Scarabée


Forum : Inscrit
Association :
Arrivé(e) le : 27-01-2003
Nombre de messages : 530
Merci JB, c'est bon j'ai réussi.

Le dernier truc queje dois faire au niveau de mon cahier de charge est l'envoi de la pièce jointe. J'ai parcouru le WEB pour trouver une solution mais elles ne sont pas applicable dans mon cas. Je m'explique:

-J'ai une page WEB avec un formulaire, 3 possibilité de société.
-La racine de mon site web est sous Windows dans C:\Programs Files\Easyphp\www\
-3 fichiers excel se trouvent à la racine du site: "peugeot.xls", "renault.xls", "citroen.xls".
-Je voudrais qu'une fois le formulaire validé, je puisse être en mesure d'nevoyer le fichier excel de la société correspondante.

Impossible de trouver comment faire car en général les exemples parte d'un formulaire où c'est l'utilisateur qui ajoute le fichier (bouton "parcouri", valider...)

Or dans mon cas le fichier est déja sur le serveur, je voudrais simplement l'envoyer?!

Qqun a t'il une idée?

Désolé pour la réponse tardive, j'étais pris sur autre chose.

D'avance merci

-------------------------------------
Le BOF de Linux: LFS & Slack (ça fait + pro).Les RPM c'est pour les tapettes!Sexe : 38 centimetres, "Linux rulezzzz",Recompilations:167,Recompilations utiles:0.
jblecanard
#23 Message posté le : 20-11-2007 à 15:44:38


Jedi


Forum : Modérateur
Association : Membre fondateur
Arrivé(e) le : 08-01-2005
Nombre de messages : 4030
La méthode ici

Ce n'est pas compliqué si on s'applique. Ca aurait été pareil si les gens devaient envoyer le fichier : il aurait fallu le stocker temporairement sur le serveur puis l'envoyer.

--Message édité par jblecanard le 20-11-2007 à 15:48:18--


-------------------------------------
C'est une situation bien inconfortable que d'être assez sensible à la bêtise pour en souffrir et trop intelligent pour s'en indigner. - Gustave Thibon -
lecharcutierdelinux
#24 Message posté le : 21-11-2007 à 10:37:27


Scarabée


Forum : Inscrit
Association :
Arrivé(e) le : 27-01-2003
Nombre de messages : 530
Salut JB,
Merci pour le lien, cependant j'ai des souçis, voila le code que j'ai utilisé:

$boundary='didondinaditondelosdudosdodudundodudindon';
$headers="From: mouvement.personnel@groupe.com\r\n
MIME-Version: 1.0\r\n
Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n\n";
$body="--". $boundary ."\n
Content-Type: text/plain; charset=ISO-8859-1\r\n\n
Nouvelle arrivée dans votre section, Fiche à remplir.\n\n";
$fichier=file_get_contents('./fiche.xls');
$fichier=chunk_split( base64_encode($fichier) );
$body = $body . "--" .$boundary. "\n
Content-Type: application/vnd.ms-excel; name=\"fiche.xls\"\r\n
Content-Transfer-Encoding: base64\r\n
Content-Disposition: attachment; filename=\"fiche.xls\"\r\n\n
$fichier";
$body = $body . "--" . $boundary ."--";
mail($destinataire_fiche, "Fiche de renseignement", $body, $headers);


C'est un fichier excel que je souhaite envoyé fiche.xls.


Le fichier part bien mais je recois ça n'importe comment dans ma messagerie, déja le fichier arrive en tant que ATT0048.TXT au lieu de fiche.xls.

Ensuite le contenu du fichier TXT au lieu de XLS est un peu bizarre:
Content-Type: application/vnd.ms-excel; name="fiche.xls"

Content-Transfer-Encoding: base64

Content-Disposition: attachment; filename="fiche.xls"


0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAA
EAAAPQAAAAEAAAD+////AAAAAAAAAAD/////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////9
////PwAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8A
AAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAA
AB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAA
LAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAA6
AAAAOwAAADwAAAD+/////v///0AAAAD+/////v//////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////1IA
bwBvAHQAIABFAG4AdAByAHkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAWAAUA//////////8CAAAAIAgCAAAAAADAAAAAAAAARgAAAAAAAAAAAAAAAJBxmFt+K8gB
PgAAAIACAAAAAAAAVwBvAHIAawBiAG8AbwBrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAABIAAgEEAAAA//////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAACAAAAJ3QAAAAAAAAFAFMAdQBtAG0AYQByAHkASQBuAGYAbwByAG0AYQB0
AGkAbwBuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAACAQEAAAADAAAA/////wAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAUARABvAGMAdQBtAGUAbgB0
AFMAdQBtAG0AYQByAHkASQBuAGYAbwByAG0AYQB0AGkAbwBuAAAAAAAAAAAAAAA4AAIB////////
////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAPwAAAAAAAAACQgQ
AAAGBQCpH80HyQABAAYEAADhAAIAsATBAAIAAADiAAAAXABwAAIAAE1HICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCAAIAsARhAQIAAADAAQAAPQECAAEA
ugEPAAwAAFRoaXNXb3JrYm9va5wAAgAQABkAAgAAABIAAgAAABMAAgAAAK8BAgAAALwBAgAAAD0A
EgBoAfAAXDrBIDgAAAAAAAEAWAJAAAIAAACNAAIAAAAiAAIAAAAOAAIAAQC3AQIAAADaAAIAAAAx
ACoAyAAAAP9/kAEAAAAAAAANAU0AUwAgAFMAYQBuAHMAIABTAGUAcgBpAGYAMQAqAMgAAAD/f5AB
AAAAAAAADQFNAFMAIABTAGEAbgBzACAAUwBlAHIAaQBmADEAKgDIAAAA/3+QAQAAAAAAAA0BTQBT
ACAAUwBhAG4AcwAgAFMAZQByAGkAZgAxACoAyAAAAP9/kAEAAAAAAAANAU0AUwAgAFMAYQBuAHMA
IABTAGUAcgBpAGYAMQAoAMgABAAMAJABAAABAAAADAFBAHIAaQBhAGwAIABOAGEAcgByAG8AdwAx
ACoAyAAEACQAkAEAAAEAAAANAU0AUwAgAFMAYQBuAHMAIABTAGUAcgBpAGYAMQAqABgBAAD/f5AB
AAAAAAAADQFNAFMAIABTAGEAbgBzACAAUwBlAHIAaQBmADEAKgAYAQEA/3+8AgAAAAAAAA0BTQBT
ACAAUwBhAG4AcwAgAFMAZQByAGkAZgAxACoA8AABAP9/vAIAAAAAAAANAU0AUwAgAFMAYQBuAHMA
IABTAGUAcgBpAGYAMQAqAPAAAAD/f5ABAAAAAAAADQFNAFMAIABTAGEAbgBzACAAUwBlAHIAaQBm
ADEAGgDIAAAA/3+QAQAAAAIAAAUBQQByAGkAYQBsADEAGgDIAAEA/3+8AgAAAAIAAAUBQQByAGkA
YQBsADEAGgDwAAAA/3+QAQAAAAIAAAUBQQByAGkAYQBsADEAKgDIAAEA/3+8AgAAAAIAAA0BTQBT
ACAAUwBhAG4AcwAgAFMAZQByAGkAZgAxACoAyAAAAP9/kAEAAAACAAANAU0AUwAgAFMAYQBuAHMA
IABTAGUAcgBpAGYAMQAqAMgABQD/f7wCAAABAgAADQFNAFMAIABTAGEAbgBzACAAUwBlAHIAaQBm
ADEAHgBoAQEAOAC8AgAAAAIAYgcBQwBhAG0AYgByAGkAYQAxAB4ALAEBADgAvAIAAAACAGIHAUMA
YQBsAGkAYgByAGkAMQAeAAQBAQA4ALwCAAAAAgBiBwFDAGEAbABpAGIAcgBpADEAHgDcAAEAOAC8
AgAAAAIAYgcBQwBhAGwAaQBiAHIAaQAxAB4A3AAAABEAkAEAAAACAGIHAUMAYQBsAGkAYgByAGkA
MQAeANwAAAAUAJABAAAAAgBiBwFDAGEAbABpAGIAcgBpADEAHgDcAAAAPACQAQAAAAIAYgcBQwBh
AGwAaQBiAHIAaQAxAB4A3AAAAD4AkAEAAAACAGIHAUMAYQBsAGkAYgByAGkAMQAeANwAAQA/ALwC
AAAAAgBiBwFDAGEAbABpAGIAcgBpADEAHgDcAAEANAC8AgAAAAIAYgcBQwBhAGwAaQBiAHIAaQAx
AB4A3AAAADQAkAEAAAACAGIHAUMAYQBsAGkAYgByAGkAMQAeANwAAQAJALwCAAAAAgBiBwFDAGEA
bABpAGIAcgBpADEAHgDcAAAACgCQAQAAAAIAYgcBQwBhAGwAaQBiAHIAaQAxACoAyAAAAP9/kAEA
AAAAAGINAU0AUwAgAFMAYQBuAHMAIABTAGUAcgBpAGYAMQAeANwAAgAXAJABAAAAAgBiBwFDAGEA
bABpAGIAcgBpADEAHgDcAAEACAC8AgAAAAIAYgcBQwBhAGwAaQBiAHIAaQAxAB4A3AAAAAkAkAEA
AAACAGIHAUMAYQBsAGkAYgByAGkAMQAeANwAAAAIAJABAAAAAgBiBwFDAGEAbABpAGIAcgBpAB4E
MwAFABcAASMALAAjACMAMABcACAAIgCsICIAOwBcAC0AIwAsACMAIwAwAFwAIAAiAKwgIgAeBD0A
BgAcAAEjACwAIwAjADAAXAAgACIArCAiADsAWwBSAGUAZABdAFwALQAjACwAIwAjADAAXAAgACIA
rCAiAB4EPwAHAB0AASMALAAjACMAMAAuADAAMABcACAAIgCsICIAOwBcAC0AIwAsACMAIwAwAC4A
MAAwAFwAIAAiAKwgIgAeBEkACAAiAAEjACwAIwAjADAALgAwADAAXAAgACIArCAiADsAWwBSAGUA
ZABdAFwALQAjACwAIwAjADAALgAwADAAXAAgACIArCAiAB4EcQAqADYAAV8ALQAqACAAIwAsACMA


Erf........

As-tu une idée?

-------------------------------------
Le BOF de Linux: LFS & Slack (ça fait + pro).Les RPM c'est pour les tapettes!Sexe : 38 centimetres, "Linux rulezzzz",Recompilations:167,Recompilations utiles:0.
jblecanard
#25 Message posté le : 21-11-2007 à 11:54:10


Jedi


Forum : Modérateur
Association : Membre fondateur
Arrivé(e) le : 08-01-2005
Nombre de messages : 4030
Ce qui est sûr, c'est que le contenu de ton fichier texte est simplement le binaire du XLS affiché en caractères.

Essaye de l'ouvrir en le renommant .xls, juste pour voir...

-------------------------------------
C'est une situation bien inconfortable que d'être assez sensible à la bêtise pour en souffrir et trop intelligent pour s'en indigner. - Gustave Thibon -
lecharcutierdelinux
#26 Message posté le : 21-11-2007 à 13:18:12


Scarabée


Forum : Inscrit
Association :
Arrivé(e) le : 27-01-2003
Nombre de messages : 530
Ca marche pas, il me dit fichier endommagé. J'ai l'impression qu'y'a qqchose qui foire au niveau des mime, faut il modifier apache ou php pour prendre en compte ce genre de truc?

C'est bien php, juste dommage que la fonction mail soit "oubliée" pour les pièces jointes.

-------------------------------------
Le BOF de Linux: LFS & Slack (ça fait + pro).Les RPM c'est pour les tapettes!Sexe : 38 centimetres, "Linux rulezzzz",Recompilations:167,Recompilations utiles:0.
jblecanard
#27 Message posté le : 21-11-2007 à 15:57:06


Jedi


Forum : Modérateur
Association : Membre fondateur
Arrivé(e) le : 08-01-2005
Nombre de messages : 4030
Bon je suis en train de faire des tests et effectivement ça marche pas avec cette méthode. Je vais voir si j'arrive à la corriger et te tiens au courant...

Edit : Il y aussi une méthode ocmplète et plus claire ici. Je vais la tester.

--Message édité par jblecanard le 21-11-2007 à 15:58:20--


-------------------------------------
C'est une situation bien inconfortable que d'être assez sensible à la bêtise pour en souffrir et trop intelligent pour s'en indigner. - Gustave Thibon -
jblecanard
#28 Message posté le : 21-11-2007 à 16:09:10


Jedi


Forum : Modérateur
Association : Membre fondateur
Arrivé(e) le : 08-01-2005
Nombre de messages : 4030
Bon, j'ai réussi !

Avec la deuxième méthode, mais corrigée, car il y a une erreur dedans. Voici un code qui fonctionne avec une image PNG :

Attention à ce code : il utilise des simple quotes au lieu des doubles, ce qui signifie qu'on ne peut pas utiliser la notation $nomdevariable en plein de milieu de la chaîne.


<?php



$destinataire='moi@myriam';

$email_expediteur='moi@myriam';

$email_reply='moi@myriam';

$message_texte='Bonjour,'."\n\n".'Voici un message au format texte';



$message_html='<html>

<head>

<title>Titre</title>

</head>

<body>Test de message</body>

</html>';



//-----------------------------------------------

//GENERE LA FRONTIERE DU MAIL ENTRE TEXTE ET HTML

//-----------------------------------------------



$frontiere = '-----=' . md5(uniqid(mt_rand()));



//-----------------------------------------------

//HEADERS DU MAIL

//-----------------------------------------------



$headers = 'From: "Nom" <'.$email_expediteur.'>'."\n";

$headers .= 'Return-Path: <'.$email_reply.'>'."\n";

$headers .= 'MIME-Version: 1.0'."\n";

$headers .= 'Content-Type: multipart/mixed; boundary="'.$frontiere.'"';



//-----------------------------------------------

//MESSAGE TEXTE

//-----------------------------------------------

$message = 'This is a multi-part message in MIME format.'."\n\n";



$message .= '--'.$frontiere."\n";

$message .= 'Content-Type: text/plain; charset="iso-8859-1"'."\n";

$message .= 'Content-Transfer-Encoding: 8bit'."\n\n";

$message .= $message_texte."\n\n";



//-----------------------------------------------

//MESSAGE HTML

//-----------------------------------------------

$message .= '--'.$frontiere."\n";



$message .= 'Content-Type: text/html; charset="iso-8859-1"'."\n";

$message .= 'Content-Transfer-Encoding: 8bit'."\n\n";

$message .= $message_html."\n\n";



$message .= '--'.$frontiere."\n";



//-----------------------------------------------

//PIECE JOINTE

//-----------------------------------------------



$message .= 'Content-Type: image/png; name="Tux.png"'."\n";

$message .= 'Content-Transfer-Encoding: base64'."\n";

$message .= 'Content-Disposition:attachement; filename="Tux.png"'."\n\n";



$message .= chunk_split(base64_encode(file_get_contents('Tux.png')))."\n";



if(mail($destinataire,"test de pièce jointe",$message,$headers))

{

  echo 'Le mail a été envoyé';

}

else

{

  echo 'Le mail n\'a pu être envoyé';

} 



?>



Avec en bonus la méthode un un double mail HTML/Texte.

--Message édité par jblecanard le 21-11-2007 à 16:15:21--


-------------------------------------
C'est une situation bien inconfortable que d'être assez sensible à la bêtise pour en souffrir et trop intelligent pour s'en indigner. - Gustave Thibon -
lecharcutierdelinux
#29 Message posté le : 22-11-2007 à 10:24:36


Scarabée


Forum : Inscrit
Association :
Arrivé(e) le : 27-01-2003
Nombre de messages : 530
Je sais pas encore comment t'as trouvé mais sça fonctionne.

Vraiment merci beaucoup! Grace a toi j'ai fini mon intranet!!

Merci encore

-------------------------------------
Le BOF de Linux: LFS & Slack (ça fait + pro).Les RPM c'est pour les tapettes!Sexe : 38 centimetres, "Linux rulezzzz",Recompilations:167,Recompilations utiles:0.