Aide - Recherche - Membres - Calendrier
Version complète : Probléme D'upload D'image
La Communauté TitaXium > Service Communication > Espace Developpement
Nate
Salut salut !

Désole de vous embêter, mais la je sait pas se qui va pas, après avoir lu, re-lu, re fait ... sa marche pas. blink.gif
C'est un formulaire d'upload qui se trouve dans un espace d'admin.
Il doit uploader l'image dans ../photoart/, et qui ajoute l'url de l'image dans la BDD.

Voila le code du formulaire :
Code
<?
//session_start(); // Déjà démarrer dans home.php

require "conf.php3"; //Comme d'ab
mysql_connect("$sql_serveur","$sql_login","$sql_pass");
mysql_select_db("$sql_bdd"); //Comme d'ab

if (isset($_SESSION['pseudo']))
{
$pseudo = $_SESSION['pseudo'];
$recherche1 = mysql_query("SELECT * FROM lg63_membres WHERE pseudo='$pseudo'") or die (mysql_error());
$sql = mysql_fetch_array($recherche1) or die (mysql_error());

    if ($_SESSION['mdp'] = $sql['mdp'])
    {

?>

<link href="img/style.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
.Style1 {    font-size: 18px;
    color: #0099FF;
}
-->
</style>

<div align="center" class="text1">
  <p class="text1"><br>
    <span class="titre_rubrique">Ajouter une photo à l'accueil<br />
    </span>
    <br />
    <span class="text2">Si vous voulez ajouter une image à l'accueil, cochez "Ajouter" et parcourez votre disc-dur vers la photo voulue, puis cliquez sur "Ajouter/Supprimer".<br />
    Si l'article contenait déjà une image, celle-ci sera remplacée par la nouvelle.<br>
    <br>
    Si vous voulez supprimer une image, cochez "Supprimer" et cliquez sur "Ajouter/Supprimer".<br />
    <br />
    <a href="home.php?page=accueil">> Retour à l'accueil de l'admin </a><br>
</span>    </p>
  <form method="post" action="home.php?page=ajph_accueil2" enctype="multipart/form-data">
    <table width="350" align="center" border="0" cellspacing="0">
      <tr height="50">
        <td width="100%"></td>
      </tr>
      <tr height="20">
        <td></td>
      </tr>
      <tr>
        <td align="center"> <span class="text_small">Ajouter </span><span class="Style1">
          <label>
          <input name="aj_sp" type="radio" value="aj" checked />
          </label>
          <br />
          <input name="fichier" type="file" />
          
        </span></td>
      </tr>
      <tr>
        <td align="center" valign="middle" class="text_small">Supprimer
          <label>
          <input type="radio" name="aj_sp" value="sp" />
        </label></td>
      </tr>
      <tr>
        <td align="center"><span class="Style1">
          <input name="Submit" type="submit" value="Ajouter/Supprimer" />
        </span></td>
      </tr>
      <tr>
        <td align="center"> </td>
      </tr>
    </table>
  </form>
  </p>
  <p class="text1"><br>
    
</div>


<?
    } //on ferme la condition de mots de passe
    else
    {
?>

<script language="JavaScript">

setTimeout("window.location='home.php?page=connexion1'",0); // delai en millisecondes

</script>

<?
    }
}
else
{
?>

<script language="JavaScript">

setTimeout("window.location='home.php?page=connexion1'",0); // delai en millisecondes

</script>

<?
}
?>


Le code de traitement :

Code
<?
//session_start(); // Déjà démarrer dans home.php

require "conf.php3"; //Comme d'ab
mysql_connect("$sql_serveur","$sql_login","$sql_pass");
mysql_select_db("$sql_bdd"); //Comme d'ab

if (isset($_SESSION['pseudo']))//Controle de l'utilisateur
{
$pseudo = $_SESSION['pseudo'];
$recherche1 = mysql_query("SELECT * FROM lg63_membres WHERE pseudo='$pseudo'") or die (mysql_error());
$sql = mysql_fetch_array($recherche1) or die (mysql_error());

    if ($_SESSION['mdp'] = $sql['mdp'])//Si le mdp de session = celui BDD, on continue
    {
    $file = $_POST['file'];    
?>

<div align="center" class="text1">
  <p class="text1"><br>
    <span class="titre_rubrique">Ajouter une photo à l'accueil<br />
    </span>
    <br />
    <?
    
    
if ($_POST['aj_sp'] == "sp")//Si aj_sp = sp, on supr l'url de la BBD = pas d'image.
{
mysql_query("UPDATE lg63_msgaccueil SET `img`='' WHERE id='1'");
echo("<font class='txt'><b>[ Photo Supprimée ! ]</b></font><br><br>");
}
else //si non, on upload la nvel img
{
    $content_dir = '../photoart'; // dossier où sera déplacé le fichier

    $tmp_file = $_FILES['fichier']['tmp_name'];

    if( !is_uploaded_file($tmp_file) )
    {
        echo ("Une erreur est survenue durant la phase d'upload (post). Veillez re-essayer ou contacter le WebMaster<br>
    <a href='java script:history.back(1)'>Retour au formulaire</a></b></font>");
    }
    else
    {
        // on vérifie maintenant l'extension
        $type_file = $_FILES['fichier']['type'];

        if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') )
        {
        echo("Le type de fichier n'est pas autorisé (autorisé : jpg, jpeg, bmp, gif)<br>
    <a href='java script:history.back(1)'>Retour au formulaire</a></b></font>");
        }
        else
        {
        // on copie le fichier dans le dossier de destination
        $name_file = $_FILES['fichier']['name'];

            if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )
            {
            echo("Une erreur est survenue durant la phase d'upload (copie). Veillez re-essayer ou contacter le WebMaster<br>
    <a href='java script:history.back(1)'>Retour au formulaire</a></b></font>");
            }
            else
            {
            echo("<font class='txt'><b>[ Photo ajoutée ]</b></font><br><br>");
            echo("<img src='../photoart/$name_file' width='300' alt='$pseudo'>");
            
            $query = "UPDATE lg63_msgaccueil SET `img`='../photoart/$name_file' WHERE id='1'";
            mysql_query($query);
            }//copie
        }//type
    }//upload
}//aj_sp

?>
    
    <br>
    <br>
    <a href="home.php?page=accueil" class="text2">> Retour à l'accueil de l'admin </a>
  <p class="text1"><br>
    
  </div>

<?
    } //on ferme la condition de mots de passe
    else
    {
?>

<script language="JavaScript">

setTimeout("window.location='home.php?page=connexion1'",0); // delai en millisecondes

</script>

<?
    }
}
else
{
?>

<script language="JavaScript">

setTimeout("window.location='home.php?page=connexion1'",0); // delai en millisecondes

</script>

<?
}
?>


Voilà ! J'espère avoir étais clair ... et pas avoir fait trop de fotes d'ortograffe ....
D'avance merki !
Mdz
Une question toute bête, as tu modifié les droits d'acces ? (chmod)
Nate
Oui, j'y ait pensé et essayé (sur le répertoire de destination, le script ...), en chmod 777, mais ça n'a rien changé.
De plus, j'utilise déjà ce script sur 2 autres de mes sites sur le même serveur, et il marche.

Je voit pas bien d'où ça vien ... Peu être de l'include ? Voilà le code de la page d'include :

Code
<?
session_start();
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>lesGargouilles63.com : Clermont is Magic</title>
<style type="text/css">
<!--
@import url("img/style.css");
body {
    background-repeat: repeat-x;
    background-image: url(img/font.jpg);
    margin-top: 0px;
}

-->
</style>
<script type="text/JavaScript">
<!--
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_nbGroup(event, grpName) { //v6.0
  var i,img,nbArr,args=MM_nbGroup.arguments;
  if (event == "init" && args.length > 2) {
    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
      nbArr[nbArr.length] = img;
      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
        if (!img.MM_up) img.MM_up = img.src;
        img.src = img.MM_dn = args[i+1];
        nbArr[nbArr.length] = img;
    } }
  } else if (event == "over") {
    document.MM_nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
      nbArr[nbArr.length] = img;
    }
  } else if (event == "out" ) {
    for (i=0; i < document.MM_nbOver.length; i++) {
      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
  } else if (event == "down") {
    nbArr = document[grpName];
    if (nbArr)
      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
      nbArr[nbArr.length] = img;
  } }
}
//-->
</script>
</head>

<body onload="MM_preloadImages('img/btn/accueil_bas.jpg','img/btn/accueil_haut.jpg','img/btn/trombi_bas.jpg','img/btn/trombi_haut.jpg','img/btn/news_bas.jpg','img/btn/news_haut.jpg','img/btn/hockey_haut.jpg','img/btn/galphoto_haut.jpg','img/btn/galphoto_bas.jpg','img/btn/galvid_haut.jpg','img/btn/galvid_bas.jpg','img/btn/liens_haut.jpg','img/btn/liens_bas.jpg','img/btn/contact_haut.jpg','img/btn/contact_bas.jpg','img/btn/hockey_bas.jpg','img/btn/hokey_haut.jpg')">
<table width="740" border="0" align="center" cellpadding="0" cellspacing="0" id="cadre1">
  <tr>
    <td align="center" valign="top"><img src="img/ban_haut.jpg" width="740" height="48" /></td>
  </tr>
  <tr>
    <td align="center" valign="top"><img src="img/ban.jpg" width="709" height="181" /></td>
  </tr>
  <tr>
    <td align="center" valign="top"><img src="img/ban_bas.jpg" width="712" height="22" /></td>
  </tr>
  <tr>
    <td align="center" valign="top"><table width="703" border="0" cellspacing="0" cellpadding="0">
      
      <tr>
        <td width="137" align="center" valign="top" background="img/font_menus.jpg"><div align="center">
        <a href="home.php?page=accueil" target="_top"
            onclick="MM_nbGroup('down','group1','Accueil','img/btn/accueil_bas.jpg',1)"         
            onmouseover="MM_nbGroup('over','Accueil','img/btn/accueil_haut.jpg','img/btn/accueil_haut.jpg',1)"
            onmouseout="MM_nbGroup('out')"><img src="img/btn/accueil_bas.jpg" alt="Accueil du site" name="Accueil" height="20" border="0" id="Accueil" onload="" /></a><br />
        
        <a href="home.php?page=trombi" target="_top"
            onclick="MM_nbGroup('down','group1','Trombinoscope','img/btn/trombi_bas.jpg',1)"                 
            onmouseover="MM_nbGroup('over','Trombinoscope','img/btn/trombi_haut.jpg','img/btn/trombi_haut.jpg',1)"
            onmouseout="MM_nbGroup('out')"><img src="img/btn/trombi_bas.jpg" alt="Tombinoscope" name="Trombinoscope" height="20" border="0" id="Trombinoscope" onload="" /></a><br />
        
        <a href="home.php?page=news" target="_top"
            onclick="MM_nbGroup('down','group1','News','img/btn/news_bas.jpg',1)"
            onmouseover="MM_nbGroup('over','News','img/btn/news_haut.jpg','img/btn/news_haut.jpg',1)"
            onmouseout="MM_nbGroup('out')"><img src="img/btn/news_bas.jpg" alt="News/Blog" name="News" height="20" border="0" id="News" onload="" /></a>            
        
        <a href="home.php?page=hokey" target="_top"
            onClick="MM_nbGroup('down','group1','Hokey','img/btn/hockey_bas.jpg',1)"
            onMouseOver="MM_nbGroup('over','Hokey','img/btn/hockey_haut.jpg','img/btn/hokey_haut.jpg',1)"
            onMouseOut="MM_nbGroup('out')"><img name="Hokey" src="img/btn/hockey_bas.jpg" border="0" alt="News sur nos parties" onLoad="" /></a>  
        <a href="home.php?page=gal_photo" target="_top"
            onClick="MM_nbGroup('down','group1','Photos','img/btn/galphoto_bas.jpg',1)"
            onMouseOver="MM_nbGroup('over','Photos','img/btn/galphoto_haut.jpg','img/btn/galphoto_haut.jpg',1)"
            onMouseOut="MM_nbGroup('out')"><img name="Photos" src="img/btn/galphoto_bas.jpg" border="0" alt="Nos photos" onLoad="" /></a>        
        <a href="home.php?page=gal_video" target="_top"
            onClick="MM_nbGroup('down','group1','Videos','img/btn/galvid_bas.jpg',1)"
            onMouseOver="MM_nbGroup('over','Videos','img/btn/galvid_haut.jpg','img/btn/galvid_haut.jpg',1)"
            onMouseOut="MM_nbGroup('out')"><img name="Videos" src="img/btn/galvid_bas.jpg" border="0" alt="Videos" onLoad="" /></a>            
        <a href="home.php?page=liens" target="_top"
            onClick="MM_nbGroup('down','group1','Liens','img/btn/liens_bas.jpg',1)"
            onMouseOver="MM_nbGroup('over','Liens','img/btn/liens_haut.jpg','img/btn/liens_haut.jpg',1)"
            onMouseOut="MM_nbGroup('out')"><img name="Liens" src="img/btn/liens_bas.jpg" border="0" alt="Liens" onLoad="" /></a>            
        <a href="home.php?page=contact" target="_top"
            onClick="MM_nbGroup('down','group1','Contact','img/btn/contact_bas.jpg',1)"
            onMouseOver="MM_nbGroup('over','Contact','img/btn/contact_haut.jpg','img/btn/contact_haut.jpg',1)"
            onMouseOut="MM_nbGroup('out')"><img src="img/btn/contact_bas.jpg" alt="Contact" name="Contact" border="0" onLoad="" /></a></div></td>
        <td width="10">&nbsp;</td>
        <td width="409" align="center" valign="top" background="img/font_corps.jpg"><table width="380" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td align="left" valign="top"><? // Debut du script d'include par url
      
        if ( !isset($_GET['page']) ) $page = 'accueil'; else $page = addslashes($_GET['page']);
        if ( file_exists('./'.$page.'.php') ) include_once('./'.$page.'.php');
        else include_once('404.php');
          
          ?></td>
          </tr>
        </table>
          <p align="center">&nbsp;</p>
          <p>&nbsp;</p></td>
        <td width="10">&nbsp;</td>
        <td width="137" align="left" valign="top" background="img/font_menus.jpg">&nbsp;</td>
      </tr>
    </table></td>
  </tr>
  <tr>
    <td align="center" valign="top">&nbsp;</td>
  </tr>
</table>
</body>
</html>


Voilà voilà ... Jsait pu ...
Bojack
Tu mets trop de code inutile, si tu veux avoir de l'aide, essaye de ne pas décourager ceux qui te lisent. Dans le premier fichier tu pouvait simplement donner la partie du <form> qui est concernée et dans le second, laisser uniquement le traitement.

Autre chose : tu ne dis pas quel est le comportement actuel du script. Erreur, Validation (mais pas d'image ni d'url en BDD), etc ... Ce genre d'informations permet de pouvoir te donner une réponse plus rapidement.

Bon courage wink.gif.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2010 Invision Power Services, Inc.