Voila, si cela peut t'aider ...UPDATE document SET `Nomdoc` = "sssssssss.txt", `Titredoc` = "sebsebsebsebseb", `Descriptifdoc` = "Test manuel" WHERE `Iddoc` = "33"
<?php
require_once('../Connections/imprime.php');
if (isset($test))
{
mysql_free_result($test);
}
if (isset($result2))
{
mysql_free_result($result2);
}
$file_name = isset($_FILES['file_name']['name'])?$_FILES['file_name']['name']:"none";
echo $file_name;
if ($_FILES['file_name']['size']==0)
{
echo("<pre>");
var_dump($_FILES);
echo("</pre>");
$Id=$_GET['id'];
$titre=$_POST['titre'];
$descriptif=$_POST['descriptif'];
echo $Id . "<br>" . $titre . "<br>" . $descriptif ;
mysql_select_db($database_imprime, $imprime);
$sql = "UPDATE `document` SET `Nomdoc`='". $file_name ."', `Titredoc`='". $titre ."', `Descriptifdoc`='". $descriptif ."'";
$sql.= " WHERE `Iddoc`='". $Id ."'";
$test = mysql_query($sql);
@mysql_free_result($test);
echo("Partie if() : ". $sql);
}
// ELSE DU PREMIER TEST
else
{
//Récupération du chemin pour la copie du fichier et des données pour l'enregistrement dans la base de donnée
$chemin=" ";
$query2 = "SELECT Valeur FROM imprime.param WHERE Donnee='chemin'";
$result2 = mysql_query($query2);
$resultchemin = mysql_fetch_array($result2);
$chemin = $resultchemin[0];
$Id = $_GET['id'];
$titre = $_POST['titre'];
$descriptif = $_POST['descriptif'];
echo $Id . "<br>" . $titre . "<br>" . $descriptif ;
$file_terminaison = substr($_FILES['file_name']['name'],strlen($_FILES['file_name']['name'])-3);
if ($file_terminaison=="txt" or $file_terminaison=="pdf" or $file_terminaison=="doc")
{
/* indiquer $dest_file qui correspond au répertoire de destination */
$dest_file = $chemin . $file_name;
/* enlève un "\" */
$source_file=$_FILES['file_name']['tmp_name'];
/* copie du fichier */
$res_copy=copy($source_file , $dest_file);
}
else
{
print "Sélectionner un fichier au format texte.";
}
//Enregistrement dans la base
if (isset ($_POST['Nomdoc']) && isset ($_POST['titre']) && isset ($_POST['descriptif']))
{
$nomdoc = $_FILES['file_name']['name'];
$sql = "UPDATE `document` SET `Nomdoc`='". $nomdoc ."', `Titredoc`='". $titre ."', `Descriptifdoc`='". $descriptif ."'";
$sql.= " WHERE `Iddoc`='". $Id ."'";
$test = mysql_query($sql);
mysql_free_result($test);
echo("Partie else() : ". $sql);
echo("<pre>");
var_dump($_FILES);
echo("</pre>");
}
}
?>
<html>
<head>
<title></title>
<!--<META HTTP-EQUIV="Refresh" CONTENT="2; URL= ../maj_lien.php"> -->
</head>
<body background="../Images/PINELUMB.JPG">
<h2 align="center" style="color:#009900">Votre document a été modifié</h2>
</body>
</html>
J'ai ajouté manuellement dans ma table document un enregistrement, lorsque j'éxécute ma page php, il m'efface bien le document ! Voila si cela peut vous aider ...array(1) {
["file_name"]=>
array(5) {
["name"]=>
string(0) ""
["type"]=>
string(0) ""
["tmp_name"]=>
string(0) ""
["error"]=>
int(4)
["size"]=>
int(0)
}
}
30
dlziaugd
igoiudgzo_ughdPartie if() : UPDATE `document` SET `Nomdoc`='', `Titredoc`='dlziaugd', `Descriptifdoc`='igoiudgzo_ughd' WHERE `Iddoc`='30'
Enfin, je commence à soupçonner autre chose: dans ton formulaire, as-tu mis un attribut enctype dans la balise <form> ?Il est important de noter que la fonction mysql_query() retourne uniquement une ressource pour les requêtes SELECT, SHOW, EXPLAIN et DESCRIBE.
<?php
require_once('../Connections/imprime.php');
if (isset($test))
{
mysql_free_result($test);
}
if (isset($result2))
{
mysql_free_result($result2);
}
$file_name = isset($_FILES['file_name']['name']) ? $_FILES['file_name']['name'] : "none";
echo $file_name;
echo("<pre>");
var_dump($_FILES);
echo("</pre>");
if ($file_name == "none")
{
$Id = $_GET['id'];
$titre = $_POST['titre'];
$descriptif = $_POST['descriptif'];
echo $Id . "<br>\n" . $titre . "<br>\n" . $descriptif ;
mysql_select_db($database_imprime, $imprime);
$sql = "UPDATE `document` SET `Nomdoc`='". $file_name ."', `Titredoc`='". $titre ."', `Descriptifdoc`='". $descriptif ."'";
$sql.= " WHERE `Iddoc`='". $Id ."'";
$test = mysql_query($sql);
echo("Partie if() : ". $sql);
}
// ELSE DU PREMIER TEST
else
{
//Récupération du chemin pour la copie du fichier et des données pour l'enregistrement dans la base de donnée
$chemin=" ";
$query2 = "SELECT Valeur FROM imprime.param WHERE Donnee='chemin'";
$result2 = mysql_query($query2);
$resultchemin = mysql_fetch_array($result2);
$chemin = $resultchemin[0];
$Id = $_GET['id'];
$titre = $_POST['titre'];
$descriptif = $_POST['descriptif'];
echo $Id . "<br>\n" . $titre . "<br>\n" . $descriptif ;
$file_terminaison = substr($file_name,strlen($file_name)-3);
if ($file_terminaison=="txt" or $file_terminaison=="pdf" or $file_terminaison=="doc")
{
/* indiquer $dest_file qui correspond au répertoire de destination */
$dest_file = $chemin . $file_name;
/* enlève un "" */
$source_file=$_FILES['file_name']['tmp_name'];
/* copie du fichier */
$res_copy=copy($source_file , $dest_file);
}
else
{
print "Sélectionner un fichier au format texte.";
}
//Enregistrement dans la base
if (isset ($_POST['Nomdoc']) && isset ($_POST['titre']) && isset ($_POST['descriptif']))
{
$nomdoc = $_FILES['file_name']['name'];
$sql = "UPDATE `document` SET `Nomdoc`='". $nomdoc ."', `Titredoc`='". $titre ."', `Descriptifdoc`='". $descriptif ."'";
$sql.= " WHERE `Iddoc`='". $Id ."'";
$test = mysql_query($sql);
echo("Partie else() : ". $sql);
echo("<pre>");
var_dump($_FILES);
echo("</pre>");
/* Ici le mysql_result se justifie mais pour la requête SELECT, pas pour UPDATE */
mysql_free_result($result2);
}
}
?>
<html>
<head>
<title></title>
<!--<META HTTP-EQUIV="Refresh" CONTENT="2; URL= ../maj_lien.php"> -->
</head>
<body background="../Images/PINELUMB.JPG">
<h2 align="center" style="color:#009900">Votre document a été modifié</h2>
</body>
</html>$sql = "UPDATE `document` SET `Nomdoc`='". $file_name ."', `Titredoc`='". $titre ."', `Descriptifdoc`='". $descriptif ."'";
et voila la correction :
$sql = "UPDATE document SET `Nomdoc`='". $file_name ."', `Titredoc`='". $titre ."', `Descriptifdoc`='". $descriptif ."'";
En tout cas MERCI et DéSOLé de t'avoir fait perdre ton temps ...