Hey 
Contexte
J'essaie de créer un système pour permettre à mes membres d'upload un avatar lors de leur inscription. Hier je n'y arrivais pas car j'étais fatigué.
En effet, les codes d'erreur marchaient bien mais lorsqu'un avatar valide était envoyé, ça ne marchait plus...
Aujourd'hui, je réecris tout mon code et: ÇA FONCTIONNE ENFIN !
ou pas
En effet, maintenant, tout est fonctionnel SAUF le format du fichier à upload.
Je m'explique. Voici deux exemples de membres:
Le but est que si l'utilisateur renvoie un mauvais avatar, il soit redirigé vers register?error=10 !
J'ai beau chercher à comprendre, je ne vois pas l'erreur dans mon code
Le problème ne doit pas venir de la condition en elle-même car lors de l'inscription, si le membre utilise un fichier type ".php" par exemple, il est quand même redirigé vers l'index.
OR, s'il est redirigé vers l'index c'est que if($resultat) est validé par le code, d'où mon interrogation...
Car si cette condition est vérifiée, dans la base de donnée il devrait y avoir marqué dans la colonne avatar "fichier.php"...
Je suis vraiment perdu, je ne vois pas d'où ça peut bien venir
Merci d'avance à ceux qui essaieront et un gros big up à celui qui réussira à me trouver l'erreur !
NB: Le seul code d'erreur qui ne fonctionne pas est celui qui dit que l'extension du fichier n'est pas bonne, l'erreur qui dit que le fichier est trop grand fonctionne !

Contexte
J'essaie de créer un système pour permettre à mes membres d'upload un avatar lors de leur inscription. Hier je n'y arrivais pas car j'étais fatigué.
En effet, les codes d'erreur marchaient bien mais lorsqu'un avatar valide était envoyé, ça ne marchait plus...
Aujourd'hui, je réecris tout mon code et: ÇA FONCTIONNE ENFIN !
ou pas
En effet, maintenant, tout est fonctionnel SAUF le format du fichier à upload.
Je m'explique. Voici deux exemples de membres:

- Le membre 4 a un avatar valide => on valide le formulaire d'inscription puis on lui donne son avatar
- Le membre 5 a un avatar non-valide => on valide le formulaire d'inscription mais on ne peut pas lui donner son avatar alors "avatar" reste vide
Le but est que si l'utilisateur renvoie un mauvais avatar, il soit redirigé vers register?error=10 !
J'ai beau chercher à comprendre, je ne vois pas l'erreur dans mon code

Le problème ne doit pas venir de la condition en elle-même car lors de l'inscription, si le membre utilise un fichier type ".php" par exemple, il est quand même redirigé vers l'index.
OR, s'il est redirigé vers l'index c'est que if($resultat) est validé par le code, d'où mon interrogation...
Car si cette condition est vérifiée, dans la base de donnée il devrait y avoir marqué dans la colonne avatar "fichier.php"...
Je suis vraiment perdu, je ne vois pas d'où ça peut bien venir

Merci d'avance à ceux qui essaieront et un gros big up à celui qui réussira à me trouver l'erreur !
NB: Le seul code d'erreur qui ne fonctionne pas est celui qui dit que l'extension du fichier n'est pas bonne, l'erreur qui dit que le fichier est trop grand fonctionne !
Code:
<?php
if(isset($_FILES['avatar']) AND !empty($_FILES['avatar']['name'])) {
$tailleMax = 2097152;
$extensionsValides = array('jpg', 'jpeg', 'gif', 'png');
if($_FILES['avatar']['size'] <= $tailleMax) {
$extensionUpload = strtolower(substr(strrchr($_FILES['avatar']['name'], "."), 1));
$register = $bdd->prepare('INSERT INTO pdev_users (name, surname, username, email, password, register, date, ip) VALUES (:name, :username, :username, :email, :password, :register, :date, :ip)');
$register->execute(array(
'name' => $name,
'surname' => $surname,
'username' => $username,
'email' => $email,
'password' => $password,
'register' => time(),
'date' => time(),
'ip' => $ip
));
$_SESSION['username'] = $username;
$whatisid = $bdd->prepare('SELECT * FROM pdev_users WHERE username = :username');
$whatisid->execute(array('username' => $username));
$whatis = $whatisid->fetch();
$_SESSION['id'] = $whatis['id'];
if(in_array($extensionUpload, $extensionsValides)) {
$chemin = "../img/avatars/".$_SESSION['id'].".".$extensionUpload;
$resultat = move_uploaded_file($_FILES['avatar']['tmp_name'], $chemin);
if($resultat) {
$updateavatar = $bdd->prepare('UPDATE pdev_users SET avatar = :avatar WHERE id = :id');
$updateavatar->execute(array(
'avatar' => $_SESSION['id'].".".$extensionUpload,
'id' => $_SESSION['id']
));
header('Location: ../index');
} else {
header('Location: ../register?error=11');
}
} else {
header('Location: ../register?error=10');
}
} else {
header('Location: ../register?error=9');
}
}
?>
