Probleme de variables

inkydjango Messages postés 45 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 3 décembre 2009 - 13 janv. 2009 à 13:55
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 - 13 janv. 2009 à 15:46
salut a tous

j'ai un gros probleme sur une page upload ..

en effet, jai repiquer un texte d'upload sur un serveur en local: celui marche tres bien, je veux lui ajouter une fonction insert dans ma base, celle ci fonctionne aussi .

mais le probleme intervient quand j'essaye de fusionner ces 2 textes, impossible de recuperer ma variable de nom de fichier creer dans ma fonction insert, alors que je peux faire un echo avec ...

je ne sais pas si j'ai ete assez clair ..

voici le code :

<?php require_once('../../Connections/connect.php'); ?>
<?php
function GetSQLValueString($theValue, $theType, $theDefinedValue "", $theNotDefinedValue "")
{
  $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;
  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;   
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO nc_fichiers_joints (Image, OT) VALUES (%s, %s)",
                       GetSQLValueString($_POST['hiddenField_nameFile'], "text"),
                       GetSQLValueString($_POST['hiddenField_OT'], "text"));
  mysql_select_db($database_connect, $connect);
  $Result1 = mysql_query($insertSQL, $connect) or die(mysql_error());
}

// fin de la fonction créé par dreamweaver pour insert ma ligne sql

//debut du repiquage upload
 

/************************************************************
* Definition des constantes / tableaux et variables
*************************************************************/
// Constantes
define('TARGET', './upload/NC/'); // Repertoire cible
define('MAX_SIZE', 1000000); // Taille max en octets du fichier
define('WIDTH_MAX', 3000); // Largeur max de l'image en pixels
define('HEIGHT_MAX', 3000); // Hauteur max de l'image en pixels
// Tableaux de donnees
$tabExt = array('jpg','gif','png','jpeg'); // Extensions autorisees
$infosImg = array();
// Variables
$extension = '';
$message = '';
$nomImage = '';
/************************************************************
* Creation du repertoire cible si inexistant
*************************************************************/
if( !is_dir(TARGET) ) {
if( !mkdir(TARGET, 0755) ) {
exit('Erreur : le répertoire cible ne peut-être créé ! Vérifiez que vous diposiez des droits suffisants pour le faire ou créez le manuellement !');
}
}
/************************************************************
* Script d'upload
*************************************************************/
if(!empty($_POST))
{
// On verifie si le champ est rempli
if( !empty($_FILES['fichier']['name']) )
{
// Recuperation de l'extension du fichier
$extension = pathinfo($_FILES['fichier']['name'], PATHINFO_EXTENSION);
// On verifie l'extension du fichier
if(in_array(strtolower($extension),$tabExt))
{
// On recupere les dimensions du fichier
$infosImg = getimagesize($_FILES['fichier']['tmp_name']);
// On verifie le type de l'image
if($infosImg[2] >= 1 && $infosImg[2] <= 14)
{
// On verifie les dimensions et taille de l'image
if(($infosImg[0] <= WIDTH_MAX) && ($infosImg[1] <= HEIGHT_MAX) && (filesize($_FILES['fichier']['tmp_name']) <= MAX_SIZE))
{
// Parcours du tableau d'erreurs
if(isset($_FILES['fichier']['error'])
&& UPLOAD_ERR_OK === $_FILES['fichier']['error'])
{
// On renomme le fichier
$nomImage = md5(uniqid()) .'.'. $extension;
// renseignement de la base pour le recuperation du fichier
 
 
// Si c'est OK, on teste l'upload
if(move_uploaded_file($_FILES['fichier']['tmp_name'], TARGET.$nomImage))
{
$message = 'Upload reussi !';
}
else
{
// Sinon on affiche une erreur systeme
$message = 'Problème lors de l\'upload !';
}
}
else
{
$message = 'Une erreur interne a empêché l\'uplaod de l\'image';
}
}
else
{
// Sinon erreur sur les dimensions et taille de l'image
$message = 'Erreur dans les dimensions de l\'image !';
}
}
else
{
// Sinon erreur sur le type de l'image
$message = 'Le fichier à uploader n\'est pas une image !';
}
}
else
{
// Sinon on affiche une erreur pour l'extension
$message = 'L\'extension du fichier est incorrecte !';
}
}
else
{
// Sinon on affiche une erreur pour le champ vide
$message = 'Veuillez remplir le formulaire svp !';
}
}
// fin du code repiquer et debut des problemes

?> 
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title>Upload d'une image sur le serveur !</title>
</head>

<?php
if( !empty($message) )
{
echo '',"\n";
echo "\t\t ", htmlspecialchars($message) ," \n";
echo "\t \n\n";
}

?>
<?php
echo $nomImage; // s'affiche a reactualisation de la page au moment de upload reussi avec la bonne variable renseigne plus haut...
$nomImage = 'test1.jpg'; //fonctionne quand je lui attribue une nouvelle valeur ici( test1.jpg) mais qd je supprime la ligne il ne me recupere pas la variable plus haut !!!
$OT = 'ma_reference';
?>

<!-- Debut du formulaire -->
<form name="form1" enctype="multipart/form-data" action="" method="POST">
<fieldset>
<legend>Formulaire</legend>

<label for="fichier_a_uploader" title="Recherchez le fichier à uploader !">Envoyer le fichier :</label>
">
">
">







 
</fieldset>

</form>
<!-- Fin du formulaire -->

</html>

 

j'ai l'impression que l'erreur arrive parce que le code d'insert SQL est lancé avant celui de l'upload, donc pas de variables renseignés, mais quelles modifications apporte au texte pour cela 

merci beaucoup de votre aide...

stephane 

1 réponse

Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
13 janv. 2009 à 15:46
Tu penses que qqun va relire ton code cracra? Moi non ^_^
Allez nettoie ce bazar !
Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro
0