Limiter l'envoie de fichier à un seul php/sql
Angel
-
MIDO-MIDO Messages postés 24 Date d'inscription Statut Membre Dernière intervention -
MIDO-MIDO Messages postés 24 Date d'inscription Statut Membre Dernière intervention -
Bonsoir
J'ai une idée que j'ai essayer de réaliser mais j'ai pas trouver la solution !! en faite j'ai un utilisateur qui se connecte avec son login et mot de passe , ce dernier peut envoyer son document dans la base de données (une table spécifique au document qui contient nom,prenom, le titre, l'emplacement, la spécialité) . Je veux faire en sorte que si l'utilisateur envoie son document, il ne pourra plus avoir accéder à la page de l'envoie une autre fois (càd il ne peut pas envoyer deux fichier mais un seul envoie et après ca sera bloquer)
Merci de m'aider si c'est super important
J'ai une idée que j'ai essayer de réaliser mais j'ai pas trouver la solution !! en faite j'ai un utilisateur qui se connecte avec son login et mot de passe , ce dernier peut envoyer son document dans la base de données (une table spécifique au document qui contient nom,prenom, le titre, l'emplacement, la spécialité) . Je veux faire en sorte que si l'utilisateur envoie son document, il ne pourra plus avoir accéder à la page de l'envoie une autre fois (càd il ne peut pas envoyer deux fichier mais un seul envoie et après ca sera bloquer)
Merci de m'aider si c'est super important
<?php session_start(); if (!isset($_SESSION['login'], $_SESSION['motdepasse'])) { header('Location: index.php'); } ?> <?php include('connex.inc.php'); //si tous les données sont bien saisies if( !empty($_POST['nomprop'])&& !empty($_POST['prenomprop'])&& !empty($_POST['nomencadreur'])&& !empty($_POST['sujet']) && !empty($_POST['duree']) && !empty($_POST['etablissement'])&& empty($_POST['rapport']) && !empty($_POST['specialite']) ) { //récupération des données saisies dont des variables $dossier = 'upload/'; $fichier = basename($_FILES['avatar']['name']); $taille_maxi = 100000; $taille = filesize($_FILES['avatar']['tmp_name']); $extensions = array('.docx', '.pdf', '.rar'); $extension = strrchr($_FILES['avatar']['name'], '.'); //Début des vérifications de sécurité... if(file_exists($dossier . $fichier)){ $erreur = 'Veuillez renommer votre document en suivant cette exemple: PrenomNom'; } if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau { $erreur = 'Vous devez uploader un fichier de type doc, pdf ou txt'; } if($taille>$taille_maxi) { $erreur = 'Le fichier est trop gros...'; } if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload { //On formate le nom du fichier ici... $fichier = strtr($fichier, 'Ã?Â?Ã? Ã?Â?Ã?Â?Ã?Â?Ã?Â?Ã?Â?Ã?Â?Ã?Â?Ã?Â?Ã?Â?Ã?Â?Ã? Ã?Â?Ã? Ã?Â?Ã?Â?Ã?Â?Ã?Â?Ã?Â?Ã?Â?Ã?Â?Ã?Â?Ã?Â?Ã? Ã? Ã?¡Ã?¢Ã?£Ã?¤Ã?Â¥Ã?§Ã?¨Ã?©Ã?ªÃ?«Ã?¬Ã?ÂÃ?®Ã?¯Ã?°Ã?²Ã?³Ã?Â'Ã?µÃ?¶Ã?¹Ã?ºÃ?»Ã?¼Ã?½Ã?¿', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy'); $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier); if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné... { echo 'Upload effectué avec succés !'; } else //Sinon (la fonction renvoie FALSE). { echo 'Echec de l\'upload !'; } } else { echo $erreur; } $nomprop=mysql_escape_string($_POST['nomprop']); $prenomprop=mysql_escape_string($_POST['prenomprop']); $nomencadreur=mysql_escape_string($_POST['nomencadreur']); $sujet=mysql_escape_string($_POST['sujet']); $duree=mysql_escape_string($_POST['duree']); $etablissement=mysql_escape_string($_POST['etablissement']); $rapport=$dossier . $fichier; $specialite=mysql_escape_string($_POST['specialite']); //Requête SQL $requete="INSERT INTO rapport (nomprop,prenomprop ,nomencadreur, sujet, duree, etablissement, rapport, specialite) VALUES ('$nomprop','$prenomprop' ,'$nomencadreur', '$sujet', '$duree', '$etablissement', '$rapport', '$specialite')"; $requete2="INSERT INTO specialite(sujet,specialite,rapport) VALUES ('$sujet','$specialite','$rapport')"; $idcom=connex('pfe','myparam'); $idcom2=connex('pfe','myparam'); $result=mysql_query($requete,$idcom); $result2=mysql_query($requete2,$idcom2); //si le résultat de la requête est:echoué 'erreur MYSQL if(!$result) { echo mysql_errno(); echo mysql_error(); echo "<script type=\"text/javascript\"> alert('Erreur : ".mysql_error()."')</script>"; } //sinon si résultat=succés else { echo "<br><br>"; echo "Nom propritère : " .$nomprop. "<br><br>"; echo "Prénom propritère :" .$prenomprop. "<br><br>"; echo "Nom encadreur:" .$nomencadreur. "<br><br>" ; echo "Sujet :" .$sujet ."<br><br>"; echo "Durée :" .$duree. "<br><br>" ; echo "Etablissement :" .$etablissement. "<br><br>" ; echo "Rapport :" .$rapport. "<br><br>" ; echo "Spécialité :" .$specialite. "<br><br>" ; } } //si l'administrateur ne saisie pas une des données dans le formulaire d'ajout de rapport else { echo "<h5>Formulaire d'ajout de rapport incomplet, pour revenir cliquer <a class='blanc' href=\"formRapport.php\">içi</a>.</h5>"; } ?>
A voir également:
- Limiter l'envoie de fichier à un seul php/sql
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
8 réponses
Salut ...
Euuux, j'ai pas eu le temps de lire tout le script, mais comme idée, tu peut tout simplement faire une requête avant l'affichage du formulaire d'envoi pour vérifier si le nom de l'utilisateur existe dans la table des documents...
Donc si c'est le cas, c'est qu'il a déjà envoyer un fichier, alors tu lui interdit tout accès au formulaire d'envoi, sinon, il pourra envoyer son fichier ...
Euuux, j'ai pas eu le temps de lire tout le script, mais comme idée, tu peut tout simplement faire une requête avant l'affichage du formulaire d'envoi pour vérifier si le nom de l'utilisateur existe dans la table des documents...
Donc si c'est le cas, c'est qu'il a déjà envoyer un fichier, alors tu lui interdit tout accès au formulaire d'envoi, sinon, il pourra envoyer son fichier ...
tu cré d'abord un autre champ mysql (pareilque quand tu a cré tes autre table
puis dans une de tes requete par ex:
puis dans une de tes requete par ex:
$requete="INSERT INTO rapport (nomprop,prenomprop ,nomencadreur, sujet, duree, etablissement, rapport, specialite) VALUES ('$nomprop','$prenomprop' ,'$nomencadreur', '$sujet', '$duree', '$etablissement', '$rapport', '$specialite')";tu change pour
$requete="INSERT INTO rapport (nomprop,prenomprop ,nomencadreur, sujet, duree, etablissement, rapport, specialite, etat) VALUES ('$nomprop','$prenomprop' ,'$nomencadreur', '$sujet', '$duree', '$etablissement', '$rapport', '$specialite','1')";
Ben je croyais que le login etait le nom, vu que tu n'a pas citer de login plus haut ...
Supposons que le login de ton membre soit stocké dans la variable $login ...
Sinon, c'est a toi de voir, si tu utilise les session, alors tu peut recuperer son login via la session,
Voila ...Pour resumer ...
1 - On prépare une requête qui va chercher dans la table rapport un nom qui ressemble(est egale) au login
2 - On execute cette requette
3 - On classifie les resultat dans un tableau($resultat)
4 - Si il existe des resultats(logiquement au plus 1 seul resultat), ça voudrai dire qu'il existe un nom dans la table rapport qui ressemble au login, donc, que l'utilisateur a deja poster, alors on affiche un message d'excuse...
5 - Sinon, ça voudrai dire qu'il n y a aucun nom qui rssemble au login existant dans la table rapport, alors on affiche le formulaire...
Supposons que le login de ton membre soit stocké dans la variable $login ...
Sinon, c'est a toi de voir, si tu utilise les session, alors tu peut recuperer son login via la session,
$login = "Angel"; // par exemple, l'utilisateur c'est toi $existance = $bdd->prepare('SELECT nom FROM rapport WHERE nom = ?'); $existance->execute(array($login)); $resultat = $existance->fetch(); if(isset($resultat['nom']) { //Si le nom(=login) existe dans la table rapport echo "Désolé Mr/Mme, Vous avez deja poster un document"; } else { //On affiche Le formulaire }
Voila ...Pour resumer ...
1 - On prépare une requête qui va chercher dans la table rapport un nom qui ressemble(est egale) au login
2 - On execute cette requette
3 - On classifie les resultat dans un tableau($resultat)
4 - Si il existe des resultats(logiquement au plus 1 seul resultat), ça voudrai dire qu'il existe un nom dans la table rapport qui ressemble au login, donc, que l'utilisateur a deja poster, alors on affiche un message d'excuse...
5 - Sinon, ça voudrai dire qu'il n y a aucun nom qui rssemble au login existant dans la table rapport, alors on affiche le formulaire...
Bonjour, j'ai suivis votre aide et fait ceci mais ca génère une erreur
Erreur (la ligne 70 c'est celle de la requête
Notice: Undefined variable: bdd in C:\wamp\www\Site\site\cibleAjoutRapport.php on line 70
Call Stack
Fatal error: Call to a member function prepare() on a non-object in C:\wamp\www\Site\site\cibleAjoutRapport.php on line 70
$login = $_SESSION['login']; // on extrait le login de l'utilisateur connecté $existance = $bdd->prepare("SELECT mail FROM rapport WHERE mail = '".$_SESSION['login']."'"); $existance->execute(array($login)); $resultat = $existance->fetch(); if(isset($resultat['mail'])) { //Si le nom(=login) existe dans la table rapport echo "<a onclick=\"alert('Désolé Mr/Mme, Vous avez deja poster un document')\" class='blanc'><center><img src='images/trash.png'/></center></a>"; }
Erreur (la ligne 70 c'est celle de la requête
Notice: Undefined variable: bdd in C:\wamp\www\Site\site\cibleAjoutRapport.php on line 70
Call Stack
Fatal error: Call to a member function prepare() on a non-object in C:\wamp\www\Site\site\cibleAjoutRapport.php on line 70
d'accord donc j'ajoute un champ dans la table
ensuite pouvez vous svp me montrer à quelle niveau je dois mettre if($etat=1)
et surtout comment savoir que ce 1 correspond a cette utilisateur,
parce que si l'utilisateur change l'orthographe de son nom ou prenom il pourra envoyer un deuxième fichier non ?
ensuite pouvez vous svp me montrer à quelle niveau je dois mettre if($etat=1)
et surtout comment savoir que ce 1 correspond a cette utilisateur,
parce que si l'utilisateur change l'orthographe de son nom ou prenom il pourra envoyer un deuxième fichier non ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Alors voila, c'est du rapide, donc je suis pas sure du resultat ... Mais essaye pour voir...
<?php if(isset($_POST['nomprop']) AND isset($_POST['nomprop']) AND isset($_FILES['avatar'])) { try { $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; $bdd = new PDO('mysql:host=localhost;dbname=ta_bdd', 'root', '', $pdo_options); } catch (Exception $e) { die('Erreur : ' . $e->getMessage()); } $login = $_SESSION['login']; $existance = $bdd->prepare('SELECT mail, nom, prenom FROM rapport WHERE mail = ?'); $existance->execute(array($login)); $resultat = $existance->fetch(); if(isset($resultat['mail'])) { echo "<a onclick=\"alert('Désolé Mr/Mme, Vous avez deja poster un document')\" class='blanc'><center><img src='images/trash.png'/></center></a>"; } else { $valid = true; $dossier = 'upload/'; $fichier = basename($_FILES['avatar']['name']); $taille_maxi = 100000; $taille = filesize($_FILES['avatar']['tmp_name']); $extensions = array('.docx', '.pdf', '.rar'); $extension = strrchr($_FILES['avatar']['name'], '.'); if(file_exists($dossier.$fichier)){ $valid = false; $erreurnomfichier = 'Veuillez renommer votre document en suivant cette exemple: PrenomNom'; } elseif(!in_array($extension, $extensions)){ $valid = false; $erreurtypefichier = 'Vous devez uploader un fichier de type doc, pdf ou txt'; } elseif($taille>$taille_maxi) { $valid = false; $erreurtaillefichier = 'Le fichier est trop gros...'; } elseif($valid){ $fichier = $resultat['nom'].$resultat['prenom'].$extension; if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier)){ echo 'Upload effectué avec succés !'; $nomprop=mysql_escape_string($_POST['nomprop']); $prenomprop=mysql_escape_string($_POST['prenomprop']); $nomencadreur=mysql_escape_string($_POST['nomencadreur']); $sujet=mysql_escape_string($_POST['sujet']); $duree=mysql_escape_string($_POST['duree']); $etablissement=mysql_escape_string($_POST['etablissement']); $rapport=$dossier.$fichier; $specialite=mysql_escape_string($_POST['specialite']); $existance = $bdd->prepare('INSERT INTO rapport(nomprop,prenomprop ,nomencadreur, sujet, duree, etablissement, rapport, specialite) VALUES(:nomprop, :prenomprop, :nomencadreur, :sujet, :duree, :etablissement, :rapport, :specialite)'); $existance->execute(array('nomprop'=>$nomprop, 'prenomprop'=>$prenomprop, 'nomencadreur'=>$nomencadreur, 'sujet'=>$sujet, 'duree'=>$duree, 'etablissement'=>$etablissement, 'rapport'=>$rapport, 'specialite'=>$specialite)); $existance->closeCursor(); $affichage = $bdd->prepare('SELECT * FROM rapport WHERE mail = ?'); $affichage ->execute(array($login)); $resultat = $affichage ->fetch(); echo "<br><br>"; echo "Nom propritère : " .$resultat['nomprop']. "<br><br>"; echo "Prénom propritère :" .$resultat['prenomprop']. "<br><br>"; echo "Nom encadreur:" .$resultat['nomencadreur']. "<br><br>" ; echo "Sujet :" .$resultat['sujet'] ."<br><br>"; echo "Durée :" .$resultat['duree']. "<br><br>" ; echo "Etablissement :" .$resultat['etablissement']. "<br><br>" ; echo "Rapport :" .$resultat['rapport']. "<br><br>" ; echo "Spécialité :" .$resultat['specialite']. "<br><br>" ; } else{ echo 'Echec de l\'upload !'; } } else { if(isset($erreurnomfichier)) echo $erreurnomfichier; if(isset($erreurtypefichier)) echo $erreurtypefichier; if(isset($erreurtaillefichier)) echo $erreurtaillefichier; } } } ?>
maintenant il n y a ni affichage du message
$erreurnomfichier = 'Veuillez renommer votre document en suivant cette exemple: PrenomNom';
ni ajout dans la base
eDIT
Meme l'envoie d'un fichier (qui n'a pasun autre du meme nom ne se fait plus)
$erreurnomfichier = 'Veuillez renommer votre document en suivant cette exemple: PrenomNom';
ni ajout dans la base
eDIT
Meme l'envoie d'un fichier (qui n'a pasun autre du meme nom ne se fait plus)
CREATE TABLE IF NOT EXISTS 'rapport' (
'referencerapport' int(10) NOT NULL AUTO_INCREMENT,
'nomprop' varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
'prenomprop' varchar(30) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
'mail' varchar(100) NOT NULL,
'nomencadreur' varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
'sujet' varchar(500) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
'duree' int(10) NOT NULL,
'etablissement' varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
'rapport' varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
'specialite' varchar(30) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY ('referencerapport')
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=53 ;
'referencerapport' int(10) NOT NULL AUTO_INCREMENT,
'nomprop' varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
'prenomprop' varchar(30) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
'mail' varchar(100) NOT NULL,
'nomencadreur' varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
'sujet' varchar(500) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
'duree' int(10) NOT NULL,
'etablissement' varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
'rapport' varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
'specialite' varchar(30) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY ('referencerapport')
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=53 ;
Voila ...Normalement ...
<form method="post" action="ajout_fichier_bdd.php" enctype="multipart/form-data"> nomprop <input type="text" name="nomprop" /><br /> prenomprop <input type="text" name="prenomprop" /><br /> mail <input type="text" name="mail" /><br /> nomencadreur <input type="text" name="nomencadreur" /><br /> sujet <input type="text" name="sujet" /><br /> duree <input type="text" name="duree" /><br /> etablissement <input type="text" name="etablissement" /><br /> rapport <input type="text" name="rapport" /><br /> specialite <input type="text" name="specialite" /><br /> <input type="file" name="avatar" /><br /> <input type="submit" value="ENVOYER" /> </form> <?php if(isset($_POST['nomprop']) AND isset($_POST['prenomprop']) AND isset($_FILES['avatar'])) { try { $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; $bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '', $pdo_options); } catch (Exception $e) { die('Erreur : ' . $e->getMessage()); } $login = $_SESSION['login']; $existance = $bdd->prepare('SELECT mail, nomprop, prenomprop FROM rapport WHERE mail = ?'); $existance->execute(array($login)); $resultat = $existance->fetch(); if(isset($resultat['mail'])) { echo "<a onclick=\"alert('Désolé Mr/Mme, Vous avez deja poster un document')\" class='blanc'><center><img src='images/trash.png'/></center></a>"; } else { $valid = true; $dossier = 'upload/'; $fichier = basename($_FILES['avatar']['name']); $taille_maxi = 10000; $taille = filesize($_FILES['avatar']['tmp_name']); $extensions = array('.docx', '.pdf', '.rar', '.txt'); $extension = strrchr($_FILES['avatar']['name'], '.'); if(file_exists($dossier.$fichier)){ $valid = false; $erreurnomfichier = 'Veuillez renommer votre document en suivant cette exemple: PrenomNom'; } elseif(!in_array($extension, $extensions)){ $valid = false; $erreurtypefichier = 'Vous devez uploader un fichier de type doc, pdf ou txt'; } elseif($taille>$taille_maxi) { $valid = false; $erreurtaillefichier = 'Le fichier est trop gros...'; } elseif($valid){ $fichier = $_POST['nomprop'].$_POST['prenomprop'].$extension; if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier)){ echo 'Upload effectué avec succés !'; $nomprop=htmlentities($_POST['nomprop']); $prenomprop=htmlentities($_POST['prenomprop']); $nomencadreur=htmlentities($_POST['nomencadreur']); $sujet=htmlentities($_POST['sujet']); $duree=htmlentities($_POST['duree']); $mail=htmlentities($_POST['mail']); $etablissement=htmlentities($_POST['etablissement']); $rapport=$dossier.$fichier; $specialite=htmlentities($_POST['specialite']); $existance = $bdd->prepare('INSERT INTO rapport(nomprop,prenomprop, mail,nomencadreur, sujet, duree, etablissement, rapport, specialite) VALUES(:nomprop, :prenomprop, :mail, :nomencadreur, :sujet, :duree, :etablissement, :rapport, :specialite)'); $existance->execute(array('nomprop'=>$nomprop, 'prenomprop'=>$prenomprop, 'mail'=>$mail, 'nomencadreur'=>$nomencadreur, 'sujet'=>$sujet, 'duree'=>$duree, 'etablissement'=>$etablissement, 'rapport'=>$rapport, 'specialite'=>$specialite)); $existance->closeCursor(); $existance = $bdd->prepare('SELECT * FROM rapport WHERE mail = ?'); $existance->execute(array($login)); $resultat = $existance->fetch(); echo "<br><br>"; echo "Nom propritère : " .$resultat['nomprop']. "<br><br>"; echo "Prénom propritère :" .$resultat['prenomprop']. "<br><br>"; echo "Nom encadreur:" .$resultat['nomencadreur']. "<br><br>" ; echo "Sujet :" .$resultat['sujet'] ."<br><br>"; echo "Durée :" .$resultat['duree']. "<br><br>" ; echo "Etablissement :" .$resultat['etablissement']. "<br><br>" ; echo "Rapport :" .$resultat['rapport']. "<br><br>" ; echo "Spécialité :" .$resultat['specialite']. "<br><br>" ; } else{ echo 'Echec de l\'upload !'; } } if(isset($erreurnomfichier)) echo $erreurnomfichier; if(isset($erreurtypefichier)) echo $erreurtypefichier; if(isset($erreurtaillefichier)) echo $erreurtaillefichier; } } ?>
Pour la première erreur, si par exemple vous upalodé un fichier nomé xx.doc qui contient le mot salut et que apres vous voulez essayer d'uploader une deuxième fois avec un doc nommé xx.doc et contient le mot bye bye -- > vous pouvez le faire, et l'envoie de fichier de fichier se fait et vous aurez à la fin un fichier nommé xx.doc et qui contient bye bye
et dans la base deux lignes avec le meme nom
il y a eu ecrasement du premier fichier et l'envoie d'un deuxième ce que moi je veux eviter
càd apres le premier envoie on l'arrete
vous avez raison vous savez je deviens dingue avec cette page j'essaye de la regler depuis plus de 24h maintenant merci pour votre
et dans la base deux lignes avec le meme nom
il y a eu ecrasement du premier fichier et l'envoie d'un deuxième ce que moi je veux eviter
càd apres le premier envoie on l'arrete
vous avez raison vous savez je deviens dingue avec cette page j'essaye de la regler depuis plus de 24h maintenant merci pour votre
Non il ne sera pas ecraser, sauf si les deux utilisateurs ont le meme nom et prenom, parce que les fichiers sont stocké de la maniere que tu ma demander => nomPrenom.docx ...
Alors seulement dans le cas ou deux utilisateur qui ont le meme nom et prenom peuvent avoir ce probleme, tu peut y remedier en faisant ça ...
(ligne 62)
Puisque le mail est UNIQUE, alors tu n'aura pas affaire a ce problème ....
Alors seulement dans le cas ou deux utilisateur qui ont le meme nom et prenom peuvent avoir ce probleme, tu peut y remedier en faisant ça ...
(ligne 62)
$fichier = $_POST['nomprop'].$_POST['mail'].$extension;
Puisque le mail est UNIQUE, alors tu n'aura pas affaire a ce problème ....