Profil supprimé | Bonjour à tous, je suis apprentis Dev et on me demande de développer une page qui attache des fichiers à une fiche candidat, mon problème est que l'export du fichier fonctionne bien, cela met le fichier dans le FTP avec un ID, mais cela n'ajoute aucunes lignes dans la BDD... Donc les fichiers deviennent in identifiable... Je voudrais que quand l'export ce fait dans le FTP, il m'inscrive dans la BDD l'id du fichier, les commentaires , ect, bref tout pour que ensuite sur ma page "fichiers attachés" on puisse retrouver les fichiers attaché à l'id du candidat.. Je vous donne tout les codes impacté :
PS : Un énorme merci à vous !
Ca c'est ma page ou pour l'instant, je voudrais faire une exportation propre...
Spoiler :
<?
include_once("../inc/utils.php" );
include_once("../../include/file_utils.php" );
include_once("../admin/librairie/document.librairie_yannick.php" );
include("../inc/car_utils.php" );
@session_start();
carriere_mysql_init(&$my_con, &$my_db);
$query="SELECT out_cand_nom, out_cand_prenom FROM OUT_CAND WHERE out_cand_id = '$out_cand_id'";
$pow_result = mysql_query($query, $my_con);
$pow_row = mysql_fetch_object($pow_result);
$date = new DATE_CLASS();
$time = time();
echo '
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<link rel="stylesheet" href="../include/style.css" type="text/css">
<title>Documents</title>';
echo'<script language="JavaScript" src="../include/calendar.js"></script>';
echo'<script language="JavaScript" src="../include/calendar_lib.js"></script>'; echo'<script type="text/javascript" language="javascript">
function valid()
{
if ((document.attach.value == "" ) || (document.attach.value == " " ))
alert("cliquer sur parcourir pour ajouter un fichier" );
else
document.attach.submit();
}
function CheckDate(d) {
// Cette fonction vérifie le format JJ/MM/AAAA saisi et la validité de la date.
// Le séparateur est défini dans la variable separateur
if(d) {
var amin=1850; // année mini
var amax=2500; // année maxi
var separateur="/"; // separateur entre jour/mois/annee
var j=(d.substring(0,2));
var m=(d.substring(3,5));
var a=(d.substring(6));
var ok=1;
if ( ((isNaN(j))||(j<1)||(j>31)) && (ok==1) ) {
alert("Le jour n\'est pas correct." ); ok=0;
}
if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==1) ) {
alert("Le mois n\'est pas correct." ); ok=0;
}
if ( ((isNaN(a))||(a<amin)||(a>amax)) && (ok==1) ) {
alert("L\'année n\'est pas correcte." ); ok=0;
}
if ( ((d.substring(2,3)!=separateur)||(d.substring(5,6)!=separateur)) && (ok==1) ) {
ok=0;
}
if (ok==1) {
var d2=new Date(a,m-1,j);
j2=d2.getDate();
m2=d2.getMonth()+1;
a2=d2.getYear();
if (a2<=100) {a2=1900+a2}
if ( (j!=j2)||(m!=m2)||(a!=a2) ) {
ok=0;
}
ok=d2;
}
} else {
ok=0;
}
return ok;
}
</script>';
echo '</head><BODY topmargin="0" leftmargin="0">';
echo' <h2> Fichiers associés </h2>';
echo'<div class="cadre">'; //cadre fond gris
echo '<h3><span class="titre">Ajouter un Fichier à : '.$pow_row->out_cand_prenom.' '.$pow_row->out_cand_nom.'</span></h3><br><br>';
echo' <table width="100%" border="0">
<tr>
<td width="21%" class="right">
<label for="out_cand_dte_in" class="label-obligatoire"><span class="asterisque">*</span> Date de création :</label>
</td>
'; if($main_row->out_cand_dte_in)
$out_cand_dte_in = GetFullStrDate($main_row->out_cand_dte_in);
else
$out_cand_dte_in = GetFullStrDate(time());
$out_cand_dte_activ = GetFullStrDate($main_row->out_cand_dte_activ);
$out_cand_dte_out = GetFullStrDate($main_row->out_cand_dte_out);
$out_cand_dte_out_prev = GetFullStrDate($main_row->out_cand_dte_out_prev);
$out_cand_dte_parm = GetFullStrDate($main_row->out_cand_dte_parm);
print //afiche la date
'<td>
<input type="text" name="out_cand_doc_date" id="out_cand_doc_date" value="'.$out_cand_dte_in.'" class="champ champ-texte champ-obligatoire" size="11" maxlength="10" />
<span class="indication">
<a href="javascript:show_calendar(\'WRes.out_cand_dte_out_prev\',\''.(date("m",time())-1).'\',\''.date("Y",time()).'\')">
<img src="../images/calendrier.gif" border="0"></a>
</a>(jj/mm/aaaa)
</span>
</td>';
echo' <td class="right" width="15%">
<label for=" out_cand_doc_titre" class="label-obligatoire"><span class="asterisque">*</span> Titre du document :</label>
</td>
<td>
<input type="text" name="out_cand_doc_titre" id="out_cand_doc_titre" class="champ champ-text" size="32%" maxlength="100">
</td>
'; //afiche la case Titre du document
echo' <tr>
<td class="right" width="21%">
<label for="out_cand_doc_com">Commentaire :</label>
</td>
<td>
<textarea rows="2" cols="28" name="out_cand_doc_com" id="out_cand_doc_com"></textarea> </td>
'; //Afiche la zone commentaire
echo'
<td class="right" width="21%">
<label for="out_cand_doc_type_doc" class="label-obligatoire"><span class="asterisque">*</span> Type :</label>
<td>
<select name="out_cand_doc_type_doc" id="out_cand_doc_type_doc" class="champ champ-select">
<OPTION VALUE="0"> </OPTION>
<OPTION VALUE="1">CV</OPTION>
<OPTION VALUE="2">Lettre de motivation</OPTION>
<OPTION VALUE="3">Bilan à 3 mois</OPTION>
<OPTION VALUE="4">Bilan à 6 mois</OPTION>
<OPTION VALUE="5">Synthèse et préconisations</OPTION> <OPTION VALUE="6">Devis</OPTION>
<OPTION VALUE="7">Fiche validation projet</OPTION>
<OPTION VALUE="8">EEO</OPTION>
</select>
</td>
</TR>
';
echo'</table>';
if($cmd == "add_file" ){ if($_FILES['document']['name'] != "" )
{ $target_path = "/mnt/DocsMobilis/";
$time = time();
$filename = $_FILES['document']['name'];
$safe_filename = preg_replace(array("/\s+/", "/[^-\.\w]+/" ), array("_", "" ), trim($filename)); //$filename = $time.'_'.str_replace("\\", "", basename($filename)); // ajout de la date pour differentiation et suppression des anti-slash
$filename = $time.'_'.$safe_filename;
$target_path = $target_path . $filename; if(!move_uploaded_file($_FILES['document']['tmp_name'], $target_path)) {
echo "Le fichier n'a pas pu être attaché.";
}
$len = $_FILES['document']['size'];
$document_name = addslashes(basename($_FILES['document']['name']));
$document_type = $_FILES['document']['type'];
$document_id = $time;
$query ="insert into OUT_CAND_DOC (out_cand_doc_id,
out_cand_doc_cand_id, out_cand_doc_type_doc, out_cand_doc_com,
out_cand_doc_filename, out_cand_doc_filetype, out_cand_doc_filelen, out_cand_doc_filebin, out_cand_doc_date,
out_cand_doc_pathname) values(
'$document_id'
'$out_cand_id', '$out_cand_doc_type_doc',
'$out_cand_doc_com', \"$document_name\", '$document_type', '$len', \"$content\", '$time',
\"$filename\" )";
$file_result = mysql_query($query, $my_con); }
}
if($cmd == "del_file" ){
if($out_cand_doc_id){
//recherche du nom du fichier sur le serveur de fichier pour suppression
$query="select out_cand_doc_pathname FROM OUT_CAND_DOC where out_cand_doc_id = '$out_cand_doc_id'";
$file_result = mysql_query($query, $my_con);
$file_row = mysql_fetch_object($file_result);
$pathname = $file_row->out_cand_doc_pathname;
if ($pathname <> '')
{
$download_path = "/mnt/DocsMobilis/";
// Contrôle de sécurité pour être que le fichier ne se trouve pas ailleurs que dans le download_path !
if(eregi("\.\.", $pathname)) die("Ce fichier ne peux pas être supprimé." );
$file = str_replace("..", "", $pathname);
if(eregi("\.ht.+", $pathname)) die("Ce fichier ne peux pas être supprimé." ); $file = "$download_path$pathname"; if(!file_exists($file)) die("Impossible de supprimer le document $pathname. Contactez votre administrateur." );
unlink($file); //suppression physique du fichier
}
// suppression de la référence du fichier dans la table OUT_CAND_DOC
$query = "DELETE FROM OUT_CAND_DOC WHERE out_cand_doc_id = '$out_cand_doc_id'";
$file_result = mysql_query($query, $my_con);
}
}
$query="select out_cand_doc_cand_id, out_cand_doc_id, out_cand_doc_doc_type_id, out_cand_doc_titre, out_cand_doc_com, out_cand_doc_filetype, out_cand_doc_filename, out_cand_doc_filelen, out_cand_doc_date FROM OUT_CAND_DOC where out_cand_doc_cand_id = '$out_cand_id'";
$file_result = mysql_query($query, $my_con);
display($file_result, $out_cand_id);
echo '<br><br><h3><span class="titre">Liste des fichiers associés à : '.$pow_row->out_cand_prenom.' '.$pow_row->out_cand_nom.'</span></h3><br><br>';
?> |
et ça c'est mon deuxieme fichier ou ce trouve la fonction ajouter et valider..
Spoiler :
<?
function display($file_result, $out_cand_id)
{ while($file_row = mysql_fetch_object($file_result)) { echo '
<table>
<tr class="row">
<td align="center">'.GetFullStrDate($file_row->out_cand_doc_date).'</td>
<td align="center">
<a href="documents/display_doc_yannick.php?out_cand_doc_id='.$file_row->out_cand_doc_id.'">'.stripslashes($file_row->out_cand_doc_filename).'</a>
</td>
<td align="center">';
$type = $file_row->out_cand_doc_filetype;
switch ($type){
case "application/pdf" :
echo '<img src="../images/pdf_icon.gif" width="16" height="16" border="0">';
break;
case "application/msword" :
echo '<img src="../images/word_icon.gif" width="16" height="16" border="0">';
break;
case "text/richtext" :
echo '<img src="../images/word_icon.gif" width="16" height="16" border="0">';
break;
case "application/rtf" :
echo '<img src="../images/word_icon.gif" width="16" height="16" border="0">';
break;
case "application/vnd.ms-excel" : echo '<img src="../images/excel_icon.gif" width="16" height="16" border="0">';
break;
case "application/vnd.ms-powerpoint" : echo '<img src="../images/powerpoint_icon.gif" width="16" height="16" border="0">';
break;
default :
echo '<img src="../images/default_icon.gif" width="16" height="16" border="0">';
break;
}
$taille = $file_row->out_cand_doc_filelen / 1024;
print '<td align="center">'.round($taille,2).' Ko</td>';
echo '
</td>
<td align="center">
<form name="del'.$file_row->out_cand_doc_id.'" method="POST" action="document_yannick.php">
<input type="hidden" name="cmd" value="del_file">
<input type="hidden" name="out_cand_id" value="'.$file_row->out_cand_doc_cand_id.'">
<input type="hidden" name="out_cand_doc_id" value="'.$file_row->out_cand_doc_id.'">
<a href="" onclick="javascript: if(confirm(\'Etes vous sûr de vouloir supprimer cette piéce jointe ?\')) {document.del'.$file_row->out_cand_doc_id.'.submit();} return false;"><img src="../images/poubelle_icon.gif" width="15" height="15" border="0" /></a>
</form>
</td>
</tr>
';
}
echo '</table><br><br>
<table border="0" cellspacing="0" cellpadding="2" width="100%" height="25">
<tr class="row" >
<td align="center">
<form name="attach" method="POST" action="document_yannick.php" enctype="multipart/form-data">
<input type="file" name="document" size="75">
<input type="hidden" name="MAX_FILE_SIZE" value="10000000"></td>
</td>
<td align="center">
<input type="hidden" name="cmd" value="add_file">
<input type="hidden" name="out_cand_id" value="'.$out_cand_id.'">
<input type="button" class="bouton1" value="Ajouter" onclick="valid()" ) />
</FORM>
</td>
</tr>
<tr>
<td class="indication" align="center"> Attention, taille des fichiers limitée à 10Mo !!</td>
</tr>
</table>';
}
?>
|
et voici la strucure de ma table out_cand_doc :
out_cand_doc_id int(11) Non out_cand_doc_cand_id int(11) Non 0
out_cand_doc_filename varchar(100) Non out_cand_doc_filetype varchar(100) Non out_cand_doc_type_doc int(11) Non 0
out_cand_doc_com varchar(255) Non out_cand_doc_filelen int(11) Non 0
out_cand_doc_filebin longblob Non out_cand_doc_date int(11) Non 0
out_cand_doc_pathname varchar(100) Non Message édité par Profil supprimé le 08-12-2011 à 13:54:02
|