IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Optimisation de code pour un débutant


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 37
    Points : 15
    Points
    15
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    narama87
    Invité(e)
    Par défaut
    c'est bon

  3. #3
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    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 : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    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.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 37
    Points : 15
    Points
    15
    Par défaut
    @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 ?

Discussions similaires

  1. [POO] Optimisation de code pour défilement vertical de div
    Par nicolas2603 dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 07/04/2009, 15h37
  2. optimisation du code pour des combobox
    Par oscar.cesar dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 08/03/2008, 14h30
  3. Réponses: 0
    Dernier message: 29/08/2007, 17h57
  4. Optimiser un code pour éviter " out of memory"
    Par risack dans le forum MATLAB
    Réponses: 16
    Dernier message: 19/03/2007, 10h36
  5. Réponses: 8
    Dernier message: 14/09/2006, 17h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo