Uploader un fichier et renseigner la base
Posté : 14 mars 2006, 23:38
Bonjour,
voila, je me prends la tete depuis qlqs temps pour uploader une image sur mon serveur, et ranger qlqs infos dans une base dont le nom du fichier uploader et son chemin ! j'ai les infos id/pays/site qui rentrent dans la base, mais pas le nom photo ni son chemin, et je n'ai pas la photo dans le repertoire de destination ! et je n'ai pas non plus de message d'erreur. J'ai fait le tour des tutoriaux. Il est plutot simple mon code , mais....je dois etre nul ! si quelqu'un peut me filer un coup de main
merci
voila, je me prends la tete depuis qlqs temps pour uploader une image sur mon serveur, et ranger qlqs infos dans une base dont le nom du fichier uploader et son chemin ! j'ai les infos id/pays/site qui rentrent dans la base, mais pas le nom photo ni son chemin, et je n'ai pas la photo dans le repertoire de destination ! et je n'ai pas non plus de message d'erreur. J'ai fait le tour des tutoriaux. Il est plutot simple mon code , mais....je dois etre nul ! si quelqu'un peut me filer un coup de main
merci
<?php require_once('../Connections/pays.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 bpays (id, pays, site, photo, chemin) VALUES (%s, %s, %s, %s, %s)",
GetSQLValueString($_POST['id'], "int"),
GetSQLValueString($_POST['pays'], "text"),
GetSQLValueString($_POST['site'], "text"),
GetSQLValueString($_POST['photo'], "text"),
GetSQLValueString($_POST['chemin'], "text"));
mysql_select_db($database_pays, $pays);
$Result1 = mysql_query($insertSQL, $pays) or die(mysql_error());
}
if( isset($_POST['form1']) ) // si formulaire soumis
{
$chemin = 'images/'; // dossier où sera déplacé le fichier
$tmp_file = $_FILES['photo']['tmp_name']; // nom temporaire du fichier
// on vérifie l'extension
$type_file = $_FILES['photo']['type'];
if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') )
{
exit("Le fichier n'est pas une image");
}
// on copie le fichier dans le dossier de destination
$name_file = $_FILES['photo']['name'];
if(!move_uploaded_file($tmp_file, $chemin.$name_file))
{
exit("Impossible de copier le fichier dans $content_dir");
}
echo "Le fichier a bien été uploadé";
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Document sans titre</title>
</head>
<body>
<form action="<?php echo $editFormAction; ?>" method="post" enctype="multipart/form-data" name="form1">
<table align="center">
<tr valign="baseline">
<td nowrap align="right">Pays:</td>
<td><input type="text" name="pays" value="" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Site:</td>
<td><input type="text" name="site" value="" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Photo:</td>
<td><input type="file" name="photo"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right"> </td>
<td><input type="submit" value="Insérer l'enregistrement"></td>
</tr>
</table>
<input type="hidden" name="id" value="">
<input type="hidden" name="MM_insert" value="form1">
</form>
<p> </p>
</body>
</html>