Bjr,
Je lance un sos, j'essaie d'afficher une image de ma base de donnée, je l'upload bien dans un dossier sur le serveur mais le lien dans la base n'affiche pas le lien de l'image, mais plutot un "Array".
Quelqu'un peut m'aider à ce niveau svp.
Merci Taguan,
c'est justement à ce niveau que je coince un peu, comment faire pour inserer le lien de l'image dans ma base de donnée; le champ dans la BD doit être de quel type? VACHAR, LONGBLOD, ...
Lorque tu l'uploade, tu utilise moce_uploaded_file pour le mettre où tu veux sur ton serveur. Donc pour mettre le lien tu reprend ce que tu as mis dans move_uploaded_file.
Et la colonne devrait être un VARCHAR ( VARCHAR(100) est sans doute suffisant, mais ça dépend aussi du nom que tu donnes aux fichiers uploadés)
Haï, j'ai oublié de preciser au debut que je suis un novice en PHP, stp je te fais parvenir mais code et ainsi tu pourras mieux regarder et peux être detecter l'erreur, je parvien bien à l'uploader dans un dossier sur le serveur mais l'adresse ne rentre pas dans la BD:
Voici les code de l'ajout à la BD :
<?php
include ('config.php');
if (isset($_POST['pseudo']) AND isset($_POST['titre']) AND isset($_POST['intro_news']) AND isset($_POST['news']) AND isset($_FILES['monfichier']) AND $_FILES['monfichier']['error'] == 0)
{
$pseudo = htmlentities($_POST['pseudo']);
$titre = htmlentities($_POST['titre']);
$intro_news = mysql_real_escape_string(stripslashes($_POST['intro_news']));
$news = mysql_real_escape_string(stripslashes($_POST['news']));
$monfichier = htmlentities($_POST['monfichier']);
$news = nl2br($news);
// Testons si le fichier n'est pas trop gros
if ($_FILES['monfichier']['size'] <= 1000000)
{
// Testons si l'extension est autorisée
$monfichier = pathinfo($_FILES['monfichier']['name']);
$extension_upload = $monfichier['extension'];
$extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
if (in_array($extension_upload, $extensions_autorisees))
{
// On peut valider le fichier et le stocker définitivement
move_uploaded_file($_FILES['monfichier']['tmp_name'], 'upload/' . basename($_FILES['monfichier']['name']));
echo "L'envoi a bien été effectué !";
}
}
if (empty($pseudo))
{
echo ("Saisissez la date svp");
exit();
}
if (empty($titre))
{
echo ("Le titre ne peut être vide");
exit();
}
if (empty($intro_news))
{
echo ("Saisissez une introduction pour l'information svp");
exit();
}
if (empty($news))
{
echo ("Saisissez une actualité pour le site");
exit();
}
mysql_query ("Insert INTO news VALUES ('', ' " .$pseudo. " ', ' " .$titre. " ', ' " .$intro_news. " ', ' " .$news. " ', ' " .$monfichier. " ')");
}
mysql_close();
echo 'Merci d\'avoir ajouter une news - Redirection automatique dans 5 secondes';
echo "<META HTTP-EQUIV='Refresh' CONTENT='5; URL=http://127.0.0.1/enam/news.php'>";
?>
J'espere qu'ainsi tu pourras mieux voir mon probleme et merci de ta patience
Honnêtement suis perdu, c'est quoi les balises de code?
stp peux tu corriger et me le renvoyer, (si c'est possible) voici aussi la structure de la table dans la BD :
Structure de la table `news`
--
CREATE TABLE IF NOT EXISTS `news` (
`id` int(11) NOT NULL auto_increment,
`pseudo` varchar(50) NOT NULL,
`titre` varchar(50) NOT NULL,
`intro_news` varchar(255) NOT NULL,
`news` longtext NOT NULL,
`monfichier` varchar(60) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=26 ;
Dernière fois que je répond tant que t'as pas mis ton code dans des balises...
Bien sûr que non... Cette question prouve que t'as pas tout compris (loin de là). Tu ferais bien de réfléchir, relire le cours, et ne pas brûler les étapes. Tu dois comprendre chaque ligne de code, chaque instructions...
<?php
include ('config.php');
if (isset($_POST['pseudo']) AND isset($_POST['titre']) AND isset($_POST['intro_news']) AND isset($_POST['news']) AND isset($_FILES['monfichier']) AND $_FILES['monfichier']['error'] == 0)
{
$pseudo = htmlentities($_POST['pseudo']);
$titre = htmlentities($_POST['titre']);
$intro_news = mysql_real_escape_string(stripslashes($_POST['intro_news']));
$news = mysql_real_escape_string(stripslashes($_POST['news']));
$monfichier = htmlentities($_POST['monfichier']);
$news = nl2br($news);
// Testons si le fichier n'est pas trop gros
if ($_FILES['monfichier']['size'] <= 1000000)
{
// Testons si l'extension est autorisée
$monfichier = pathinfo($_FILES['monfichier']['name']);
$extension_upload = $monfichier['extension'];
$extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
if (in_array($extension_upload, $extensions_autorisees))
{
// On peut valider le fichier et le stocker définitivement
move_uploaded_file($_FILES['monfichier']['tmp_name'], 'upload/' . basename($_FILES['monfichier']['name']));
echo "L'envoi a bien été effectué !";
}
}
if (empty($pseudo))
{
echo ("Saisissez la date svp");
exit();
}
if (empty($titre))
{
echo ("Le titre ne peut être vide");
exit();
}
if (empty($intro_news))
{
echo ("Saisissez une introduction pour l'information svp");
exit();
}
if (empty($news))
{
echo ("Saisissez une actualité pour le site");
exit();
}
mysql_query ("Insert INTO news VALUES ('', ' " .$pseudo. " ', ' " .$titre. " ', ' " .$intro_news. " ', ' " .$news. " ', ' " .$monfichier. " ')");
}
mysql_close();
echo 'Merci d\'avoir ajouter une news - Redirection automatique dans 5 secondes';
echo "<META HTTP-EQUIV='Refresh' CONTENT='5; URL=http://127.0.0.1/enam/news.php'>";
?>
Afficher une image d'une base de donnée
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Tutoriel complet MySQL !
Tutoriel complet MySQL !
Tutoriel complet MySQL !
Tutoriel complet MySQL !
Tutoriel complet MySQL !
Tutoriel complet MySQL !