Connexion
S'inscrire
Actualités
Quoi de neuf
Activités générales
Auteurs
Forums
Nouveaux messages
Rechercher un forum
Quoi de neuf
Nouveaux messages
Nouveaux messages de profil
Activités générales
Membres
Membres inscrits
Visiteurs actuels
Nouveaux messages de profil
Rechercher dans les messages des profils
Teams
Créé ton équipe
Quoi de neuf ?
Nouveaux messages
Rechercher un forum
Menu
Connexion
S'inscrire
Install the app
Install
Forums
Forums généraux
Informatique
Développement
Questions, aides et recherches
Résolus
PHP - Mon code pour envoyer son avatar est fonctionnel mais un des messages d'erreur non.
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
Vous utilisez un navigateur non à jour ou ancien. Il ne peut pas afficher ce site ou d'autres sites correctement.
Vous devez le mettre à jour ou utiliser un
navigateur alternatif
.
Répondre à la discussion
Message
<blockquote data-quote="Paul GTP" data-source="post: 7027910" data-attributes="member: 315249"><p>Hey <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite351" alt=";)" title="Clin d'oeil ;)" loading="lazy" data-shortname=";)" /></p><p></p><p>Contexte</p><p>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é.</p><p>En effet, les codes d'erreur marchaient bien mais lorsqu'un avatar valide était envoyé, ça ne marchait plus...</p><p>Aujourd'hui, je réecris tout mon code et: ÇA FONCTIONNE ENFIN !</p><p>ou pas <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite129" alt=":d:" title="Regard de travers :d:" loading="lazy" data-shortname=":d:" /></p><p>En effet, maintenant, tout est fonctionnel SAUF le format du fichier à upload.</p><p></p><p>Je m'explique. Voici deux exemples de membres:</p><p><img src="http://image.prntscr.com/image/2455c8319a464797a5df81bdbc117d87.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></p><ul> <li data-xf-list-type="ul">Le membre 4 a un avatar valide => on valide le formulaire d'inscription puis on lui donne son avatar</li> <li data-xf-list-type="ul">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</li> </ul><p></p><p>Le but est que si l'utilisateur renvoie un mauvais avatar, il soit redirigé vers <strong>register?error=10</strong> !</p><p>J'ai beau chercher à comprendre, je ne vois pas l'erreur dans mon code <img src="/data/assets/smilies/mmh.gif" class="smilie" loading="lazy" alt=":mmh:" title="Mmh :mmh:" data-shortname=":mmh:" /></p><p></p><p>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.</p><p>OR, s'il est redirigé vers l'index c'est que <strong>if($resultat)</strong> est validé par le code, d'où mon interrogation...</p><p></p><p>Car si cette condition est vérifiée, dans la base de donnée il devrait y avoir marqué dans la colonne avatar "<strong>fichier.php</strong>"...</p><p></p><p>Je suis vraiment perdu, je ne vois pas d'où ça peut bien venir <img src="/images/smiley-pack/crazy.gif" class="smilie" loading="lazy" alt=":crazy:" title="Crazy :crazy:" data-shortname=":crazy:" /></p><p>Merci d'avance à ceux qui essaieront et un gros big up à celui qui réussira à me trouver l'erreur !</p><p></p><p>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 !</p><p></p><p>[CODE]</p><p><?php</p><p>if(isset($_FILES['avatar']) AND !empty($_FILES['avatar']['name'])) {</p><p> $tailleMax = 2097152;</p><p> $extensionsValides = array('jpg', 'jpeg', 'gif', 'png');</p><p> </p><p> if($_FILES['avatar']['size'] <= $tailleMax) {</p><p> $extensionUpload = strtolower(substr(strrchr($_FILES['avatar']['name'], "."), 1));</p><p> </p><p> $register = $bdd->prepare('INSERT INTO pdev_users (name, surname, username, email, password, register, date, ip) VALUES (:name, :username, :username, :email, :password, :register, :date, :ip)');</p><p> $register->execute(array(</p><p> 'name' => $name,</p><p> 'surname' => $surname,</p><p> 'username' => $username,</p><p> 'email' => $email,</p><p> 'password' => $password,</p><p> 'register' => time(),</p><p> 'date' => time(),</p><p> 'ip' => $ip</p><p> ));</p><p> </p><p> $_SESSION['username'] = $username;</p><p> </p><p> $whatisid = $bdd->prepare('SELECT * FROM pdev_users WHERE username = :username');</p><p> $whatisid->execute(array('username' => $username));</p><p> $whatis = $whatisid->fetch();</p><p> </p><p> $_SESSION['id'] = $whatis['id'];</p><p> </p><p> if(in_array($extensionUpload, $extensionsValides)) {</p><p> $chemin = "../img/avatars/".$_SESSION['id'].".".$extensionUpload;</p><p> $resultat = move_uploaded_file($_FILES['avatar']['tmp_name'], $chemin);</p><p> </p><p> if($resultat) {</p><p> $updateavatar = $bdd->prepare('UPDATE pdev_users SET avatar = :avatar WHERE id = :id');</p><p> $updateavatar->execute(array(</p><p> 'avatar' => $_SESSION['id'].".".$extensionUpload,</p><p> 'id' => $_SESSION['id']</p><p> ));</p><p> header('Location: ../index');</p><p> } else {</p><p> header('Location: ../register?error=11');</p><p> }</p><p> } else {</p><p> header('Location: ../register?error=10');</p><p> }</p><p> } else {</p><p> header('Location: ../register?error=9');</p><p> }</p><p>}</p><p>?></p><p>[/CODE]</p><p></p><p><img src="/data/assets/smilies/love.gif" class="smilie" loading="lazy" alt=":love:" title="Love :love:" data-shortname=":love:" /></p></blockquote><p></p>
[QUOTE="Paul GTP, post: 7027910, member: 315249"] 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 (d) En effet, maintenant, tout est fonctionnel SAUF le format du fichier à upload. Je m'explique. Voici deux exemples de membres: [IMG]http://image.prntscr.com/image/2455c8319a464797a5df81bdbc117d87.png[/IMG] [LIST] [*]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 [/LIST] Le but est que si l'utilisateur renvoie un mauvais avatar, il soit redirigé vers [B]register?error=10[/B] ! J'ai beau chercher à comprendre, je ne vois pas l'erreur dans mon code :mmh: 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 [B]if($resultat)[/B] 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 "[B]fichier.php[/B]"... Je suis vraiment perdu, je ne vois pas d'où ça peut bien venir :crazy: 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'); } } ?> [/CODE] :love: [/QUOTE]
Insérer les citations…
Vérification
Publier la réponse
Forums
Forums généraux
Informatique
Développement
Questions, aides et recherches
Résolus
PHP - Mon code pour envoyer son avatar est fonctionnel mais un des messages d'erreur non.
Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
Acceptez
En savoir plus.…
Haut