Page 1 sur 1

Inserer un enregistrement d'une image en tant que lien/MYSQL

Posté : 24 nov. 2011, 16:10
par PAB78430
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:
<?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

Re: Inserer un enregistrement d'une image en tant que lien/M

Posté : 24 nov. 2011, 17:23
par Mazarini
Bonjour,

La variable $bdd (ligne 71) n'est jamais renseignée dans ton script d'ou le "notice".
En particulier $bdd n'est donc pas un objet d'ou le "fatal"

Re: Inserer un enregistrement d'une image en tant que lien/M

Posté : 24 nov. 2011, 19:34
par PAB78430
Re-Bonjour,

Merci de votre reponse rapide,
Que dois-je changer pour que ca marche ??
Excusez de mon ignorance, je suis novice.

Merci

P@B

Re: Inserer un enregistrement d'une image en tant que lien/M

Posté : 24 nov. 2011, 19:45
par PAB78430
C'est bon j'ai trouvé :D .

Merci beaucoup encore une fois.

P@B