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

Langage PHP Discussion :

[Système] optimisation du code


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut [Système] optimisation du code
    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
    $passe_membre = $_POST['passe_membre2'];
    $email = $_POST['email2'];
    $prenom = $_POST['prenom2'];
    $nom = $_POST['nom2'];
    $adresse = $_POST['adresse2'];
    $codepostal = $_POST['codepostal2'];
    $ville = $_POST['ville2'];
    $pays = $_POST['pays2'];
    $telephone = $_POST['telephone2'];
    // TEST SUR LES VALEURS SAISIES
    if($pseudo_membre==""){echo "Vous devez choisir un pseudo<br><br><a href="."javascript:window.history.back()".">Retour</a>";exit;}
    if($passe_membre==""){echo "Vous devez choisir un mot de passe<br><br><a href="."javascript:window.history.back()".">Retour</a>";exit;}
    // CHAMPS SUPLEMENTAIRES, inspirez-vous des lignes suivantes. Pour qu'un champs soit facultatif, omettez la ligne.
    if($email==""){echo "Vous n'avez pas saisi votre email<br><br><a href="."javascript:window.history.back()".">Retour</a>";exit;}
    if($prenom==""){echo "Vous n'avez pas saisi votre prenom<br><br><a href="."javascript:window.history.back()".">Retour</a>";exit;}
    if($nom==""){echo "Vous n'avez pas saisi votre nom<br><br><a href="."javascript:window.history.back()".">Retour</a>";exit;}
    if($adresse==""){echo "Vous n'avez pas saisi votre adresse complète<br><br><a href="."javascript:window.history.back()".">Retour</a>";exit;}
    if($codepostal==""){echo "Vous n'avez pas saisi votre code postal<br><br><a href="."javascript:window.history.back()".">Retour</a>";exit;}
    if($ville==""){echo "Vous n'avez pas saisi la ville<br><br><a href="."javascript:window.history.back()".">Retour</a>";exit;}
    if($pays==""){echo "Vous n'avez pas saisi votre pays<br><br><a href="."javascript:window.history.back()".">Retour</a>";exit;}
    if($telephone==""){echo "Vous n'avez pas saisi votre numéro de téléphone<br><br><a href="."javascript:window.history.back()".">Retour</a>";exit;}
     
    // ON VERIFIE SI CE PSEUDO EXISTE DEJA
    $requete=mysql_db_query($basesql,"select * from membre where pseudo='".$pseudo_membre."'",$db) or die(mysql_error());
    $num=mysql_num_rows($requete);
    if($num!=0)
    	{
    	$requete=mysql_db_query($basesql,"UPDATE membre SET pseudo='".$pseudo_membre."', passe='".$passe_membre."', email='".$email."', prenom='".$prenom."', nom='".$nom."', adresse='".$adresse."', codepostal='".$codepostal."', ville='".$ville."', pays='".$pays."', telephone='".$telephone."' WHERE id_membre='".$id_membre."' AND id='".$id."'",$db) or die(mysql_error());
    	// REDIRECTION VERS LA PAGE D'ENTREE DE L'ESPACE MEMBRE
    	echo "Merci, vos informations ont bien été mise à jour. Cliquez <a href="."zonemembre.php"."><b>ici</b></a> pour entrer dans votre espace privé.";
    	}
    break;
    Bonjour,

    Comment je peux optimisé mon script ?

    Est ce qu'il y a des probèmes de sécurité?

    Merci d'avance pour votre réponse

  2. #2
    Membre chevronné
    Inscrit en
    Septembre 2006
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 685
    Par défaut
    salut, oui ton code n'est pas du tout sécurisé, tu n'échappes pas les caractères dangereux, mysql_escape_string sert à ça

    Ensuite tu ne fait pas de trim sur tes variables POST donc si je rentre que des espaces, le champ ne sera pas considéré comme vide.

    Au lieu de faire if( x = ""), il y a empty().

    Ensuite même si les champs ne sont pas correctement remplis, tu exécute quand même tes requêtes, faut utiliser des conditions.

    Il sert à quoi le break ?

  3. #3
    Membre chevronné
    Avatar de genova
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 487
    Par défaut
    Il existe aussi un concept interessant nommé fonctions

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function check($field, $text)
    {
       if (empty($field))
       {
          echo "Vous devez choisir $text<br><br><a href="."javascript:window.history.back()".">Retour</a>";
          exit;
       }
    }
     
    check($pseudo_membre, 'un pseudo');
    Testez le forum Fire Soft Board, un forum libre, gratuit et français.

    Système de template de phpBB - Lisez la FAQ PHP avant toute question si vous débuttez en PHP.

  4. #4
    Membre expérimenté Avatar de frol
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 288
    Par défaut
    comme il y a les exit je pense que les requêtes ne seront pas exécutée
    mais bon le passage a une fonction ici est plus qu'intéressant

Discussions similaires

  1. Réponses: 0
    Dernier message: 29/08/2007, 16h57
  2. Optimiser mon code ASP/HTML
    Par ahage4x4 dans le forum ASP
    Réponses: 7
    Dernier message: 30/05/2005, 10h29
  3. optimiser le code
    Par bibi2607 dans le forum ASP
    Réponses: 3
    Dernier message: 03/02/2005, 14h30
  4. syntaxe et optimisation de codes
    Par elitol dans le forum Langage SQL
    Réponses: 18
    Dernier message: 12/08/2004, 11h54
  5. optimisation du code et var globales
    Par tigrou2405 dans le forum ASP
    Réponses: 2
    Dernier message: 23/01/2004, 10h59

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