Aide pour correction de code
romy
-
benj -
benj -
Bonjour,les amis
je veux creer un site web sur lequel j'aimerais que le internautes puissent uploader des fichier comme les fichier word ,pdf , image...j' ai fait le code mais je n'arrive pas à inserer ces fihiers dans la base de données.
je demande votre aide afin de realiser mon premier site.
je vous donne mon formulaire , mon code php et ma base de données
code php
<?php
session_start();
$ho = "localhost";
$us = "root";
$pass = "";
$base = "synafepci";
$cn = mysql_connect($ho, $us, $pass);
mysql_select_db($base) or die("Impossible de se connecter a la base de donnees $base");
?>
<?php
$presentation=isset($_POST['presentation'])? $_POST['presentation'] :'';
$file=isset($_FILES['file'])? $_POST['file'] :'';
if(isset($_FILES['file']))
{
$content_dir = 'photo/';
$MAX_FILE_SIZE = 500000;
$tmp_file = $_FILES['file']['tmp_name'];
if($tmp_file != ''){
$fsize = $_FILES['file']['size'];
if($fsize > $MAX_FILE_SIZE){ $taille = '1';}
$type_file = (isset($_FILES['file']['type'])?$_FILES['file']['type']:'');
$allowed_types = array("image/bmp", "image/gif", "image/png", "image/jpeg", "image/jpg", "image/pjpeg");
if(!in_array($type_file, $allowed_types)){$format='1';}
function RenameFile($fichier_name){
global $renamed;
$chaine_type = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
srand((double)microtime()*1000000);
$code = '';
for($i=0; $i<10; $i++)
{
// on génère un code de 8 caractères aléatoirement
$code.= $chaine_type[rand()%strlen($chaine_type)];
}
$newFileName = $code.$fichier_name;
$renamed = true;
return $newFileName;
}
$name_file = RenameFile('');
$ext='';
if(strstr($type_file, 'bmp')){ $ext='bmp';}
if(strstr($type_file, 'pjpeg')){ $ext='jpg';}
if(strstr($type_file, 'jpg')){ $ext='jpg';}
if(strstr($type_file, 'jpeg')){ $ext='jpg';}
if(strstr($type_file, 'gif')){ $ext='gif';}
if(strstr($type_file, 'png')){ $ext='png';}
$name_file_def=$name_file . '.' . $ext;
$name_file_def2= 'g' . $name_file . '.' . $ext;
if( !move_uploaded_file($tmp_file, $content_dir . $name_file_def)){ $copie='1';}
//echo "Nom: $nom, Prénom: $prenom,Sexe: $sexe,Emploi actuel: $emploi,Adresse: $adresse,Téléphone: $tel,Ville: $vil,Ecole: $ecole,Email: $mail,Login: $log,Mot de passe: $mot";
if (!empty($presentation) AND !empty($file) )
{
// echo "essai";
// exit;
mysql_query("INSERT INTO enseignement_tech(id_enseign,id_admin,presentation,photo )
VALUES('','','$presentation','$file' )" );
}
?>
formulaire html
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<body>
<form method="POST" action="enseignement technique1.php" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="500000" />
<fieldset>
<body>
<table width="539" border="0" cellspacing="0" cellpadding="5" bgcolor="#c3cacc">
<tr height="45">
<td colspan="2" width="529" height="45">
<div align="center"><font size="3" face="Helvetica, Geneva, Arial, SunSans-Regular, sans-serif"><strong>FORMULAIRE ENSEIGNEMENT TECHNIQUE <br />
<br />
</strong></font></div> </td>
</tr>
<td width="127" height="80">
<div align="left"><font size="2" face="Helvetica, Geneva, Arial, SunSans-Regular, sans-serif"><strong>Présentation</strong></font></div> </td>
<td width="392" height="80">
<div align="left">
<textarea name="presentation" rows="3" cols="45"></textarea></div> </td>
<tr height="32">
<td width="127" height="32">
<div align="left"><strong><font size="2" face="Helvetica, Geneva, Arial, SunSans-Regular, sans-serif">Photo</font></strong></div> </td>
<td width="392" height="32">
<div align="left">
<font size="2" face="Helvetica, Geneva, Arial, SunSans-Regular, sans-serif">
<input name="file" type ="file" id="file" >
</font></div> </td>
</tr>
<tr height="80">
<td colspan="2" width="529" height="80">
<div align="center">
<input type="submit" value="Valider" /></div> </td>
</tr>
</table>
<font face="Verdana, Arial, Helvetica, sans-serif"><strong><font size="3"><br />
<br />
</font></strong></font>
</form>
</body>
</html>
base de données
-- phpMyAdmin SQL Dump
-- version 2.10.1
-- https://www.phpmyadmin.net/
--
-- Serveur: localhost
-- Généré le : Jeu 12 Mars 2009 à 13:35
-- Version du serveur: 5.0.45
-- Version de PHP: 5.2.5
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- Base de données: `synafepci`
--
-- --------------------------------------------------------
--
-- Structure de la table `enseignement_tech`
--
CREATE TABLE `enseignement_tech` (
`id_enseign` int(11) NOT NULL auto_increment,
`id_admin` int(11) NOT NULL,
`presentation` varchar(250) NOT NULL,
`photo` varchar(10) NOT NULL,
PRIMARY KEY (`id_enseign`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
--
-- Contenu de la table `enseignement_tech`
--
je veux creer un site web sur lequel j'aimerais que le internautes puissent uploader des fichier comme les fichier word ,pdf , image...j' ai fait le code mais je n'arrive pas à inserer ces fihiers dans la base de données.
je demande votre aide afin de realiser mon premier site.
je vous donne mon formulaire , mon code php et ma base de données
code php
<?php
session_start();
$ho = "localhost";
$us = "root";
$pass = "";
$base = "synafepci";
$cn = mysql_connect($ho, $us, $pass);
mysql_select_db($base) or die("Impossible de se connecter a la base de donnees $base");
?>
<?php
$presentation=isset($_POST['presentation'])? $_POST['presentation'] :'';
$file=isset($_FILES['file'])? $_POST['file'] :'';
if(isset($_FILES['file']))
{
$content_dir = 'photo/';
$MAX_FILE_SIZE = 500000;
$tmp_file = $_FILES['file']['tmp_name'];
if($tmp_file != ''){
$fsize = $_FILES['file']['size'];
if($fsize > $MAX_FILE_SIZE){ $taille = '1';}
$type_file = (isset($_FILES['file']['type'])?$_FILES['file']['type']:'');
$allowed_types = array("image/bmp", "image/gif", "image/png", "image/jpeg", "image/jpg", "image/pjpeg");
if(!in_array($type_file, $allowed_types)){$format='1';}
function RenameFile($fichier_name){
global $renamed;
$chaine_type = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
srand((double)microtime()*1000000);
$code = '';
for($i=0; $i<10; $i++)
{
// on génère un code de 8 caractères aléatoirement
$code.= $chaine_type[rand()%strlen($chaine_type)];
}
$newFileName = $code.$fichier_name;
$renamed = true;
return $newFileName;
}
$name_file = RenameFile('');
$ext='';
if(strstr($type_file, 'bmp')){ $ext='bmp';}
if(strstr($type_file, 'pjpeg')){ $ext='jpg';}
if(strstr($type_file, 'jpg')){ $ext='jpg';}
if(strstr($type_file, 'jpeg')){ $ext='jpg';}
if(strstr($type_file, 'gif')){ $ext='gif';}
if(strstr($type_file, 'png')){ $ext='png';}
$name_file_def=$name_file . '.' . $ext;
$name_file_def2= 'g' . $name_file . '.' . $ext;
if( !move_uploaded_file($tmp_file, $content_dir . $name_file_def)){ $copie='1';}
//echo "Nom: $nom, Prénom: $prenom,Sexe: $sexe,Emploi actuel: $emploi,Adresse: $adresse,Téléphone: $tel,Ville: $vil,Ecole: $ecole,Email: $mail,Login: $log,Mot de passe: $mot";
if (!empty($presentation) AND !empty($file) )
{
// echo "essai";
// exit;
mysql_query("INSERT INTO enseignement_tech(id_enseign,id_admin,presentation,photo )
VALUES('','','$presentation','$file' )" );
}
?>
formulaire html
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<body>
<form method="POST" action="enseignement technique1.php" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="500000" />
<fieldset>
<body>
<table width="539" border="0" cellspacing="0" cellpadding="5" bgcolor="#c3cacc">
<tr height="45">
<td colspan="2" width="529" height="45">
<div align="center"><font size="3" face="Helvetica, Geneva, Arial, SunSans-Regular, sans-serif"><strong>FORMULAIRE ENSEIGNEMENT TECHNIQUE <br />
<br />
</strong></font></div> </td>
</tr>
<td width="127" height="80">
<div align="left"><font size="2" face="Helvetica, Geneva, Arial, SunSans-Regular, sans-serif"><strong>Présentation</strong></font></div> </td>
<td width="392" height="80">
<div align="left">
<textarea name="presentation" rows="3" cols="45"></textarea></div> </td>
<tr height="32">
<td width="127" height="32">
<div align="left"><strong><font size="2" face="Helvetica, Geneva, Arial, SunSans-Regular, sans-serif">Photo</font></strong></div> </td>
<td width="392" height="32">
<div align="left">
<font size="2" face="Helvetica, Geneva, Arial, SunSans-Regular, sans-serif">
<input name="file" type ="file" id="file" >
</font></div> </td>
</tr>
<tr height="80">
<td colspan="2" width="529" height="80">
<div align="center">
<input type="submit" value="Valider" /></div> </td>
</tr>
</table>
<font face="Verdana, Arial, Helvetica, sans-serif"><strong><font size="3"><br />
<br />
</font></strong></font>
</form>
</body>
</html>
base de données
-- phpMyAdmin SQL Dump
-- version 2.10.1
-- https://www.phpmyadmin.net/
--
-- Serveur: localhost
-- Généré le : Jeu 12 Mars 2009 à 13:35
-- Version du serveur: 5.0.45
-- Version de PHP: 5.2.5
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- Base de données: `synafepci`
--
-- --------------------------------------------------------
--
-- Structure de la table `enseignement_tech`
--
CREATE TABLE `enseignement_tech` (
`id_enseign` int(11) NOT NULL auto_increment,
`id_admin` int(11) NOT NULL,
`presentation` varchar(250) NOT NULL,
`photo` varchar(10) NOT NULL,
PRIMARY KEY (`id_enseign`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
--
-- Contenu de la table `enseignement_tech`
--
A voir également:
- Aide pour correction de code
- Code ascii - Guide
- Code de déverrouillage oublié - Guide
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
- Code blocks - Télécharger - Langages
1 réponse
c'est suicidaire de mettre des fichiers dans une base de donnée si je te conseillerai plutôt de faire un dossier dans lequel tu pourras les stocker.
et enregistrer juste leur nom et adresse dans la base de donnée.
si tu as peur pour la sécurité rajoute une extension bidon comme .fileupload et enleve cette extension au téléchargement comme par exemple pour une image qui s'appellerai a l'origine image.png et que tu aurais appellé image.png.fileupload
header('Conten-type: image/png');
header('Content-Transfer-Encoding: binary');
header('Content-Disposition: attachment; filename="image.png"');
readfile('../upload/image.png.fileupload');
et enregistrer juste leur nom et adresse dans la base de donnée.
si tu as peur pour la sécurité rajoute une extension bidon comme .fileupload et enleve cette extension au téléchargement comme par exemple pour une image qui s'appellerai a l'origine image.png et que tu aurais appellé image.png.fileupload
header('Conten-type: image/png');
header('Content-Transfer-Encoding: binary');
header('Content-Disposition: attachment; filename="image.png"');
readfile('../upload/image.png.fileupload');