Echec d'enregistrement dans la bdd

Eléphanteau du PHP | 14 Messages

27 mai 2013, 13:21

Bonjour tout le monde !

Voila mon souci : j'ai fait une page pour uploader un fichier et récupérer son chemin pour le mettre dans une base de donnée.

L'upload se fait correctement dans le dossier voulu. Sauf que je n'ai rien du tout qui s'enregistre dans ma base de donnée.

Ma base de donner : tp
Ma table : tp_telechargement
Mes colonnes : id, chemin

Voici en dessous le code de ma page :
<?php
if (phpversion() > "5.4.3") {
    $HTTP_POST_FILES = &$_FILES;
}
define("MAX_SIZE",30000000);
define("DESTINATION_FOLDER", "upload");
define("no_error", "ok.php");
define("yes_error", "erreur.php");
$_accepted_extensions_ = "pdf";
if(strlen($_accepted_extensions_) > 0){
    $_accepted_extensions_ = @explode(",",$_accepted_extensions_);
} else {
    $_accepted_extensions_ = array();
}
/*  modify */
if(!empty($HTTP_POST_FILES['chemin'])){
    if(is_uploaded_file($HTTP_POST_FILES['chemin']['tmp_name']) && $HTTP_POST_FILES['chemin']['error'] == 0){
        $_file_ = $HTTP_POST_FILES['chemin'];
        $errStr = "";
        $_name_ = $_file_['name'];
        $_type_ = $_file_['type'];
        $_tmp_name_ = $_file_['tmp_name'];
        $_size_ = $_file_['size'];
        if($_size_ > MAX_SIZE && MAX_SIZE > 0){
            $errStr = "Fichier trop gros";
        }
        $_ext_ = explode(".", $_name_);
        $_ext_ = strtolower($_ext_[count($_ext_)-1]);
        if(!in_array($_ext_, $_accepted_extensions_) && count($_accepted_extensions_) > 0){
            $errStr = "Extension non valide";
        }
        if(!is_dir(DESTINATION_FOLDER) && is_writeable(DESTINATION_FOLDER)){
            $errStr = "Dossier de destination non valide";
        }
        if(empty($errStr)){
            if(@move_uploaded_file($_tmp_name_,DESTINATION_FOLDER . "/" . $_name_)){
                header("Location: " . no_error);
  
                // Connexion BDD
  
                mysql_select_db($database_maxonnex,$maxonnex);
                $însertTel="INSERT INTO tp_tel (chemin) VALUES ('$_name')";
                mysql_query($insertTel, $maxonnex) or die (mysql_error());         
            } else {
                header("Location: " . yes_error);
            }
        } else {
            header("Location: " . yes_error);
        }
    }
}
?>
<?php require_once('Connections/maxonnex.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }
  
  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($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;
}
}
  
mysql_select_db($database_maxonnex, $maxonnex);
$query_telechargement = "SELECT chemin FROM tp_tel ORDER BY `date` ASC";
$telechargement = mysql_query($query_telechargement, $maxonnex) or die(mysql_error());
$row_telechargement = mysql_fetch_assoc($telechargement);
$totalRows_telechargement = mysql_num_rows($telechargement);
?>
<!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=utf-8" />
<title>Document sans titre</title>
</head>
  
<body>
<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
  <p>
    <label for="chemin">téléchargement du pdf</label>
    <input type="file" name="chemin" id="chemin" />
  </p>
  <p>
    <input type="submit" name="Envoyer" id="Envoyer" value="Envoyer" />
  </p>
</form>
</body>
</html>
<?php
mysql_free_result($telechargement);
?>
J'ai beau tout retourner dans tous les sens je ne trouve pas mon erreur :/

Merci d'avance pour votre aide !
Modifié en dernier par Driamar le 27 mai 2013, 16:19, modifié 1 fois.

Mammouth du PHP | 1967 Messages

27 mai 2013, 14:32

tu dis avoir une table tp_telechargement,

pourquoi que 'tp_tel' ici ?
$însertTel="INSERT INTO tp_tel (chemin) VALUES ('$_name')";

PS utilise les balises
 plutot que [code]
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Eléphanteau du PHP | 14 Messages

27 mai 2013, 14:33

Autant pour moi ... C'est tp_tel le nom de la table

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

27 mai 2013, 21:55

$_name n'existe pas


il serait préférable d'utiliser un code plus à jour, par exemple en employant mysqli plutôt que mysql.

idem pour l'utilisation de l'opérateur & qui est déprécié depuis php 5.2 (de mémoire).

@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 14 Messages

28 mai 2013, 12:51

J'ai utilisé l'extension PHP Upload de Dreamweaver pour effectuer l'uplaod.

Je vais voir pour le faire moi-même alors ^^

Merci ;)

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

28 mai 2013, 14:25

c'est plus formateur de le faire soit même, ensuite les générateur de code sont rarement une bonne solution à long terme si tu veux mettre les mains dans le cambouis.



@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 14 Messages

28 mai 2013, 22:36

Ben j'ai tout fait moi-même le reste ^^

Mais comme on me demande ça au dernier moment et qui faut que ce soit fait pour samedi ^^ j'ai essayé d'aller au plus vite !


Je pense que je vais réfère quelques heures de sommeil à y réfléchir ;-))

Merci en tout cas