Echec d'enregistrement dans la bdd

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 : Echec d'enregistrement dans la bdd

Re: Echec d'enregistrement dans la bdd

par Driamar » 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

Re: Echec d'enregistrement dans la bdd

par moogli » 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.



@+

Re: Echec d'enregistrement dans la bdd

par Driamar » 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 ;)

Re: Echec d'enregistrement dans la bdd

par moogli » 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).

@+

Re: Echec d'enregistrement dans la bdd

par Driamar » 27 mai 2013, 14:33

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

Re: Echec d'enregistrement dans la bdd

par Spols » 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]

Echec d'enregistrement dans la bdd

par Driamar » 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 !