8722 sujets

Développement web côté serveur, CMS

Bonjour je vous écris car je me retrouve face a un problème et j'ai beau chercher je n'y arrive décidément pas voici mon problème :

Sur mon site j'ai créé un formulaire : upload/1512674665-68062-formulaire.jpg

Alors voila ce que j'aimerai que l'utilisateur puisse entrer des informations dans "title" "pseudo" "monster" avec un maximum de caractère pour "title" de 100 caractères pour "pseudo" de 16 caractères et pour "monster" de 20 caractères.

Une liste déroulante qui choisis un nom qui représente son serveur ( mais ça c'est pas important pour vous )

Et qu'il puisse ajouter un fichier dans un seul et unique format le format ".webm"

Et enfin qu'il puisse envoyer le fichier que je recois alors à la base je m'étais dit par mail puis j'ai entendu que cela pouvait être stocké grâce a php sur un fichier temporaire. Donc je ne sais pas encore ce qui est le mieux !

Pour mon code j'en suis la :

<form action="envoieformulaire.php" class=""enctype="multipart/form-data">
<div class="half left cf">
     
<input type="hidden" name="access" value="stopspam">
<input name="title" type="text" id="input-name" placeholder="title">
<input name="summoner" type="text" id="input-subject" placeholder="pseudo">
<input name="champion" type="text" id="input-subject" placeholder="monster">
<div class="select">
    <select name="server" id="pays">
           <option value="europe-west">EUW</option>
           <option value="europe-nord">EUNE</option>
           <option value="nord-america">NA</option>
           <option value="japan">JP</option>
           <option value="brasil">BR</option>
           <option value="turkey">TR</option>
           <option value="lan">LAN</option>
           <option value="korea">KR</option>
       <option value="oceania">OCE</option>
           <option value="LAS">LAS</option>
       <option value="russia">RU</option>
       </select>
       </div>
  </div> 
   
  <label for="file">Choose File</label>
  <input type="file" name="monfichier" id="file" />
 
<div id="info">
  <p id="size">File Size: <span></span></p>
  <p id="type">File Type: <span></span></p>
</div>
 
  <input method="post" type="submit" class="submit" value="SEND" />
  <div class="close"></div>
</form>


Mais voilà la ou je bloque :

- déjà quel moyen de réception choisir ? Mail ou Dossier éphèmère php ?

- Comment sécuriser l'envoi ( ne pas recevoir de spam / que le dossier envoyer respect bien le format unique ".webm"

- Et comment faire pour réceptionner les informations envoyées !

Je sais que j'en demande beaucoup mais je bloque vraiment la dessus si vous avez des idées des suggestions je suis preneur merci d'avance a vous tous pour votre patience et votre savoir !
Bonsoir Vaudoo,
récupérer les fichiers avec input type="file" est très bien.
Tu peux limiter le type de fichier avec l'attribut accept=".webm"
Le fichier envoyer est enregistrer dans une répertoire dédié à cela sur le serveur.
Pour le garder en permanence tu dois le copier à l'emplacement de ton choix.
Et pour pouvoir l'exploiter par la suite tu dois conserver le chemin et le nom du fichier dans une base de donnée dont tu te serviras pour le retrouver.
Pour la sécurité je suis pas un expert d'autre te répondront mieux que moi mais tu dois limiter la taille du fichier que l'on peut t'envoyer (il y une limite par défaut),
contrôler le contenu au moins avec la fonction php "mime_content_type".
Contrôler si le fichier envoyé ne pas déjà été envoyé par le même utilisateur et dans ce cas est-ce qu'il faut remplacer le fichier existant ou en créer un deuxième etc etc...
Bref si tu veux des contrôles poussés il te faut une analyse poussée de ce que veux faire.

Maintenant si tu ne compte pas exploiter le fichier transmis sur ton site ou dans une base de donnée alors une pièce jointe à un e-mail suffit...

Pour le code tu trouveras sur le site officiel de php des exemples et explications ici:
http://php.net/manual/fr/features.file-upload.post-method.php

Si tu veux aller plus loin dans ton projet il va falloir que tu apprennes le PHP ou un langage équivalent pour pouvoir exploiter tes informations du côté serveur...et tu pourras toujours poser des questions sur alsa pour que l'on t'aide quand tu es bloqué!

Bon courage,
GJboba
Meilleure solution