Aller au contenu

Formulaire d'upload


Sujets conseillés

Posté (modifié)

J'abdique...ça fait 2 jours que je me prends la tête à essayer le faire tourner, mais ça veut pas...

Je viens donc demander vos bons conseils....

<html>

<!--***************************************************************************
*                                index.php
*   begin                : Wednesday, January 5th 2005
*   Autor                : DesertStorm for Mechstorm.net
*   email                : desertstorm_AT_mechstorm.net
*
*   $Id: index.php,v 1 2005/01/05
*
***************************************************************************-->

<head>
     <title>Mechstorm.net Download Center | Supplied by Easyhosts.com</title>
</head>

<body bgcolor="000000" text="FBAE57" leftmargin="5" topmargin="5" marginwidth="5" marginheight="5" link="FBAE57" alink="F15834" vlink="FFFFFF">
<center>

<span style="color:red"><?PHP echo $infos; ?></span><br>
<form name="upload" method="post" action="./upload.php3" enctype="multipart/form-data">
author: <input type="text" name="author" size="30" maxlength="30" value="<?PHP echo $author; ?>"><br><br>
file name: <input type="text" name="filename" size=30 maxlength=50 value="<?PHP echo $filename; ?>"><br><br>
description: <input type="text" rows="5" cols="20" name="description" size=30 maxlength=50 value="<?PHP echo $description; ?>"><br><br>
category: <input type="text" name="category" size=30 maxlength=50 value="<?PHP echo $category; ?>"><br><br>
<input type="hidden" name="MAX_FILE_SIZE" value="5000000">
File: <input type="file" name="file1"><br><br>
<input type="submit" value="Upload!">
<br><br>
<a href="./index2.php3">Back to downloads</a>
</form>

<?php
 $filename = $_POST['filename'];
 $author = $_POST['author'];
 $category = $_POST['category'];
 $description = $_POST['description'];
 
 //Initialisation de la variables $infos
 $infos = '';

 //Vérification du author et du filename
 if ($filename == '') $infos .= "- You must enter a file name!<br>n";
 if ($author == '') $infos .= "- You must enter an author name!<br>n";
 if ($category == '') $infos .= "- You must enter an category!<br>n";
 if ($description == '') $infos .= "- You must enter a description of this file!<br>n";

 //Pour savoir si le fichier a été uploadé, on vérifie que le fichier est bien dans le tableau des fichiers
 if (!empty($_FILES['file1']['size'])){
 //On récupère la taille, le nom et le nom du fichier temporaire
 $f1_size = $_FILES['file1']['size'];
 $f1_name = $_FILES['file1']['name'];
 $f1_tmpname = $_FILES['file1']['tmp_name'];

 //Récupération de l'extension du fichier (on prend ce qui suit le dernier point et on le met en minuscule
 $ext = strtolower(substr($f1_name,strrpos($f1_name, ".")+1));
 //Création du tableau des extensions acceptées
 $allowed = array("exe","zip","ace","rar","doc","txt");

 //On vérifie la taille et le type de fichier
 if ($f1_size > 5000000) $infos .= "- Your file is way to big!!!<br>n";
 if (!in_array($ext,$allowed)) $infos .= "- Sorry, we don't accept this type of files!<br>n";

 //Si tout est bon (aucune erreur dans $infos), on déplace le fichier
 if ($infos == ''):
 move_uploaded_file($f1_tmpname, "./upload/{$f1_name}") or $infos .= "- Impossible to upload this file, please contact an admin!<br>n";
 if ($infos == ''){
   $res = mysql_connect('localhost','','') or die("CONNECT :".mysql_error());
   mysql_select_db('dlsite_mechstorm',$res) or die("USE DB :".mysql_error());
   $add = mysql_query("INSERT INTO files VALUES ('','{$filename}','{$author}','{$category}','{$description}','{$f1_name}',{$f1_size});");
 }
 endIf;
 }else $infos .= "- You must choose a file to upload!<br>n";

 //Si le formulaire n'a pas encore été validé, on n'affiche pas les erreurs
 if (empty($_POST['MAX_FILE_SIZE'])) $infos = '';

 //Si il y a eu une erreur ou si le formulaire n'a pas encore été validé (Facile à savoir, tant que le formulaire n'est pas validé, MAX_FILE_SIZE est vide), on l'affiche
 if ($infos != '' || empty($_POST['MAX_FILE_SIZE'])):
 //Affichage des informations d'erreur au début du formulaire
 ?>

 <br><br>The following file has been submitted : <br>

 <?
 //On affiche ici les informations saisies
 echo " File name : $filename <br>";
 echo " Author : $author <br>";
 echo " Category : $category <br>";
 echo " Description : $description <br>";
 echo " File size : $size <br>";
 echo " If some informations are incorrect, please contact an admin. <br>";

 //On envoit un mail contenant les données
 mail("mechwar_AT_mechstorm.net", "New file uploaded to Download Center", "$filename\n$author\n$category\n$description", "From: upload_AT_mechstorm.com\n");

 //Header("Location: http://www.mechstorm.com");
 ?>

 <a href="./index2.php3">Back to downloads</a>
 </center>

</body>
</html>

A vot'bon coeur m'sieur, dames :P

l'erreur retournée en ce moment est :

Parse error: parse error, unexpected $ in /home/dlsite/public_html/upload.php3 on line 120
Modifié par cyrilg38
Posté

le probleme c'est que ton fichier ne fait pas 120 lignes...

tu n'as pas mis le bon code, dans les commentaires, c'est marqué index.php et l'erreur dit que c'est upload.php3 qui plante ;)

Posté

si c'est le bon code, c'est juste que je n'ai pas changé le nom dans le commentaire (copié/collé de index.php, faut être fainéant un peu ;))

Posté (modifié)

je reste cependant convaincu que ton morceau de code ne dépasse pas 105 lignes...

je suis curieux de voir comment tu peux recevoir de l'aide sur ton erreur a la ligne 120

a vue d'oeuil, tu as un probleme avec tes 'if' qui ne seraient pas tous fermé

et le 'endif' au milieu, c'est normal?

Modifié par Vincent B
Posté

<html>

<!--***************************************************************************
*                                index.php
*   begin                : Wednesday, January 5th 2005
*   Autor                : DesertStorm for Mechstorm.net
*   email                : desertstorm_AT_mechstorm.net
*
*   $Id: index.php,v 1 2005/01/05
*
***************************************************************************-->

<head>
    <title>Mechstorm.net Download Center | Supplied by Easyhosts.com</title>
</head>

<body bgcolor="000000" text="FBAE57" leftmargin="5" topmargin="5" marginwidth="5" marginheight="5" link="FBAE57" alink="F15834" vlink="FFFFFF">
<center>

<span style="color:red"><?PHP echo $infos; ?></span><br>
<form name="upload" method="post" action="./upload.php3" enctype="multipart/form-data">
author: <input type="text" name="author" size="30" maxlength="30" value="<?PHP echo $author; ?>"><br><br>
file name: <input type="text" name="filename" size=30 maxlength=50 value="<?PHP echo $filename; ?>"><br><br>
description: <input type="text" rows="5" cols="20" name="description" size=30 maxlength=50 value="<?PHP echo $description; ?>"><br><br>
category: <input type="text" name="category" size=30 maxlength=50 value="<?PHP echo $category; ?>"><br><br>
<input type="hidden" name="MAX_FILE_SIZE" value="5000000">
File: <input type="file" name="file1"><br><br>
<input type="submit" value="Upload!">
<br><br>
<a href="./index2.php3">Back to downloads</a>
</form>

<?php
$filename = $_POST['filename'];
$author = $_POST['author'];
$category = $_POST['category'];
$description = $_POST['description'];

//Initialisation de la variables $infos
$infos = '';

//Vérification du author et du filename
if ($filename == '')
$infos .= "- You must enter a file name!<br>n";
if ($author == '')
$infos .= "- You must enter an author name!<br>n";
if ($category == '')
$infos .= "- You must enter an category!<br>n";
if ($description == '')
$infos .= "- You must enter a description of this file!<br>n";

//Pour savoir si le fichier a été uploadé, on vérifie que le fichier est bien dans le tableau des fichiers
if (!empty ($_FILES['file1']['size'])) {
//On récupère la taille, le nom et le nom du fichier temporaire
$f1_size = $_FILES['file1']['size'];
$f1_name = $_FILES['file1']['name'];
$f1_tmpname = $_FILES['file1']['tmp_name'];

//Récupération de l'extension du fichier (on prend ce qui suit le dernier point et on le met en minuscule
$ext = strtolower(substr($f1_name, strrpos($f1_name, ".") + 1));
//Création du tableau des extensions acceptées
$allowed = array ("exe", "zip", "ace", "rar", "doc", "txt");

//On vérifie la taille et le type de fichier
if ($f1_size > 5000000)
 $infos .= "- Your file is way to big!!!<br>n";
if (!in_array($ext, $allowed))
 $infos .= "- Sorry, we don't accept this type of files!<br>n";

//Si tout est bon (aucune erreur dans $infos), on déplace le fichier
if ($infos == '')
 move_uploaded_file($f1_tmpname, "./upload/{$f1_name}") or $infos .= "- Impossible to upload this file, please contact an admin!<br>n";
if ($infos == '') {
 $res = mysql_connect('localhost', 'dlsite', 'temporary') or die("CONNECT :".mysql_error());
 mysql_select_db('dlsite_mechstorm', $res) or die("USE DB :".mysql_error());
 $add = mysql_query("INSERT INTO files VALUES ('','{$filename}','{$author}','{$category}','{$description}','{$f1_name}',{$f1_size});");
}
} else
$infos .= "- You must choose a file to upload!<br>n";

//Si le formulaire n'a pas encore été validé, on n'affiche pas les erreurs
if (empty ($_POST['MAX_FILE_SIZE']))
$infos = '';

//Si il y a eu une erreur ou si le formulaire n'a pas encore été validé (Facile à savoir, tant que le formulaire n'est pas validé, MAX_FILE_SIZE est vide), on l'affiche
if ($infos != '' || empty ($_POST['MAX_FILE_SIZE']))
:
//Affichage des informations d'erreur au début du formulaire
?>

<br><br>The following file has been submitted : <br>

<?


//On affiche ici les informations saisies
echo " File name : $filename <br>";
echo " Author : $author <br>";
echo " Category : $category <br>";
echo " Description : $description <br>";
echo " File size : $size <br>";
echo " If some informations are incorrect, please contact an admin. <br>";

//On envoit un mail contenant les données
mail("mechwar_AT_mechstorm.net", "New file uploaded to Download Center", "$filename\n$author\n$category\n$description", "From: upload_AT_mechstorm.com\n");

//Header("Location: http://www.mechstorm.com");
?>

<a href="./index2.php3">Back to downloads</a>
</center>

</body>
</html>

Ca devrait mieux marcher... Tes {} n'étaient pas toutes bonnes

Posté (modifié)

ça marche pas plus....

j'ai repris le code depuis le début en essayant d'éviter les erreurs. La page du formulaire s'affiche mais quand je valide j'obtiens à nouveau un parse error

<?PHP
 //Initialisation de la variables $infos
 $infos = '';

 //Initialisation des variables du formulaire (mise à '' si elles sont vides)
 empty($_POST['author']) ? $author = '' : $author = $_POST['author'];
 empty($_POST['filename']) ? $filename = '' : $filename = $_POST['filename'];
 empty($_POST['category']) ? $category = '' : $category = $_POST['category'];
 empty($_POST['description']) ? $description = '' : $description = $_POST['description'];

 //Vérification du author et du filename
 if ($filename == '')
   $infos .= "- You must enter a file name!<br>";
 if ($author == '')
   $infos .= "- You must enter an author name!<br>";
 if ($category == '')
   $infos .= "- You must enter an category!<br>";
 if ($description == '')
   $infos .= "- You must enter a description of this file!<br>";

 //Pour savoir si le fichier a été uploadé, on vérifie que le fichier est bien dans le tableau des fichiers
 if (!empty ($_FILES['file1']['size']))
 {
   //On récupère la taille, le nom et le nom du fichier temporaire
   $f1_size = $_FILES['file1']['size'];
   $f1_name = $_FILES['file1']['name'];
   $f1_tmpname = $_FILES['file1']['tmp_name'];

   //Récupération de l'extension du fichier (on prend ce qui suit le dernier point et on le met en minuscule
   $ext = strtolower(substr($f1_name, strrpos($f1_name, ".") + 1));
   //Création du tableau des extensions acceptées
   $allowed = array ("exe", "zip", "ace", "rar", "doc", "txt");

   //On vérifie la taille et le type de fichier
   if ($f1_size > 5000000)
     $infos .= "- Your file is way to big!!!<br>";
   if (!in_array($ext, $allowed))
     $infos .= "- Sorry, we don't accept this type of files!<br>";

   //Si tout est bon (aucune erreur dans $infos), on déplace le fichier
   if ($infos == '')
     move_uploaded_file($f1_tmpname, "./upload/{$f1_name}") or $infos .= "- Impossible to upload this file, please contact an admin!<br>n";
   if ($infos == '')
   {
     $res = mysql_connect('localhost', '', '') or die("CONNECT :".mysql_error());
     mysql_select_db('dlsite_mechstorm', $res) or die("USE DB :".mysql_error());
     $add = mysql_query("INSERT INTO files VALUES ('','{$filename}','{$author}','{$category}','{$description}','{$f1_name}',{$f1_size});");
   }
 }
 else
   $infos .= "- You must choose a file to upload!<br>";

 //Si le formulaire n'a pas encore été validé, on n'affiche pas les erreurs
 if (empty($_POST['MAX_FILE_SIZE'])) $infos = '';

 //Si il y a eu une erreur ou si le formulaire n'a pas encore été validé (Facile à savoir, tant que le formulaire n'est pas validé, MAX_FILE_SIZE est vide), on l'affiche
 if ($infos != '' || empty($_POST['MAX_FILE_SIZE'])):
 //Affichage des informations d'erreur au début du formulaire
?>

<span style="color:red"><?PHP echo $infos; ?></span><br>

<form name="upload" method="post" action="./upload.php3" enctype="multipart/form-data">
author: <input type="text" name="author" size="30" maxlength="30" value="<?PHP echo $author; ?>"><br><br>
file name: <input type="text" name="filename" size=30 maxlength=50 value="<?PHP echo $filename; ?>"><br><br>
description: <input type="text" rows="5" cols="20" name="description" size=30 maxlength=50 value="<?PHP echo $description; ?>"><br><br>
category: <input type="text" name="category" size=30 maxlength=50 value="<?PHP echo $category; ?>"><br><br>
<input type="hidden" name="MAX_FILE_SIZE" value="5000000">
File: <input type="file" name="file1"><br><br>
<input type="submit" value="Upload!">
<br><br>
<a href="./index2.php3">Back to downloads</a>
</form>

<?PHP ENDif;
 if ($infos == '' && !empty($_POST['MAX_FILE_SIZE']))
   echo "BRAVO, transfert réussi!";
?>

Modifié par cyrilg38
Posté

bon, je viens de retenter le coup et maintenant il semble tourner un minimum....par contre il me dit à chaque fois que je n'ai pas indiqué de fichier à uploader.... :boude:

  • 2 semaines plus tard...

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...