Inserer une image php
chaimae226
Messages postés
5
Statut
Membre
-
jordane45 Messages postés 30426 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 30426 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
J'essaye d'enregistrer une image mais cela m'affiche un problème.

voici mon code:
J'essaye d'enregistrer une image mais cela m'affiche un problème.
voici mon code:
<?php
if(isset($_POST['enr'])){
$img_blob = addslashes($_FILES['image']['tmp_name']);
$img_blob = file_get_contents($_FILES['image']['tmp_name']);
$img_blob = base64_encode($img_blob);
$x = $bd->prepare("INSERT INTO user(nom,image) VALUES(:nom,:image) WHERE login= :login");
$x->execute([
'nom' => $_POST['nom'],
'image' => $img_blob,
'login' => $_SESSION['login']]);
} ?>
2 réponses
-
Bonjour,
Pour commencer, merci d'utiliser la coloration syntaxique pour poster ton code
explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
Ensuite, le message indique que ta variable n'existe pas (pour les undefined index ) et que ta variable $_FILES est vide pour le troisième message....
https://forums.commentcamarche.net/forum/affich-37636387-php-notice-undefined-index
D'où proviennent tes variables ?
Un formulaire ? Quel est son code ?
Je t'invite au passage à appliquer ceci :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Et ceci :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
-
<?php session_start(); ?> <!DOCTYPE html> <html> <body> <form class="form-horizontal" method="post"> <input type="text" class="form-control" id="exampleInputName1" name="nom" placeholder="Entrer votre nom" value="<?php echo $d['prof'];?>"> <input type="file" id="exampleInputFile" name="image" > <input type="submit" class="btn btn-primary" name="enr"> </form> <?php if(isset($_POST['enr'])){ $img_blob = addslashes($_FILES['image']['tmp_name']); $img_blob = file_get_contents($_FILES['image']['tmp_name']); $img_blob = base64_encode($img_blob); $x = $bd->prepare("INSERT INTO user(nom,image) VALUES(:nom,:image) WHERE login= :login"); $x->execute([ 'nom' => $_POST['nom'], 'image' => $img_blob, 'login' => $_SESSION['login']]); } ?> </body> </html>-
-
-
voici mon nouveau code:
<?php session_start(); ?> <!DOCTYPE html> <html> <body> <form class="form-horizontal" method="post" enctype="multipart/form-data"> <input type="text" class="form-control" id="exampleInputName1" name="nom" placeholder="Entrer votre nom" value="<?php echo $d['prof'];?>"> <input type="file" id="exampleInputFile" name="image" > <input type="submit" class="btn btn-primary" name="enr"> </form> <?php if(isset($_POST['enr'])){ print_r($_FILES); $img_blob = addslashes($_FILES['image']['tmp_name']); $img_blob = file_get_contents($_FILES['image']['tmp_name']); $img_blob = base64_encode($img_blob); $x = $bd->prepare("INSERT INTO user(nom,image) VALUES(:nom,:image) WHERE login= :login"); $x->execute([ 'nom' => $_POST['nom'], 'image' => $img_blob, 'login' => $_SESSION['login']]); $m = $x->fetch(); } ?> </body> </html>
cela ne m'affiche aucune erreur et il n'y a aucun avertissement mais quand je retourne vers ma base de donnée l'image n'a pas été inséré. -
-