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

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Inserer un enregistrement d'une image en tant que lien/MYSQL

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

par PAB78430 » 24 nov. 2011, 19:45

C'est bon j'ai trouvé :D .

Merci beaucoup encore une fois.

P@B

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

par PAB78430 » 24 nov. 2011, 19:34

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

par Mazarini » 24 nov. 2011, 17:23

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"

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

par PAB78430 » 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:
<?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