Inséré des images

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 : Inséré des images

Re: Inséré des images

par xTG » 09 févr. 2015, 13:50

Ou bien passer la variable en argument de la fonction.

Re: Inséré des images

par tof73 » 09 févr. 2015, 01:42

il faut rajouter
global $bdd;
avant d'utiliser $bdd dans une fonction

Re: Inséré des images

par BuddyLove » 09 févr. 2015, 00:09

J'ai pas trés bien compris..!

Re: Inséré des images

par BuddyLove » 09 févr. 2015, 00:03

Je vais voir sa, merci ! :)

Re: Inséré des images

par xTG » 08 févr. 2015, 23:37

$bdd est définie (je suppose par ton include) mais pas dans le scope de la fonction.

Voilà de quoi t'aider à comprendre :
$variable = "test";

// Ce qui ne fonctionnera pas
function maFonction()
{
   echo $variable; // undefined variable
}
maFonction();

// solution 1
function maFonction2()
{
   global $variable; // indique le scope où aller chercher la variable
   echo $variable; // affiche test
}
maFonction2();

// solution 2
function maFonction3($variable)
{
   echo $variable; // affiche test
}

maFonction3($variable);

Re: Inséré des images

par BuddyLove » 08 févr. 2015, 22:48

Salut et merci de la réponse !

Voici les messages d'erreurs :

Strict Standards: Only variables should be passed by reference in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\pages\update_avatar.php on line 16

Notice: Undefined variable: bdd in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\pages\update_avatar.func.php on line 9

Fatal error: Call to a member function prepare() on a non-object in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\pages\update_avatar.func.php on line 9

Re: Inséré des images

par @rthur » 08 févr. 2015, 22:46

Quel est le message d'erreur ?

Inséré des images

par BuddyLove » 08 févr. 2015, 22:21

Salut tous le monde ! J'esaye de faire en sorte a ce que les utilisateurs puissent changer leurs avatar ! J'ai une erreur dans mon code je ne voie pas d'ou elle proviens ! Quelqu'un a une idée ?

La page qui permet de modifié l'image :
<?php
include('function_membre.php');
include('header.php');
include('menus.php');
include('update_avatar.func.php');
?>
<h3>Changer votre image de profil</h3>
<?php
if(isset($_POST['submit']))
{
	$avatar=$_FILES['avatar']['name'];
	$avatar_tmp = $_FILES['avatar']['tmp_name'];
	if(!empty($avatar))
	{
		$image_ext=strtolower(end(explode('.',$avatar)));
		if(in_array($image_ext,array('jpg','jpeg','png','gif')))
		{
			modifier_image_profile($avatar_tmp, $avatar);
			header("location:index.php?page=membre");
		
		}else{
			echo "<div class='error'>Veuillez saisir une image valide</div>";
	}
}
}

foreach($infos as $info)
{
?>

<img src="avatar/<?php echo $info['avatar'];?>" height="100" width="100" alt="avatar">
<?php

}


?>
<form method="POST" action="" enctype='multipart/form-data'>
<input type="file" name="avatar"><br/><br/>
<input type="submit" value="Valider" name="submit">
</form>

La page qui modifie l'image :
<?php

//la function qui av changer l'image du profile
include('connect.php');
function modifier_image_profile($avatar_tmp, $avatar)
{

move_uploaded_file($avatar_tmp, 'avatar/'.$avatar);
$update = $bdd->prepare('UPDATE `utilisateurs` SET `avatar`=:avatar WHERE pseudo=:pseudo');
                        $update->execute(array(':avatar' => $_FILES['avatar']['name'],
												':pseudo' => $_SESSION['pseudo']));

}
?>