Soucis input file qui marche pas

payetonju Messages postés 436 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 2 juillet 2014 - 8 janv. 2010 à 13:06
payetonju Messages postés 436 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 2 juillet 2014 - 8 janv. 2010 à 13:53
Bonjour, je suis assez embeté, mon input file ne marche pas, il ne me renvoit rien, je me prends al tete depuis ce matin, je comprends pas ce qu'il se passe, est ce que quelqu'un peu m'aider svp ?

voici ma page :

<?php
include_once('fonctions-systemes.php');
include_once('constantes.php');
if( !isset( $_SESSION['login'] ) )
{
  header("location:/index.php");
  exit();
}
$SessionLogin =  $_SESSION['login'];

$Conn = mysql_connect($host,$user,$pwd);
mysql_select_db($bdd,$Conn) or die ("ERREUR");
$sql "select EXTENSION from utilisateurs where LOGIN '".$SessionLogin."' ";
$res = mysql_query($sql) or die('Erreur SQL ! 
'.$sql.'
'.mysql_error());
$NumRows = mysql_num_rows($res);
while($data = mysql_fetch_assoc($res))
{
  $ExtensionBase = $data['EXTENSION'];
}
mysql_close($Conn);
echo "9
";
if( $_FILES['inser']  )
{
  echo "0
";
  if( $_FILES['inser']['name'] != "" )
  {
    echo "1
";
    $NomPhoto = $_FILES['inser']['name'];
    // renvoi 'image/gif'  ... donc on prend 'image' et si les 5 premiers caracteres du type ne forment pas "image" c'est que ce n'est pas une image
    if(substr($_FILES['inser']['type'],0,5) != 'image')
    {
      $ErreurPhoto = "
Format de photo non supporté ! ";
      break;
    }
    elseif($_FILES['inser']['size'] > '50000')
    {
      $SizeEnTropKo = ($_FILES['inser']['size'] - 50000)/1024;
      $SizeEnTropKo = sprintf('%.02f',$SizeEnTropKo);
      $TailleKo = $_FILES['inser']['size']/1024;
      $TailleKo = sprintf('%.02f',$TailleKo);
      $ErreurPhoto = "
Taille trop importante, tu es ".$SizeEnTropKo."Ko en trop. [".$TailleKo."Ko]";
      break;
    }
    else
    {
      // on remplace certains caractères spéciaux par leur correspondant en ASCII - Caractère normal autorisé pour l'enregistrement correct du fichier
      $NomPhoto = strtr($NomPhoto, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');

      //on remplace chacun de ces caractères par '_'
      $NomPhoto = preg_replace('/([^.a-z0-9]+)/i', '_', $NomPhoto);

      // on remplace les espaces que peuvent contenir les fichiers par '_'
      $NomPhoto = str_replace(" ", "_", $NomPhoto );

      $CheminPhoto = "../".$CheminMembres.$PostLogin."/";

      if(!is_dir($CheminPhoto)) 
      {
        mkdir($CheminPhoto);
      }

     //Copie dans le repertoire du script
      if(move_uploaded_file($_FILES["inser"]["tmp_name"], $CheminPhoto.$NomPhoto))
      {
        $ElementsPhoto = pathinfo($NomPhoto);
        $Extension = $ElementsPhoto['extension'];
        rename($CheminPhoto.$NomPhoto, $CheminPhoto."profil.".$Extension);
      }
      else
      {
        echo "Le fichier n'a pas été uploadé (trop gros ?) ou ". "Le déplacement du fichier temporaire a échoué" - " ";
        echo "vérifiez l'existence du répertoire ".$CheminPhoto."";
      }
      $Conn = mysql_connect($host,$user,$pwd);
      mysql_select_db($bdd,$Conn) or die ("ERREUR");
      $sql "update utilisateurs set PHOTO 1, EXTENSION = '".$Extension."' ";
      $ErreurPhoto = "Photo téléchargée avec succès.";
      $Tag = "ok";
    }
  }  
  else
  {
    $ErreurPhoto = "Euh... avec une photo ça serait mieux, nan ?";
  }
}
?>
<!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" xml:lang="en"><!-- InstanceBegin template="/Templates/template.dwt.php" codeOutsideHTMLIsLocked="false" -->
<head>
<!-- InstanceBeginEditable name="doctitle" -->
<title>Modifier sa photo</title>
<!-- InstanceEndEditable -->
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link href="/includes/menu.css" rel="stylesheet" type="text/css">
<link href="/includes/style-general.css" rel="stylesheet" type="text/css">
<!-- InstanceBeginEditable name="head" -->
<!-- InstanceEndEditable -->
</head>

(CLIQUEZ-ICI
 si vous voulez etre redirigé 
vers l'ancienne page d'accueil)
<form action="/connexion.php" method="POST" name="log" id="log"><?php include_once('menu.php'); ?></form>,

----

<!-- InstanceBeginEditable name="Corps" -->
<form name="modif" id="modif" action="modif_photo.php" method="post"><center>
MODIFICATION DE TA PHOTO DE PROFIL

<table width="90%" height="235" border="0" cellpadding="0" cellspacing="0" style="font-size:13px;">
----, Modifie une photo de  toi : ( 50Ko  maxi)

(Formats conseillés : *.JPG ou *.GIF)</td>

----

<?php if( isset( $ErreurPhoto ) && $ErreurPhoto ! = "" ) echo $ErreurPhoto; ?>

<?php
if( isset( $NomPhoto ) && $NomPhoto != "" )
{
echo "Photo actuelle :

";
}
elseif( isset( $ExtensionBase ) && $ExtensionBase != "" )
{
echo "Photo actuelle :

";
}
else
{
echo "ERREUR !!!!!!";
}
?>

    </center>
    </form>
  <!-- InstanceEndEditable --></td>
  </tr>
</table>

<!-- InstanceEnd --></html>


Pour mes tests, j'ai fais un ECHO de 9, un ECHO de 0, puis un ECHO de 1, seul le 9 s'affiche mais pas le 0 ni le 1.

Merci d'avance.

Ju'

3 réponses

payetonju Messages postés 436 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 2 juillet 2014 4
8 janv. 2010 à 13:22
Apparemment c'est mon formuaire "modif" qui ne fonctionne pas... mais je ne vois pas pourquoi ! :(
0
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
8 janv. 2010 à 13:26
Salut,

http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.2
http://www.w3.org/TR/device-upload

> <form action"/connexion.php" method="POST" name="log" id="log" enctype="multipart/form-data">

Note que l'attribut name est déprécié en XHTML 1.x : http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-form-1.mod

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
0
payetonju Messages postés 436 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 2 juillet 2014 4
8 janv. 2010 à 13:53
Salut ! et Merci de ta réponse.

J'en fais quoi de sa
http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.2 
http://www.w3.org/TR/device-upload 


et
enctype="multipart/form-data"> 
je ne devrais plutot le mettre dans l'autre formulaire ? (celui qui m'interresse)

Mais de toute maniere ça ne marche toujours pas, le formulaire 'modif' n'est pas envoyé.
J'ai mis
if( isset( $_POST['modif'] )  )
entre le ECHO 9 et le ECHO 0, à la palce du test existant, mais en vain :'(
0
Rejoignez-nous