Nom de fichier et d'insertion de variable dans la table
Bonjour à tous,
je me permets de venir vers vous car j'ai un soucis avec un petit programme que j'ai developpé.
ALors je vous explique : des étudiants via un login et un mot de passe doivent se logger afin de télécharger une photo qui doit être renomée par leur nom et prenom et entrer un nombre d'accompagants.
Alors l'upload se fait très bien mais le fichier n'est pas renommé et lors du nombre de participants il met a jour tous les champs participants de toute la table.
Voici mon code :
PAGE INDEX
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
| <HTML>
<HEAD>
<Title>Accueil</Title>
</HEAD>
<body bgcolor ="white">
<b><center><u>Page réservée aux étudiants de Master 2 et aux docteurs en sciences psychologiques et de l'éducation</b></center></u>
<BR>
Veuillez entrer votre login et votre mot de passe, ceux-ci se trouvent dans le courrier que vous avez reçu, afin de pouvoir télécharger votre photo.
Chaque personne, a reçu un login et un mot de passe, différent pour chacun!!
<?
if (!isset($_POST["entre"]))
{
echo "<FORM method = \"POST\" action = \"index.php\">";
echo "Login : "."<input type = \"text\" name = \"login\">";
echo"<BR>";
echo "<BR>"."Mot de Passe : "."<input type = \"password\" name = \"pswd\">";
echo"<BR>";
echo "<BR>"."<input type = \"submit\" name = \"entre\" value = \"Entrer\">";
echo "</FORM>";
}
else
{
//connexion à la base de donnée
require ("autorisation.php");
require ("branchement.php");
//lecture et mise en mémoire des valeurs entrées par l'utilisateur
$login = $_POST['login'];
$pswd = $_POST['pswd'];
//fonction de vérification par rapport à la bd
$sql = "SELECT pswd FROM promotions WHERE Nom ='$login'";
$result = mysql_query ($sql);
//si le mot de passe entré et celui de la db sont idem alors message de bienvenu admin
if (mysql_num_rows($result)> 0)
{
$pass_db = mysql_result($result,0);
if($pass_db == $pswd)
{
echo"<BR>";
echo"pour acceder à votre page cliquer ici";
echo"<BR>";
echo '<a href ="upload.php">Pour encoder votre photo, veuillez cliquer sur ce lien</a>';//lien hypertexte
}
//si non on dit que les données ne correspondent a celle de l admin
else
{
echo"les données que vous avez entrés ne correspondent pas à un étudiant";
}
} else
{
// pas d'utlisateur de se nom
echo"vous n'êtes pas autorisés dans cette partie";
}
}
?>
</body>
</HTML> |
PAGE PROMOTION
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <HTML>
<HEAD>
<Title>Partie Administration</Title>
</HEAD>
<body bgcolor ="white">
<form method="POST" action="upload.php" enctype="multipart/form-data">
<!-- On limite le fichier à 500Ko -->
<input type="hidden" name="MAX_FILE_SIZE" value="500000">
Fichier : <input type="file" name="avatar">
<input type="submit" name="envoyer" value="Envoyer le fichier">
</form>
</body>
</HTML> |
PAGE UPLOAD
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
| <?php
session_start();
$nom= $_REQUEST['Nom'];
$prenom= $_REQUEST['prenom'];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Téléchargement</title>
<meta name="generator" content="BBEdit 9.5" />
<Style>
p {font-family:calibri;font-size:18pt}
li {font-family:calibri;font-size:18pt;font-style:italic}
.center{ text-align: center; }
</style>
</head>
<body>
<body bgcolor ="white">
<form method="POST" action="upload.php?nom=<?php echo $nom;?>&prenom=<?php echo $prenom;?>" enctype="multipart/form-data">
<!-- On limite le fichier à 500Ko -->
<P> Petits rappels...
<ul>
<li>L'extension doit être ".jpg", ".jpeg", ".png" ou ".gif"</li>
<li>Le nom du fichier que vous allez télécharger doit avoir la forme NOM.PRENOM.EXTENSION (ex. : <? echo $nom . "." . $prenom . ".jpg";?>) </li>
<li>La taille du fichier ne doit pas dépasser 500 Ko. </li>
</ul>
<br>
<br>
<br>
Nombre d' accompagnants : <select name="nombre">
<option>0</option>
<option>1</option>
<option>2</option>
</select>
<br>
<br>
Fichier : <input type="file" name="photo" accept="image/*" size=60>
<br>
<br>
<input type="submit" name="envoyer" value="télécharger">
</form>
<BR><BR> <P>Soyez patient... Le transfert peut durer quelques minutes !
<?php
require ("autorisation.php");
require ("branchement.php");
if(isset($_FILES['photo']))
{
$nombre=$_POST['nombre'];
$dossier = 'upload/';
$fichier = basename($_FILES['photo']['name']);
$taille_maxi = 500000;
$taille = filesize($_FILES['photo']['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg');
$extension = strrchr($_FILES['photo']['name'], '.');
//echo "$fichier <BR> $taille <BR> $extension <BR> $extensions <BR>";
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
$erreur = '<P>Attention : Vous devez choisir un fichier de type png, gif, jpg ou jpeg';
}
if($taille>$taille_maxi)
{
$erreur = '<P> Attention : Le fichier est trop volumineux...';
}
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);
$nomprenom = strtr($nom.$prenom,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
if(move_uploaded_file($_FILES['photo']['tmp_name'],
$dossier.$nomprenom."_".$fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
{
echo "<P> Le téléchargement est terminé et réussi ! Merci, Bye bye !";
}
else //Sinon (la fonction renvoie FALSE).
{
echo "<P>Il y a eu un problème. Le téléchargement n'a pas pu être fait.";
}
mysql_query ("INSERT INTO promotions (Accompagnants) VALUES ('$nombre')") or die("Erreur : ".mysql_error());
}
else
{
echo $erreur;
}
}
?>
</body>
</HTML> |
D'avance merci pour votre aide