PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#26 15-02-2010 15:02:19

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : amélioration du code / suggestion

1) ok pour les erreurs de connexion

2) ligne 18 : si une erreur survient, tu affiches à n'importe quel visiteur la requête et l'erreur ! Tu le renseignes donc très bien sur comment fonctionne ton script et il n'est guère difficile de tricher les requêtes par la suite. Si tu veux absolument afficher l'erreur et la requête fais en sorte que seuls les administrateurs de ton site les voient.

3) ligne 25 : si tu n'as rien dans ta base de donnée ta requête renvoie un tableau vide. Donc l'indice 0 n'existe pas et cela te générera un warning => utilisation de isSet sur $data[0] pour éviter le warning. C'est la même remarque pour la ligne 32.

Hors ligne

#27 15-02-2010 17:15:59

david7
Membre
Inscription : 05-06-2009
Messages : 87

Re : amélioration du code / suggestion

ok j'ai remplacé la ligne 18 :
       

$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

PAR :
       

$req = mysql_query($sql) or die('Erreur SQL !');

c'est bon ?

sinon pour la 25/32 je cherche mais je réussi pas a comprendre comment faire.. tu pourrais me faire un exemple si sa te derange pas ?

Hors ligne

#28 15-02-2010 18:21:53

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : amélioration du code / suggestion

2) ok

3)

if( isSet($data[0]) && $data[0] == 0 )

Pas plus compliqué que cela.

Hors ligne

#29 15-02-2010 19:23:02

david7
Membre
Inscription : 05-06-2009
Messages : 87

Re : amélioration du code / suggestion

ok mais je rajoute le { a la fin ? comme ceci :

    // si on obtient une réponse, alors l'utilisateur est un membre
    if (isset($data[0]) && $data[0] == 0 ) {
      session_start();
      $_SESSION['login'] = $_POST['login'];
      header('Location: membre.php');
      exit();
    }
    // si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
    elseif (isset($data[0]) && $data[0] == 0 ) {
      $erreur = 'Compte non reconnu.';
    }
    // sinon, alors la, il y a un gros problème :)
    else {
      $erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
    }
 

Hors ligne

#30 15-02-2010 19:51:40

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : amélioration du code / suggestion

session_start() est à mettre en début de script et non au milieu. Sinon il va te générer des erreurs.

PS : ta première comparaison est à faire avec la valeur 1 et non 0.

Hors ligne

#31 15-02-2010 22:22:52

david7
Membre
Inscription : 05-06-2009
Messages : 87

Re : amélioration du code / suggestion

"session_start() est à mettre en début de script et non au milieu. Sinon il va te générer des erreurs."
en haut de la page ? ok

"PS : ta première comparaison est à faire avec la valeur 1 et non 0."
? hein ou ?

Hors ligne

#32 15-02-2010 23:49:34

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : amélioration du code / suggestion

Relis ton code. Tu vérifies que la valeur soit 0 et dans ton else tu vérifies aussi qu'elle soit à 0.
Et cela parce que tu as fait un bête copier/coller de ma réponse. ^^

Hors ligne

#33 16-02-2010 03:56:38

david7
Membre
Inscription : 05-06-2009
Messages : 87

Re : amélioration du code / suggestion

^^ je look a chaque fois mon code (meme t'es réponses je regarde bien) mais parfois je comprend pas trop les "termes" donc j'ai du mal mais sinon je suis pas du genre parresseu cher collaborateur wink je me donne du mal pour apprendre, je demande sur les forums, je cherche sur des sites a l'aide de google, etc... smile

mais sinon j'ai un script la sous la main, un espace membre avec biensur une page login.php j'ai regardé l'histoire du 0 dedans pour la connexion la etc... c'est pas la meme chose enfin c'est different non ? c'est plus propre non ? je prend lequel le mien ou celui la ? (je parle juste de cette portion) regarde :

<?php

if (isset($_POST["action"]) && $_POST["action"] == "send")
{
$login = postInput($_POST["login"]);
$password = postInput($_POST["password"]);

  $r = mysql_query("select idmbr from membres where login='$login' and password='".md5($password)."' and etat=1;");
  if (mysql_num_rows($r)==0)
  {
  $_GET["msg"] = "Veuillez vérifier vos informations";
  }
  else
  {
    $idmbr = mysql_result($r,0,"idmbr");
   
    $_SESSION["membre"]["idmbr"] = $idmbr;
    $_SESSION["membre"]["login"] = $login;
    $_SESSION["membre"]["password"] = $password;
   
    header("location: index.php");
    exit();
  }
}
else
{
$login = "";
$password = "";
}

?>

biensur je parle PAS du isset en haut ainsi que de l'erreur en GET big_smile j'ai pigé la leçon l'autre jour smile

Hors ligne

#34 16-02-2010 04:01:53

moogli
Modérateur
Inscription : 08-05-2009
Messages : 336
Site Web

Re : amélioration du code / suggestion

yop,

je te conseil d'utiliser le tiens, car tu le comprendra surement mieux wink

@+


Il en faut peu pour être heureux pompompompompompompompompompompom

Hors ligne

#35 16-02-2010 14:10:50

david7
Membre
Inscription : 05-06-2009
Messages : 87

Re : amélioration du code / suggestion

le mien.. le code juste en dessus avec les 31 lignes ?

Dernière modification par david7 (16-02-2010 14:13:09)

Hors ligne

#36 17-02-2010 11:41:40

moogli
Modérateur
Inscription : 08-05-2009
Messages : 336
Site Web

Re : amélioration du code / suggestion

non l'idée est qu'un code fait par toi même te sera plus compréhensible, plus adapté et à mon avis mieux fait smile

@+


Il en faut peu pour être heureux pompompompompompompompompompompom

Hors ligne

#37 17-02-2010 12:40:59

david7
Membre
Inscription : 05-06-2009
Messages : 87

Re : amélioration du code / suggestion

oui mais bizarrement.. je comprend mieu l'autre big_smile
il ma lair plus fuide, plus facile a lire d'un seul coup d'oeil toi t'en pense quoi niveau qualité du code je veux dire

Hors ligne

Pied de page des forums