Inserer un enregistrement d'une image en tant que lien/MYSQL
Posté : 24 nov. 2011, 16:10
Bonjour,
J'ai codé un petit script permettant d' uploader une image en 2 exemplaire. En taille d'origine et en taille Miniature.
Mon code marche Pour l' upload, mais des que je veut l' insérer en tant que lien sur la bdd, il me sors une erreur.
Notice: Undefined variable: bdd in C:\Site\Ar2600 V2\partie_admin\ajout_news_up.php on line 71
Fatal error: Call to a member function prepare() on a non-object in C:\Site\Ar2600 V2\partie_admin\ajout_news_up.php on line 71
Mon code PHP:
Merci beaucoup d'avance de votre aide.
P@B
J'ai codé un petit script permettant d' uploader une image en 2 exemplaire. En taille d'origine et en taille Miniature.
Mon code marche Pour l' upload, mais des que je veut l' insérer en tant que lien sur la bdd, il me sors une erreur.
Notice: Undefined variable: bdd in C:\Site\Ar2600 V2\partie_admin\ajout_news_up.php on line 71
Fatal error: Call to a member function prepare() on a non-object in C:\Site\Ar2600 V2\partie_admin\ajout_news_up.php on line 71
Mon code PHP:
<?php
if(!empty($_FILES))
{
$avatar = $_FILES['avatar'];
$avatar_name = $avatar['name'];
$ext = strtolower(substr(strrchr($avatar_name, '.'),1));
$ext_auth = array('jpg','jpeg','png','gif');
function check_extension($ext,$ext_auth)
{
if(in_array($ext,$ext_auth))
{
return true;
}
}
$valid = (!check_extension($ext,$ext_auth)) ? FALSE : TRUE;
$erreur = (!check_extension($ext,$ext_auth)) ? 'Veuillez charger une image' : '';
if($valid)
{
$max_size = 20000000;
if($avatar['size']>$max_size)
{
$valid = false;
$erreur = 'Fichier trop gros';
}
}
if($valid)
{
if($avatar['error']>0)
{
$valid = false;
$erreur = 'Erreur lors du transfert';
}
}
if($valid)
{
$path_to_image = 'news_photo/images/fullsize/';
$path_to_min = 'news_photo/images/min/';
$filename = sha1(uniqid($avatar_name));
$source = $avatar['tmp_name'];
$target = $path_to_image . $filename. '.'. $ext;
move_uploaded_file($source,$target);
if($ext == 'jpg' || $ext == 'jpeg') {$im = imagecreatefromjpeg($path_to_image.$filename. '.'.$ext);}
if($ext == 'png') {$im = imagecreatefrompng($path_to_image.$filename. '.'.$ext);}
if($ext == 'gif') {$im = imagecreatefromgif($path_to_image.$filename. '.'.$ext);}
$ox = imagesx($im);
$oy = imagesy($im);
$nx = 150;
$ny = floor($oy *($nx/$ox));
$nm = imagecreatetruecolor($nx,$ny);
imagecopyresized($nm, $im, 0, 0, 0, 0, $nx, $ny, $ox, $oy);
imagejpeg($nm, $path_to_min.$filename.'.'.$ext);
$nom_image = $filename.'.'.$ext;
$req = $bdd->prepare('INSERT INTO upload(nom) VALUES(:nom)');
$req->execute(array('nom'=>$nom_image));
$req->closeCursor();
}
}
?>
Mon code Html du formulaire:
<form id="form1" name="form1" enctype="multipart/form-data" method="POST" action="<?php echo $editFormAction; ?>">
<table width="850">
<tr>
<td width="306" height="35"><div align="right">Titre de la news :</div></td>
<td width="532"><span id="sprytextfield2">
<input name="ch_news_titre2" type="text" id="ch_news_titre3" />
<span class="textfieldMaxCharsMsg">Le nombre maximum de caractères a été dépassé.</span></span></td>
</tr>
<tr>
<td height="67"><label for="ch_apercu_texte3">
<div align="right">Apercu du Texte :</div>
</label>
<div align="right"></div></td>
<td><span id="sprytextarea3">
<textarea name="ch_apercu_texte2" id="ch_apercu_texte2" cols="45" rows="2"></textarea>
<span class="textareaMaxCharsMsg"></span></span></td>
</tr>
<tr>
<td><label for="ch_news_texte3">
<div align="right">Texte de la News :</div>
</label>
<div align="right"></div></td>
<td><span id="sprytextarea">
<textarea name="ch_news_texte2" id="ch_news_texte2" cols="45" rows="5"></textarea>
</span></td>
</tr>
<tr>
<td colspan="2"><div align="center"><span id="sprycheckbox">
<input name="ch_news_etat" type="checkbox" id="ch_news_etat" checked="checked" />
<label for="ch_news_etat">Activation de la news</label>
</span></div></td>
</tr>
<tr>
<td colspan="2"><div align="center"> Charger une Image :
<input type="file" name="avatar" />
<div class="success"></div>
<div class="error"></div>
</div></td>
</tr>
<tr>
<td height="58" colspan="2"><div align="center">
<div align="center">
<input type="submit" name="ch_news_envoi" id="ch_news_envoi" value="Créer la News" />
</div>
</div></td>
</tr>
</table>
<input type="hidden" name="MM_insert" value="form1" />
</form>
Je vois pas ou est mon erreur. Je commence a m'arracher les cheveux sur ce code.Merci beaucoup d'avance de votre aide.
P@B