[RESOLU] Problème Notice: Undefined index

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Problème Notice: Undefined index

Re: Problème Notice: Undefined index

par Von_Kavalier » 25 mars 2014, 10:41

puisque tu connais la valeur de pass:
$pass= (isset($_POST['pass'])) ? mysql_real_escape_string($_POST['pass']) : NULL; //ligne 1 de ta fonction
il est inutile d'écrire:
if(($_POST['pass']) == $user->pass) {
Mais si le pass est nul on peut faire plus simple
if (isset($_POST['pass'])== false)
{
    exit;
}
else
{
$pass = mysql_real_escape_string($_POST['pass']);
}
Oui, le jury, c'est que des débiles profonds, c'est bien connu. Avoir le bac, même en écrivant des conneries, c'est comme avoir le permis en ignorant le code.
Ouiiiii merci ! ça fonctionne ! *courbettes*
De toute façon mon site ne sera qu'en local, et puis ce projet est fait sans cours HTML, PHP etc... J'ai dû tout apprendre de zéro sans compter sur mes professeurs, alors bon...

Re: Problème Notice: Undefined index

par Von_Kavalier » 25 mars 2014, 10:33

Ok et que te retournes $_POST['pass'] ?
Quand je fais :

if (isset($_POST['pass']))
{
echo '<br>pass = true';
} else {
echo '<br>pass = false';
}

Et que je lance la page : pass = false, et après avoir cliqué sur le bouton connexion et avoir le message "Mauvais mot de passe pour cet utilisateur", pass = true

Re: Problème Notice: Undefined index

par sirakawa » 25 mars 2014, 10:30

puisque tu connais la valeur de pass:
$pass= (isset($_POST['pass'])) ? mysql_real_escape_string($_POST['pass']) : NULL; //ligne 1 de ta fonction
il est inutile d'écrire:
if(($_POST['pass']) == $user->pass) {
Mais si le pass est nul on peut faire plus simple
if (isset($_POST['pass'])== false)
{
    exit;
}
else
{
$pass = mysql_real_escape_string($_POST['pass']);
}
Oui, le jury, c'est que des débiles profonds, c'est bien connu. Avoir le bac, même en écrivant des conneries, c'est comme avoir le permis en ignorant le code.

Re: Problème Notice: Undefined index

par Aureusms » 25 mars 2014, 10:01

Ok et que te retournes $_POST['pass'] ?

Re: Problème Notice: Undefined index

par Von_Kavalier » 25 mars 2014, 09:53

Bonjour,

Cela veut dire que $user->pass n'existe pas.
Que te retournes ? (à mettre après $user = mysql_fetch_object($query);)
$user = mysql_fetch_object($query);
var_dump ($user);
un petit conseil : protège $_POST['login'] contre les injections SQL et utilises plutôt la librairie mysqli ou PDO car la librairie mysql va être progressivement arrêtée
Voilà je peux enfin te répondre, désolé de l'attente ^^
Il me retourne :
object(stdClass)[1]
public 'id' => string '1' (length=1)
public 'login' => string 'Tom' (length=3)
public 'pass' => string '9d5e3ecdeb4cdb7acfd63075ae046672 ' (length=33)
public 'credit' => string '127' (length=3)

Re: Problème Notice: Undefined index

par Von_Kavalier » 18 mars 2014, 21:46

Ton avis se défend. Même si j'aurai plutôt tendance à faire ce genre de vérification sans même y réfléchir.
Cela fait partie des habitudes inconsciente de tout bon développeur.
On ne gagne jamais de temps à ne pas traiter ce genre de cas au final. :)
Je suis débutant ^^ je n'étais pas au courant de cette faille avant que vous n'en parliez :-)

Re: Problème Notice: Undefined index

par xTG » 18 mars 2014, 21:43

Ton avis se défend. Même si j'aurai plutôt tendance à faire ce genre de vérification sans même y réfléchir.
Cela fait partie des habitudes inconsciente de tout bon développeur.
On ne gagne jamais de temps à ne pas traiter ce genre de cas au final. :)

Re: Problème Notice: Undefined index

par Aureusms » 18 mars 2014, 18:02

Ok pas de problème : bon bac !

Re: Problème Notice: Undefined index

par Von_Kavalier » 18 mars 2014, 17:58

Son point de vue se défend... Penses-y quand même pour la suite : la sécurité est primordiale avant le design (du moins c'est mon point de vue)
Oui bien sûr, mais je veux pas perdre de temps là dessus. Je vous donne ma parole que dans mes prochains codes la sécurité sera le principal :D

Re: Problème Notice: Undefined index

par Aureusms » 18 mars 2014, 17:54

Son point de vue se défend... Penses-y quand même pour la suite : la sécurité est primordiale avant le design (du moins c'est mon point de vue)

Re: Problème Notice: Undefined index

par Von_Kavalier » 18 mars 2014, 17:18

Euh pour vérifier si l'index de $_POST['pass'] existe, n'y a-t-il pas un empty($_POST['pass']) avant ?
Niveau sécurité aucun probleme, c'est un projet d'école ils ne viendront pas vérifier ^^
Que dire... Tu es dans une école de design ? Dans une école de mécanique ? Ou peut être dans une école d'agro-alimentaire ?
Si ce n'est pas le cas... Changes ton code...
Ou bien si ce que tu dis est véridique... Changes d'école... :|
Je suis sérieux, je suis en terminale sti et on va juste présenter notre travail devant un jury, montrer que ça fonctionne et que le cahier des charges est respecté. Ils ne verront jamais le code et si c'est le cas ce ne seront que mes profs dont le php n'est pas leur spécialité. :)

Re: Problème Notice: Undefined index

par xTG » 18 mars 2014, 17:14

Euh pour vérifier si l'index de $_POST['pass'] existe, n'y a-t-il pas un empty($_POST['pass']) avant ?
Niveau sécurité aucun probleme, c'est un projet d'école ils ne viendront pas vérifier ^^
Que dire... Tu es dans une école de design ? Dans une école de mécanique ? Ou peut être dans une école d'agro-alimentaire ?
Si ce n'est pas le cas... Changes ton code...
Ou bien si ce que tu dis est véridique... Changes d'école... :|

Re: Problème Notice: Undefined index

par Von_Kavalier » 18 mars 2014, 14:42

Bonjour,

Cela veut dire que $user->pass n'existe pas.
Que te retournes ? (à mettre après $user = mysql_fetch_object($query);)
$user = mysql_fetch_object($query);
var_dump ($user);
un petit conseil : protège $_POST['login'] contre les injections SQL et utilises plutôt la librairie mysqli ou PDO car la librairie mysql va être progressivement arrêtée
J'essaierais mais tout de suite je ne peux pas, je répondrais dès que possible

Re: Problème Notice: Undefined index

par Von_Kavalier » 18 mars 2014, 14:37

Euh pour vérifier si l'index de $_POST['pass'] existe, n'y a-t-il pas un empty($_POST['pass']) avant ?
Niveau sécurité aucun probleme, c'est un projet d'école ils ne viendront pas vérifier ^^

Re: Problème Notice: Undefined index

par Aureusms » 18 mars 2014, 14:36

Euh pour vérifier si l'index de $_POST['pass'] existe, n'y a-t-il pas un empty($_POST['pass']) avant ?