IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

formulaire upload php


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Par défaut formulaire upload php
    Bonjour,
    je suis entrain de réaliser un site web dynamique avec php/mysql avec dreamweaver mx
    Sur mon site web j'ai un formulaire avec un champ de fichier et j'utilise php upload
    Mais quand on remplis le formulaire il ne peut pas aboutir si le champ de fichier est vide
    Pourriez vous m'aider à ce sujet,
    Et merci d'avance.

  2. #2
    Membre confirmé Avatar de islyoung2
    Homme Profil pro
    Inscrit en
    Juin 2008
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42

    Informations forums :
    Inscription : Juin 2008
    Messages : 236
    Par défaut
    Salut;
    voici un petit script qui fais le teste avec js d'un input type file avant de poster le formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Document sans titre</title>
    <script language="javascript">
    function control_form(form_name)
    {
    	formulaire_valide	=	true;
    	error_msg			=	'';
    	if(form_name.elements['file_name'].value =='')
    	{
    		formulaire_valide	=	false;
    		error_msg			=	'veillez remplir tous les champs';
    	}
     
     
    	if(formulaire_valide == true)
    	{
    		form_name.submit();
    	}
    	else
    	{
    		document.getElementById('msg_div').innerHTML=error_msg;
    	}
    }
    </script>
    </head>
     
    <body>
    <div id="msg_div" style="color:#FF0000; font-size:11px; height:20px;"></div>
    <form action="control_input.php" name="suscribe" method="post">
        <input type="file" name="file_name" />
        <input type="button" value="valider" onclick="control_form(document.suscribe);" />
    </form>
    </body>
    </html>
    si sa ne répond pas à ta question n'hésite pas à demander.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Par défaut
    Citation Envoyé par islyoung2 Voir le message
    Salut;
    voici un petit script qui fais le teste avec js d'un input type file avant de poster le formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Document sans titre</title>
    <script language="javascript">
    function control_form(form_name)
    {
    	formulaire_valide	=	true;
    	error_msg			=	'';
    	if(form_name.elements['file_name'].value =='')
    	{
    		formulaire_valide	=	false;
    		error_msg			=	'veillez remplir tous les champs';
    	}
     
     
    	if(formulaire_valide == true)
    	{
    		form_name.submit();
    	}
    	else
    	{
    		document.getElementById('msg_div').innerHTML=error_msg;
    	}
    }
    </script>
    </head>
     
    <body>
    <div id="msg_div" style="color:#FF0000; font-size:11px; height:20px;"></div>
    <form action="control_input.php" name="suscribe" method="post">
        <input type="file" name="file_name" />
        <input type="button" value="valider" onclick="control_form(document.suscribe);" />
    </form>
    </body>
    </html>
    si sa ne répond pas à ta question n'hésite pas à demander.
    En fait il faut que le champ de fichier soit optionel
    Voici le code du upload
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    //	---------------------------------------------
    //	Pure PHP Upload version 1.1
    //	-------------------------------------------
    if (phpversion() > "4.0.6") {
    	$HTTP_POST_FILES = &$_FILES;
    }
    define("MAX_SIZE",300000);
    define("DESTINATION_FOLDER", "./img");
    define("no_error", "pagemembre.php");
    define("yes_error", "echoue.php");
    $_accepted_extensions_ = "gif,jpg,jpeg";
    if(strlen($_accepted_extensions_) > 0){
    	$_accepted_extensions_ = @explode(",",$_accepted_extensions_);
    } else {
    	$_accepted_extensions_ = array();
    }
    $_file_ = @$HTTP_POST_FILES['photo'];
    if(is_uploaded_file($_file_['tmp_name']) && $HTTP_POST_FILES['photo']['error'] == 0){
    	$errStr = "";
    				$categorie = $_POST['categorie'];
    				$modelle = $_POST['modelle'];
    				$annee = $_POST['annee'];
    				$prix = $_POST['prix'];
    				$resume = $_POST['resume'];
    				$id_membre = $_POST['id_membre'];
    	$_name_ = $_file_['name'];
    	$_type_ = $_file_['type'];
    	$_tmp_name_ = $_file_['tmp_name'];
    	$_size_ = $_file_['size'];
    	if($_size_ > MAX_SIZE && MAX_SIZE > 0){
    		$errStr = "File troppo pesante";
    	}
    	$_ext_ = explode(".", $_name_);
    	$_ext_ = strtolower($_ext_[count($_ext_)-1]);
    	if(!in_array($_ext_, $_accepted_extensions_) && count($_accepted_extensions_) > 0){
    		$errStr = "Estensione non valida";
    	}
    	if(!is_dir(DESTINATION_FOLDER) && is_writeable(DESTINATION_FOLDER)){
    		$errStr = "Cartella di destinazione non valida";
    	}
    	if(empty($errStr)){
    		if(@move_uploaded_file($_tmp_name_,DESTINATION_FOLDER . "/" . $_name_)){
    			header("Location: " . no_error);
    			mysql_select_db($database_kart, $kart);
    			$insertMateriel = "INSERT INTO materiel (categorie, modelle, annee, prix, resume, photo, id_membre) VALUES ('$categorie', '$modelle', '$annee', '$prix', '$resume', '$_name_', $id_membre)";
    			mysql_query($insertMateriel, $kart) or die(mysql_error());
    		} else {
    			header("Location: " . yes_error);
    		}
    	} else {
    		header("Location: " . yes_error);
    	}
    }
    ?>

  4. #4
    Membre confirmé Avatar de islyoung2
    Homme Profil pro
    Inscrit en
    Juin 2008
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42

    Informations forums :
    Inscription : Juin 2008
    Messages : 236
    Par défaut
    Bon la il faux que tu m'explique bien ce que tu veux faire et c'est quoi le problème :
    1- Es que le client est obliger de remplir le champ file avant de poster le formulaire?
    2- Si non, Es que les opération que t'a à faire est dépendante du input file si il est vide ou pas?
    plus de détail sera la bienvenue
    PS: Met tes codes source entre les deux balise [CODE].

  5. #5
    Membre Expert
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Par défaut
    Salut

    il faut ajouter 'enctype="multipart/form-data"' dans la balise <form>

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="control_input.php" name="suscribe" method="post" enctype="multipart/form-data">

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Par défaut
    Citation Envoyé par Seb33300 Voir le message
    Salut

    il faut ajouter 'enctype="multipart/form-data"' dans la balise <form>

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="control_input.php" name="suscribe" method="post" enctype="multipart/form-data">
    J'ai deja enctype="multipart/form-data"' dans la balise <form>, par contre j'ai action="" et pas action="control_input.php"
    Peut tu m'expliquer cete action
    Merci

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Par défaut
    Citation Envoyé par islyoung2 Voir le message
    Bon la il faux que tu m'explique bien ce que tu veux faire et c'est quoi le problème :
    1- Es que le client est obliger de remplir le champ file avant de poster le formulaire?
    2- Si non, Es que les opération que t'a à faire est dépendante du input file si il est vide ou pas?
    plus de détail sera la bienvenue
    PS: Met tes codes source entre les deux balise [CODE].

    Le formulaire contien 2 liste/menu, 3 champ de texte et 1 champ de fichier d'image
    Le client n'est pas obligé de remplir le champ file avant de poster le formulaire

    Probleme:Le formulaire ne se valide pas si le champ file n'est pas renseigné

    J'ai besoin que le champ file puis etre vide ou pas (donc pas obligatoire)

Discussions similaires

  1. [PHP 5.0] Comment uploader des fichiers via formulaire en PHP
    Par gringo75011 dans le forum Langage
    Réponses: 3
    Dernier message: 27/01/2014, 08h27
  2. [MySQL] Filtre via formulaire HTML/PHP dans Base mySQL
    Par Al3x dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 14/01/2006, 16h27
  3. [Upload] PHP 4 sous Windows => Upload
    Par size_one_1 dans le forum Langage
    Réponses: 11
    Dernier message: 24/12/2005, 14h30
  4. Recuperer les données d'un formulaire en PHP
    Par mekdar dans le forum Langage
    Réponses: 2
    Dernier message: 29/11/2005, 15h41
  5. récupérer une valeur d'un formulaire en php
    Par feten dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 21/11/2005, 13h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo