Charger une image dans pHPmyadmin
Fermé
Diedouch
Messages postés
9
Date d'inscription
samedi 21 décembre 2013
Statut
Membre
Dernière intervention
13 janvier 2014
-
28 déc. 2013 à 14:59
Utilisateur anonyme - 3 janv. 2014 à 10:05
Utilisateur anonyme - 3 janv. 2014 à 10:05
A voir également:
- Phpmyadmin image
- Image iso - Guide
- Acronis true image - Télécharger - Sauvegarde
- Faststone image viewer - Télécharger - Visionnage & Diaporama
- Image iso windows 10 - Guide
- Comment agrandir une image - Guide
13 réponses
Utilisateur anonyme
Modifié par le père. le 28/12/2013 à 18:39
Modifié par le père. le 28/12/2013 à 18:39
Bonjour
Avec "j'ai une erreur du genre undefined variable " on va te donner une réponse du genre : on ne peut pas dire grand chose.
Par contre, si tu copies-colles le message d'erreur exact, on pourra en dire un peu plus.
Ceci étant dit, c'est un bon début : il vaut mieux enregistrer les images dans un dossier comme c'est fait ici, mais il faut de plus enregistrer dans la base de nom du fichier pour pouvoir le retrouver plus tard. Le champ à créer est donc de type TEXT ou VARCHAR, mais pas BLOB.
Avec "j'ai une erreur du genre undefined variable " on va te donner une réponse du genre : on ne peut pas dire grand chose.
Par contre, si tu copies-colles le message d'erreur exact, on pourra en dire un peu plus.
Ceci étant dit, c'est un bon début : il vaut mieux enregistrer les images dans un dossier comme c'est fait ici, mais il faut de plus enregistrer dans la base de nom du fichier pour pouvoir le retrouver plus tard. Le champ à créer est donc de type TEXT ou VARCHAR, mais pas BLOB.
Diedouch
Messages postés
9
Date d'inscription
samedi 21 décembre 2013
Statut
Membre
Dernière intervention
13 janvier 2014
28 déc. 2013 à 22:03
28 déc. 2013 à 22:03
Merci de votre réponse
je suis conscient que je crée un fichier sans l'envoyer à ce stade dans la base de donnée
Pour simplifier mon problème.je l'ai décomposé en deux partie. la première est la création du fichier.
Pour l'envoyer dans la base de données ,je crois savoir faire.
Actuellement, je ne peux réussir à afficher l'image que j'ai uploadé
En voulant l'afficher ,l'idée est de vérifier si elle existe avant de l'envoyer dans la base de donnée
Je ne sais pas l'afficher (donc elle n'existe pas ?)
Mais dans quel fichier est elle réellement?
L'erreur qui apparait est:
( ! ) Notice: Undefined variable: fichier in C:\wamp\www\querer\upload_essai.php on line 5
Call Stack
# Time Memory Function Location
1 0.0027 248400 {main}( ) ..\upload_essai.php:0
Merci d'avance
D.
je suis conscient que je crée un fichier sans l'envoyer à ce stade dans la base de donnée
Pour simplifier mon problème.je l'ai décomposé en deux partie. la première est la création du fichier.
Pour l'envoyer dans la base de données ,je crois savoir faire.
Actuellement, je ne peux réussir à afficher l'image que j'ai uploadé
En voulant l'afficher ,l'idée est de vérifier si elle existe avant de l'envoyer dans la base de donnée
Je ne sais pas l'afficher (donc elle n'existe pas ?)
Mais dans quel fichier est elle réellement?
L'erreur qui apparait est:
( ! ) Notice: Undefined variable: fichier in C:\wamp\www\querer\upload_essai.php on line 5
Call Stack
# Time Memory Function Location
1 0.0027 248400 {main}( ) ..\upload_essai.php:0
Merci d'avance
D.
Utilisateur anonyme
28 déc. 2013 à 22:31
28 déc. 2013 à 22:31
Ton erreur est à la ligne 5 du fichier upload_essai.php.
Le code que tu montres est-il celui de upload_essai.php ?
Si ce n'est pas le cas comme je le supppose fortement, peux-tu montrer le code de upload_essai.php ?
Le code que tu montres est-il celui de upload_essai.php ?
Si ce n'est pas le cas comme je le supppose fortement, peux-tu montrer le code de upload_essai.php ?
Diedouch
Messages postés
9
Date d'inscription
samedi 21 décembre 2013
Statut
Membre
Dernière intervention
13 janvier 2014
29 déc. 2013 à 08:44
29 déc. 2013 à 08:44
Oui mon erreur est surement dans la ligne 5
Avant d'abandonner et en désespoir de cause j'avais écrit:
print '<img src="'.$fichier.'" alt="" width="2560" height="1920"/>';
Cela ne fonctionnait pas mais de toute façon ce n'était pas une bonne solution car dans ce cas la taille du fichier est imposée.
Je pense que la solution devrait être de reprendre une variable déjà écrite mais laquelle ,j'ai fait beaucoup d'essais en vain
Cordialement
D.
Avant d'abandonner et en désespoir de cause j'avais écrit:
print '<img src="'.$fichier.'" alt="" width="2560" height="1920"/>';
Cela ne fonctionnait pas mais de toute façon ce n'était pas une bonne solution car dans ce cas la taille du fichier est imposée.
Je pense que la solution devrait être de reprendre une variable déjà écrite mais laquelle ,j'ai fait beaucoup d'essais en vain
Cordialement
D.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
Modifié par le père. le 29/12/2013 à 09:12
Modifié par le père. le 29/12/2013 à 09:12
Si, c'était une bonne solution, à condition de la modifier un peu.
Mais on ne peut pas t'aider, tu ne donne pas les informations dont on a besoin pour ça.
Montre le script que tu utilises pour l'affichage.
Mais on ne peut pas t'aider, tu ne donne pas les informations dont on a besoin pour ça.
Montre le script que tu utilises pour l'affichage.
Je viens de relire ton script pour enregistrer l'image. Tu as aussi un problème de variable non définie ici :
D'où vient la variable $fichier_destination ? Elle n'apparaît nulle part avant. Et il te manquera un "/" entre $destDir et $fichier_destination
if (move_uploaded_file ($FILES['fichier']['tmp_name'], $destDir.$fichier_destination))
D'où vient la variable $fichier_destination ? Elle n'apparaît nulle part avant. Et il te manquera un "/" entre $destDir et $fichier_destination
Diedouch
Messages postés
9
Date d'inscription
samedi 21 décembre 2013
Statut
Membre
Dernière intervention
13 janvier 2014
29 déc. 2013 à 12:07
29 déc. 2013 à 12:07
pour moi $fichier_destination était la variable qui se créait après avoir fait upload.c'est dans cette variable que je pensais trouver mon image
Je vous renvoie tout le script qui est en fait copié d'un livre de C. Villeneuve "construisez votre application).si vous recopiez l'intégralié du script, cela pourrait peut être vous donner une idée
Pour essai.php
<html>
<head ></head>
<body>
<form enctype="multipart/form-data" action="upload_essai.php" method="POST" >
<input type="hidden" name="MAX_FILE_size" value= "4000000">
choisir un fichier :<input name="fichier" type="file">
<input type="submit" name="action" value ="envoi">
</form>
<?php
$destDir="upload";
if (sizeof($_POST)>0 && $FILES ['fichier'] && $FILES['fichier'] !="none")
{
if(!is_dir($destDir))
{
if (!@mkdir($destDir))
{
die ("erreur lors de la création du dossier $destDir");
}
}
@chmod($destDir,0777);
if (!file_exists($_FILES['fichier']['tmp_name']))
{
die("le fichier n'est pas passé.vérifier les critères");
}
$taille_max=$POST['MAX_FILE_SIZE'];
$taille_fichier= filesize ($_FILES['fichier']['tmp_name']);
if ($taille_max && ($taille_fichier > $taille_max))
{
die ("la taille du fichier est trop grande");
}
$ext=strrchr($FILES['fichier']['name'],'.');
$ext=substr ($ext,1);
$ext=strolower ($ext);
if ($ext!="jpg" && $ext!="jpeg" && $ext!="png" && $ext!="gif")
{
die ("le fichier n'est pas une image");
}
if (move_uploaded_file ($FILES['fichier']['tmp_name'], $destDir.$fichier_destination))
{
die ("le fichier est correctement passé");
}
else
echo ' problème de transfert';
}
?>
pour upload_essai.php
<html></html
<head></head>
<body>
<?php
print '<img src="'.$fichier.'" alt="" width="2560" height="1920"/>';
?>
</body>
Je n'ai rien de plus.
Villeneuve ne met pas "/" entre $destDir et $fichier_destination mais un simple point
Cordialement
D.
Je vous renvoie tout le script qui est en fait copié d'un livre de C. Villeneuve "construisez votre application).si vous recopiez l'intégralié du script, cela pourrait peut être vous donner une idée
Pour essai.php
<html>
<head ></head>
<body>
<form enctype="multipart/form-data" action="upload_essai.php" method="POST" >
<input type="hidden" name="MAX_FILE_size" value= "4000000">
choisir un fichier :<input name="fichier" type="file">
<input type="submit" name="action" value ="envoi">
</form>
<?php
$destDir="upload";
if (sizeof($_POST)>0 && $FILES ['fichier'] && $FILES['fichier'] !="none")
{
if(!is_dir($destDir))
{
if (!@mkdir($destDir))
{
die ("erreur lors de la création du dossier $destDir");
}
}
@chmod($destDir,0777);
if (!file_exists($_FILES['fichier']['tmp_name']))
{
die("le fichier n'est pas passé.vérifier les critères");
}
$taille_max=$POST['MAX_FILE_SIZE'];
$taille_fichier= filesize ($_FILES['fichier']['tmp_name']);
if ($taille_max && ($taille_fichier > $taille_max))
{
die ("la taille du fichier est trop grande");
}
$ext=strrchr($FILES['fichier']['name'],'.');
$ext=substr ($ext,1);
$ext=strolower ($ext);
if ($ext!="jpg" && $ext!="jpeg" && $ext!="png" && $ext!="gif")
{
die ("le fichier n'est pas une image");
}
if (move_uploaded_file ($FILES['fichier']['tmp_name'], $destDir.$fichier_destination))
{
die ("le fichier est correctement passé");
}
else
echo ' problème de transfert';
}
?>
pour upload_essai.php
<html></html
<head></head>
<body>
<?php
print '<img src="'.$fichier.'" alt="" width="2560" height="1920"/>';
?>
</body>
Je n'ai rien de plus.
Villeneuve ne met pas "/" entre $destDir et $fichier_destination mais un simple point
Cordialement
D.
Utilisateur anonyme
29 déc. 2013 à 12:40
29 déc. 2013 à 12:40
1 - je vois des $FILES là où il devrait y avoir des $_FILES. Il ne faut pas oublier le soulignement entre $ et FILES
2 - La variable $fichier_destination n'est pas définie et ça ne peut pas marcher comme ça. Il faut que tu donnes un nom sous lequel le fichier va être enregistré : tu peux faire par exemple :
3 - Villeneuve ne met pas "/" entre $destDir et $fichier_destination mais un simple point
Ne mélangeons pas tout ! Il faut bien en point pour concaténer (mettre bout à bout) deux chaines. Mais sans / : voilà ce qui va se passer : si ton image s'appelle toto.jpg, tu vas l'enregistrer dans "uploadtoto.jpg" alors que tu voulais certainement dire "upload/toto.jpg".
Soit tu ajoutes un "/" dès le départ dans
Soit (mais pas les deux) tu l'ajoutes au moment du move_uploaded_files :
4 - on reparlera de upload_essai.php plus tard. Disons que si tu crois qu'une variable contient quelque chose parce que ça t'arrangerait bien, il va falloir reprendre l'apprentissage du PHP à partir de zéro.
2 - La variable $fichier_destination n'est pas définie et ça ne peut pas marcher comme ça. Il faut que tu donnes un nom sous lequel le fichier va être enregistré : tu peux faire par exemple :
$fichier_destination=$_FILES['fichier']['name'];pour reprendre le nom original du fichier.
3 - Villeneuve ne met pas "/" entre $destDir et $fichier_destination mais un simple point
Ne mélangeons pas tout ! Il faut bien en point pour concaténer (mettre bout à bout) deux chaines. Mais sans / : voilà ce qui va se passer : si ton image s'appelle toto.jpg, tu vas l'enregistrer dans "uploadtoto.jpg" alors que tu voulais certainement dire "upload/toto.jpg".
Soit tu ajoutes un "/" dès le départ dans
$destDir="upload/";
Soit (mais pas les deux) tu l'ajoutes au moment du move_uploaded_files :
move_uploaded_file ($FILES['fichier']['tmp_name'], $destDir.'/'.$fichier_destination)
4 - on reparlera de upload_essai.php plus tard. Disons que si tu crois qu'une variable contient quelque chose parce que ça t'arrangerait bien, il va falloir reprendre l'apprentissage du PHP à partir de zéro.
Diedouch
Messages postés
9
Date d'inscription
samedi 21 décembre 2013
Statut
Membre
Dernière intervention
13 janvier 2014
30 déc. 2013 à 09:05
30 déc. 2013 à 09:05
Merci de votre réponse
Je ne crois pas que nous soyons au bout de nos peines $fichier_destination=$_Files['fichier']['name'];
semble faire une erreur undefined variable
mais je reviendrai sur le sujet.Pour le moment je sature....je ne sais plus réfléchir
en attendant ..meilleurs voeux
D.
Je ne crois pas que nous soyons au bout de nos peines $fichier_destination=$_Files['fichier']['name'];
semble faire une erreur undefined variable
mais je reviendrai sur le sujet.Pour le moment je sature....je ne sais plus réfléchir
en attendant ..meilleurs voeux
D.
J'ai tout repris à partir d'un autre manuel
Je n'ai plus aucune erreur mais aucune image ne s'affiche dans le champ intitulé mon fichier de la bdd à qui j'ai donné le type blob puis vachar
Je reprends tout Le problème est surement au niveau de la liison entre e site et la bdd
<html>
<head> </head>
<body>
<?php
if (isset($_POST ['nom']))
{
$nom=$_POST ['nom'];
$email=$_POST ['mail'];
$msg=$_POST ['Msg'];
$monfichier=$_POST['monfichier'];
$titre=$_POST ['titre'];
$telephone=$_POST ['telephone'];
$quefaire=$_POST ['quefaire'];
$ou=$_POST ['ou'];
$quoi=$_POST ['quoi'];
$Date=date("d/m/Y");
mysql_connect("localhost","root","") or die ("connection impossible au serveur");
mysql_select_db ("bresil") or die ("database inconnue");
$date=date("d/m/y");
$sql= "INSERT INTO offre values ('','".$quefaire."','".$ou."','".$quoi."','".$titre."','".$msg."','".$monfichier."','".$nom."','".$telephone."','".$email."','".$date."')";
mysql_query ($sql) or die ("erreur");
echo"enregistement réussi";
}
if (isset($_FILES['monfichier']) AND $_FILES['monfichier']['error'] == 0 AND $_FILES['monfichier']['size'] <= 4000000)
{
$infosfichier = pathinfo($_FILES['monfichier']['name']);
if (in_array($infosfichier['extension'], array('jpg', 'jpeg', 'gif', 'png')))
{
move_uploaded_file($_FILES['monfichier']['tmp_name'], 'uploads/' . basename($_FILES['monfichier']['name']));
$monfichier = 'uploads/' . basename($_FILES['monfichier']['name']);
echo "L'envoi a bien été effectué !";
}
}
//formulaire
echo'
<form action="lepere.php?contenu=contact" method="POST" enctype="multipart/form-data">
<select name="quefaire">
<option value="Demanderoffir" >Demander/offrir</option>
<option value="demander" >Je demande</option>
<option value="offrir" >J\'offre</option>
</select>
<select name="ou">
<option value="emplacement" >emplacement</option>
</select>
<select name="quoi">
<option value="demande" >demande?</option>
<select/>
<br/>
Titre:<br/><input type="text" name="titre"/><br/><br/>
Message:<br/><textarea name="Msg"></textarea><br/><br/>
Photo á joindre:<br/><input type="texte" name="monfichier"/><input type="file" name="monfichier"/><br/><br/>
Nom:<br/><input type="text" name="nom"/><br/><br/>
Telephone:<br/><input type="value" name="telephone"/><br/><br/>
E-mail:<br/><input type="text" name="mail"/><br/><br/>
<input type="submit" name="valider" value="OK"/>
</form>
';
Je n'ai plus aucune erreur mais aucune image ne s'affiche dans le champ intitulé mon fichier de la bdd à qui j'ai donné le type blob puis vachar
Je reprends tout Le problème est surement au niveau de la liison entre e site et la bdd
<html>
<head> </head>
<body>
<?php
if (isset($_POST ['nom']))
{
$nom=$_POST ['nom'];
$email=$_POST ['mail'];
$msg=$_POST ['Msg'];
$monfichier=$_POST['monfichier'];
$titre=$_POST ['titre'];
$telephone=$_POST ['telephone'];
$quefaire=$_POST ['quefaire'];
$ou=$_POST ['ou'];
$quoi=$_POST ['quoi'];
$Date=date("d/m/Y");
mysql_connect("localhost","root","") or die ("connection impossible au serveur");
mysql_select_db ("bresil") or die ("database inconnue");
$date=date("d/m/y");
$sql= "INSERT INTO offre values ('','".$quefaire."','".$ou."','".$quoi."','".$titre."','".$msg."','".$monfichier."','".$nom."','".$telephone."','".$email."','".$date."')";
mysql_query ($sql) or die ("erreur");
echo"enregistement réussi";
}
if (isset($_FILES['monfichier']) AND $_FILES['monfichier']['error'] == 0 AND $_FILES['monfichier']['size'] <= 4000000)
{
$infosfichier = pathinfo($_FILES['monfichier']['name']);
if (in_array($infosfichier['extension'], array('jpg', 'jpeg', 'gif', 'png')))
{
move_uploaded_file($_FILES['monfichier']['tmp_name'], 'uploads/' . basename($_FILES['monfichier']['name']));
$monfichier = 'uploads/' . basename($_FILES['monfichier']['name']);
echo "L'envoi a bien été effectué !";
}
}
//formulaire
echo'
<form action="lepere.php?contenu=contact" method="POST" enctype="multipart/form-data">
<select name="quefaire">
<option value="Demanderoffir" >Demander/offrir</option>
<option value="demander" >Je demande</option>
<option value="offrir" >J\'offre</option>
</select>
<select name="ou">
<option value="emplacement" >emplacement</option>
</select>
<select name="quoi">
<option value="demande" >demande?</option>
<select/>
<br/>
Titre:<br/><input type="text" name="titre"/><br/><br/>
Message:<br/><textarea name="Msg"></textarea><br/><br/>
Photo á joindre:<br/><input type="texte" name="monfichier"/><input type="file" name="monfichier"/><br/><br/>
Nom:<br/><input type="text" name="nom"/><br/><br/>
Telephone:<br/><input type="value" name="telephone"/><br/><br/>
E-mail:<br/><input type="text" name="mail"/><br/><br/>
<input type="submit" name="valider" value="OK"/>
</form>
';
Diedouch
Messages postés
9
Date d'inscription
samedi 21 décembre 2013
Statut
Membre
Dernière intervention
13 janvier 2014
3 janv. 2014 à 08:47
3 janv. 2014 à 08:47
La réponse est simple malgré vos indications , je n'arrivai pas au résultat .Il y avait toujours des erreurs
Maintenant je n'ai plus d'erreur mais néanmoins pas de fichier photo dans la bdd.
En recopiant ce que j'ai écrit sur notepad vous pouvez arriver au même résultat que moi et tester vos propositions
Ce qui m 'intéresse c'est le resultat final et donc la solution .Vos indications ne sont pas pour moi suffisantes. Je ne suis pas informaticien.j'ai commencé la programmation il y a moins d'un mois
Donc Merci de me donner la solution si vous la connaissez.
D.
Maintenant je n'ai plus d'erreur mais néanmoins pas de fichier photo dans la bdd.
En recopiant ce que j'ai écrit sur notepad vous pouvez arriver au même résultat que moi et tester vos propositions
Ce qui m 'intéresse c'est le resultat final et donc la solution .Vos indications ne sont pas pour moi suffisantes. Je ne suis pas informaticien.j'ai commencé la programmation il y a moins d'un mois
Donc Merci de me donner la solution si vous la connaissez.
D.
Utilisateur anonyme
3 janv. 2014 à 10:05
3 janv. 2014 à 10:05
Maintenant je n'ai plus d'erreur mais néanmoins pas de fichier photo dans la bdd.
C'est donc pire : avant, tu avais des indications pour te dire ce qui ne marchait pas, maintenant, tu n'en as plus ! Ce n'est pas un progrès, c'est de la marche arrière.
vous pouvez ... tester vos propositions . Toutes les propositions que je t'ai faites étaient parfaitement exactes et justifiées. Je t'ai donné les justifications, mais j'ai l'impression qu'elles ne t'ont pas intéressé.
Donc Merci de me donner la solution si vous la connaissez Je ne donne pas de programme tout fait. Ici, c'est un forum d'entraide : je veux bien t'aider, pas faire ton travail. J'avais commencé en t'expliquant tes erreurs, mais si tu changes complètement de solution, ça veut dire que ce que je t'ai dit avant, je l'ai fait en pure perte : la preuve, tu as recommencé la même erreur de majuscules / minuscules. Si tu veux une solution toute faite, je ne suis pas la personne qui te convient : re-pose ton sujet, tu trouveras peut-être ton bonheur. Bonne chance.
C'est donc pire : avant, tu avais des indications pour te dire ce qui ne marchait pas, maintenant, tu n'en as plus ! Ce n'est pas un progrès, c'est de la marche arrière.
vous pouvez ... tester vos propositions . Toutes les propositions que je t'ai faites étaient parfaitement exactes et justifiées. Je t'ai donné les justifications, mais j'ai l'impression qu'elles ne t'ont pas intéressé.
Donc Merci de me donner la solution si vous la connaissez Je ne donne pas de programme tout fait. Ici, c'est un forum d'entraide : je veux bien t'aider, pas faire ton travail. J'avais commencé en t'expliquant tes erreurs, mais si tu changes complètement de solution, ça veut dire que ce que je t'ai dit avant, je l'ai fait en pure perte : la preuve, tu as recommencé la même erreur de majuscules / minuscules. Si tu veux une solution toute faite, je ne suis pas la personne qui te convient : re-pose ton sujet, tu trouveras peut-être ton bonheur. Bonne chance.