Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/02/2011, 16h57   #1
Invité de passage
 
Inscription : septembre 2009
Messages : 37
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 37
Points : 3
Points : 3
Par défaut Optimisation de code pour un débutant

Bonjour,

j'ai réussi à créer mon PHP pour récupérer des infos de ma base MySql et également envoyer un email à chaque appel de mon fichier php.

Mais comme je ne suis pas du tout expert en php, j'aimerai savoir si mon code doit être amélioré. Auriez-vous des remarques, suggestions, corrections ?
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
 
<?php
 
//requetes
	$sqlAjoute = 'UPDATE userServ SET ageServ=ageServ+1 WHERE idServCdt='.$idAjoute.'';
	$sqlRetire = 'UPDATE userServ SET ageServ=ageServ-1 WHERE idServCdt='.$idRetire.'';
 
	// on envoie les requêtes
	$req1 = mysql_query($sqlAjoute) or die('Erreur SQL !<br>'.$sqlAjoute.'<br>'.mysql_error());
	$req2 = mysql_query($sqlRetire) or die('Erreur SQL !<br>'.$sqlRetire.'<br>'.mysql_error());	
 
	// recup le nom des candidats pour envoyer l'email
	$sql1 = 'SELECT nomUser FROM userServ WHERE idServCdt='.$idAjoute.'';
	$req3 = mysql_query($sql1) or die('Erreur SQL !<br>'.$sql1.'<br>'.mysql_error());
	$data = mysql_fetch_assoc($req3);
	$ajoute = $data['nomUser'];
	$sql2 = 'SELECT nomUser FROM userServ WHERE idServCdt='.$idRetire.'';
	$req4 = mysql_query($sql2) or die('Erreur SQL !<br>'.$sql2.'<br>'.mysql_error());
	$data = mysql_fetch_assoc($req4);
	$retire = $data['nomUser'];
 
	//Définition des variables pour l'envoi de l'email	
	$adresse_exp  = 'xxx@xxxxx.fr';
	$adresse_dest = 'xxx@xxxxx.fr';
	$adresse_dest2 = '';
	$sujet = 'Ajoute '.$ajoute.'('.$idAjoute.') et retire '.$retire.'('.$idRetire.')';
	$texte = "";
	$cheminfichier = '';
	$nomfichier = '';
	$mimeType = 'text/plain';
	$replyto = "";
 
	//Appel fonction : envoi email
	mail_attachement($adresse_dest, $adresse_dest2, $sujet , $texte , $cheminfichier , $mimeType , $nomfichier  , $replyto , $adresse_exp);
 
	// on ferme la connexion à mysql
	mysql_close(); 
 
?>
 
<?php
 
//Fonction d'envoi de l'email
function mail_attachement($to , $bcc , $sujet , $message , $fichier , $typemime , $nom , $reply , $from){
 
	$limite = "_parties_".md5(uniqid (rand()));
	$mail_mime = "Date: ".date('l j F Y, G:i')."\n";
	$mail_mime .= "MIME-Version: 1.0\n";
	$mail_mime .= "Content-Type: multipart/mixed;\n";
	$mail_mime .= " boundary=\"----=$limite\"\n\n";
	$attachement = "------=$limite\n";
	$attachement .= "Content-Type: $typemime; name=\"$nom\"\n";
	$attachement .= "Content-Transfer-Encoding: base64\n";
	$attachement .= "Content-Disposition: attachment; filename=\"$nom\"\n\n";
	$fd = fopen( $fichier, "r" );
	$contenu = fread( $fd, filesize( $fichier ) );
	fclose( $fd );
	$attachement .= chunk_split(base64_encode($contenu));
	$attachement .= "\n\n\n------=$limite\n";
	return mail($to, $sujet, $texte.$attachement, "Reply-to: $reply\nFrom: $from\nBcc: $bcc\n".$mail_mime);
 
}
 
?>
Merci pour votre aide

neospirit
neospirit est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2011, 11h59   #2
narama87
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
c'est bon
  Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2011, 12h02   #3
Membre Expert
 
Avatar de gene69
 
Inscription : janvier 2006
Messages : 951
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : janvier 2006
Messages : 951
Points : 1 063
Points : 1 063
moi je supprimerai le ?> <?php du milieu du code et qui ne sert à rien ainsi que le ?> final et les caractères avant le <?php initial.
__________________
PHP fait nativement la validation d'adresse électronique Vous êtes perdu en PHP? rassurez-vous ici (en)
Utilisez le bouton résolu!
gene69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2011, 14h05   #4
Invité de passage
 
Inscription : septembre 2009
Messages : 37
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 37
Points : 3
Points : 3
@gene69 : j'ai déjà essayé de supprimer le ?> et <?php du milieu mais du coup l'envoi de l'email ne fonctionne pas. J'en déduis donc qu'il faut les garder pour que la fonction d'envoi d'email puisse être appelée ?
neospirit est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h25.


 
 
 
 
Partenaires

Hébergement Web