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 :

recharger un formulaire et conserver les valeurs des variables (avec POST)


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 53
    Points : 39
    Points
    39
    Par défaut recharger un formulaire et conserver les valeurs des variables (avec POST)
    bonjour à tous !
    je rencontre une difficulté avec un formulaire, je vais essayer de m'expliquer !
    mon formulaier contient différents champ (nom, email, message, etc...)
    Après avoir cliqué sur le bouton envoyé (POST) l'envoi des informations se passent bien.
    Je souhaite rajouter des boutons radio dans mon formulaire et quand on clique dessus cela recharge le formulmaire en conservant les valeurs déjà présentes dans les champs Nom, Email, etc...
    Avez une idée ? J'ai pensé à un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <INPUT TYPE="radio" NAME="nbfichier" VALUE=1 onClick="xxx">1
    .

    mais que mettre à la place de xxx (reload, replace ne fonctionent pas) pour que le contenu des variables soit transmit comme avec le bouton submit et la méthode POST et sans passer les variables par l'url, comme up.php?nom=xx ?

    Merci beaucoup pour vos lumières

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    bonjour

    Tu peux t'insipirer de cette rubrique de la Contrôler et réafficher un formulaire avec les valeurs déjà saisies

    Bon courage
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 53
    Points : 39
    Points
    39
    Par défaut
    merci beaucoup pour ces infos, mais je reste bloqué.
    J'ai renoncé au bouton radio pour des boutons "classiques"
    Je vais joindre mon code, le fichier se nomme up.php
    Le problème est le suivant : quand je clique sur les boutons de 1 à 5 j'obtiens bien le rechargement de la page avec le nombre de champ upload choisit
    mais ensuite si je clique sur Envoyer, je reviens toujours au point de départ, mon nombre de champ d'upload n'est pas conservé...

    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
    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
    <html>
    <head>
    <title>Uploader</title>
    </head>
    <body>
     
    <? 
    if (isset($_POST['upload']))
    {
    if ($nom   == "(facultatif)") { $nom   = ""; }
    	if ($email == "(facultatif)") { $email = ""; }
    	if ($email != "" && !eregi("^[_\.0-9a-z-]+@([0-9a-z-]+\.)+[a-z]{2,4}$",$email)) { echo "<b>Email non valide ! </b>"; }
     
    	for($index=1;$index<=$nbfichier;$index++) {
     
    	// Pour enlever les accents ( $_FILES['fichier']['name'][$index-1] remplacé par $dest_fichier)
    	// Caracteres autres que espace, point, lettres & chiffres remplacés par _
    	$dest_fichier = basename($_FILES['fichier']['name'][$index-1]);
    	$dest_fichier = strtr($dest_fichier,'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ','AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
    	$dest_fichier = preg_replace('/([^ .a-z0-9]+)/i','_',$dest_fichier);
     
    	if ( $_FILES['fichier']['error'][$index-1] > 0) { echo "<b>Problème avec le fichier $index (Err.N°".$_FILES['fichier']['error'][$index-1].") </b>"; }
    	elseif ( file_exists("Upload/Http_Ftp/".$dest_fichier) && $overwrite == "non" ) { echo "<b>Le fichier existe déjà !</b>"; }
    	elseif ( eregi('.php',$dest_fichier)) { echo "<b>Type de fichier interdit !</b>"; }
     
    	else
    	{	if ( $protocole == "HTTP" )
    			{
    			if ( !move_uploaded_file($_FILES['fichier']['tmp_name'][$index-1], "Upload/Http_Ftp/".$dest_fichier))
    				{ echo "<b>Echec de l'upload via Http !</b>"; $err="mv_upld_file"; }
    			else
    				{ echo "<b>Le fichier \"".$_FILES['fichier']['name'][$index-1]."\" a été uploadé ! </b>"; }
    			}
    		else
    			{
    			$conn_id = ftp_connect("xxxx");
    			$login_result = ftp_login($conn_id,"xxxx","xxxx");
    			//ftp_pasv($conn_id, true);
    			if ((!$conn_id) || (!$login_result))
    				{ echo "<b>La connexion FTP a échoué !</b>"; $err="cnx ftp"; }
    			else
    				{
    				if (ftp_put($conn_id,"Upload/Http_Ftp/".$dest_fichier,$_FILES['fichier']['tmp_name'][$index-1],FTP_BINARY))
    					{ echo "<b>Le fichier \"".$_FILES['fichier']['name'][$index-1]."\" a été uploadé !</b>"; }
    				else 	{ echo "<b>Echec de l'upload via Ftp !</b>"; $err="ftp_put"; }
    				}
    			ftp_close($conn_id);
    			}
     
    	} // fin de else
     
    	} // fin de foreach
     
    } // fin de if
     
    $nbfichiermax = 6;
    if ($nom   == "" ) { $nom   = "(facultatif)"; }
    if ($email == "" ) { $email = "(facultatif)"; }
    if (!isset($nbfichier)) { $nbfichier = 2; }
     
    ?>
     
    <form method="POST" enctype="multipart/form-data" action="up.php" > 
        <table width="70%" border="1" rules="none">
          <tr> 
            <td>Votre Nom</td>
            <td><input name="nom" type="text" value="<? echo $nom; ?>" title="30 caractères maxi" onfocus="this.style.backgroundColor='#fff9b9'; if (value=='(facultatif)') {value=''}" onblur="this.style.backgroundColor=''; if (value=='') {value='(facultatif)'}" ></td>
          </tr>
          <tr>
            <td>Votre email</td>
            <td colspan=2><input name="email" type="text" size="40" maxlength="30" value="<? echo $email; ?>" title="30 caractères maxi" onfocus="this.style.backgroundColor='#fff9b9'; if (value=='(facultatif)') {value=''}" onblur="this.style.backgroundColor=''; if (value=='') {value='(facultatif)'}" ></td>
          </tr>
          <tr>
            <td><br><br>Message...<br><img src="Images/clavier.gif" border="0" onmouseover="this.className='FlipH'" onmouseout="this.className=''"><br>(facultatif)</td>
            <td colspan=2><textarea name="message" cols="55" rows="8" wrap="PHYSICAL"><? echo $message; ?></textarea></td>
          </tr>
    	<? for($i=1; $i<=$nbfichier; $i++) { echo "<tr><td>Fichier $i</td><!-- <input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"15000000\"> -->";
    	echo "<td colspan=2><input type=\"file\" name=\"fichier[]\" size=\"60\" onfocus=\"this.style.backgroundColor='#fff9b9'\" onblur=\"this.style.backgroundColor=''\" title=\"Quelques Mo maxi\"></td></tr>"; } ?>
          <tr>
    	<td>Options</td>
            <td NOWRAP>Nb de fichiers à uploader<br>Ecraser fichier déjà existant<br>Protocole de transfert</td>
            <td width="70%">
    	<? for($i=1; $i<=$nbfichiermax; $i++) { if ($i != $nbfichier)
    	{ echo "&nbsp<input type=\"submit\" name=\"nbfichier\" value=$i class=\"bouton\" onMouseOver=\"this.className='boutonOVER';\" onMouseOut=\"this.className='boutonOUT';\">"; } }; ?><br>
    	<INPUT TYPE="radio" NAME="overwrite" VALUE="non" checked>NON
            <INPUT TYPE="radio" NAME="overwrite" VALUE="oui" <? if ($overwrite=="oui") {echo "checked";} ?> >OUI<br>
    	<INPUT TYPE="radio" NAME="protocole" VALUE="HTTP" checked>HTTP
    	<INPUT TYPE="radio" NAME="protocole" VALUE="FTP" <? if ($protocole=="FTP") {echo "checked";} ?> >FTP
            </td>
          </tr>
        </table>
    <input type="submit" name="upload" value="Uploader" class="bouton" onMouseOver="this.className='boutonOVER';" onMouseOut="this.className='boutonOUT';" >
    <input type="reset" value="Effacer" class="bouton" onMouseOver="this.className='boutonOVER';" onMouseOut="this.className='boutonOUT';" onClick="window.location.replace('Up.php');">
    </form>
     
    </body>
    </html>

  4. #4
    Membre expérimenté Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Points : 1 414
    Points
    1 414
    Par défaut
    Il te suffit de modifier une petite chose et ca gaz
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <? for($i=1; $i<=$_POST['nbfichier']; $i++) {
    ----
    L'avenir appartient à ceux dont les salariés se lèvent tôt.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 53
    Points : 39
    Points
    39
    Par défaut
    merci beaucoup mais cela ne fonctionne pas : si je clique sur 4 par exemple, j'ai bien la page qui se recharge et j'ai bien 4 champ upload mais si ensuite je clique sur Envoyer, je reviens avec 2 champ upload !
    j'ai modifier ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <? for($i=1; $i<=$nbfichiermax; $i++) { if ($i != $nbfichier)
    { echo "&nbsp<input type=\"submit\" name=\"nbfichier\" value=$i class=\"bouton\" onMouseOver=\"this.className='boutonOVER';\" onMouseOut=\"this.className='boutonOUT';\">"; } }; ?><br>
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	<? echo "<input type=\"hidden\" name=\"nbfichier\" value=$nbfichier>";
    	for($i=1; $i<=6; $i++) { if ($i != $nbfichier)
    	{ echo "&nbsp<input type=\"submit\" name=\"nbfichier\" value=$i class=\"bouton\" onMouseOver=\"this.className='boutonOVER';\" onMouseOut=\"this.className='boutonOUT';\">"; } }; ?><br>
    cela fonctionne mais je trouve pas cela très propre ! et surtout je ne comprend pas pourquoi ! en fait je crois que la question est peut-on avoir 2 bouton Submit dans un formulaire ? ou pourquoi en rechargeant la page avec un Reload le conserve le contenu des variable sauf celle nommée nbfichier ? Etrange... non ?

  6. #6
    Membre expérimenté Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Points : 1 414
    Points
    1 414
    Par défaut
    A moins d'une incompréhension totale de ma part, je crois que tu n'a as bien intégré le principe de la soumission d'un formulaire à un serveur apache/php.

    Si tu veux pouvoir conserver les valeurs de ton formulaire après l'avoir soumis, tu dois traiter dans ton code le contenu de la variable $_POST et en l'occurence $_POST['nbfichier'].

    Afin de pouvoir conserver l'état de cette variable au cours de tous le traitement, je te conseil d'utiliser un SELECT
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
         $nbfichiermax = 6;
         	echo "<select name=\"nbfichier\" onchange=\"this.form.submit();\">
         			<option value=\"\">Nb files</option>";
     
         for($i=1; $i<=$nbfichiermax; $i++) {
     
         	if($i == $_POST['nbfichier']) $selected = "selected"; else $selected = "";
     
    		echo "<option ".$selected." value=\"".$i."\">".$i."</option>";
    	}
    		echo "</select>";
    	?>
    Pour le reste de ton code, je suis perplexe
    A+
    ----
    L'avenir appartient à ceux dont les salariés se lèvent tôt.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 53
    Points : 39
    Points
    39
    Par défaut
    Merci pour ton aide mais impossible de tester ton code, cela m'indique une erreur javascript !

    pour que mon problème soit plus facile à comprendre, j'ai simplifié mon code :

    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
    56
    57
    58
    59
    60
    61
    62
    63
    64
    <html>
    <head>
    <title></title>
    </head>
    <body>
     
    <? 
    if (isset($_POST['upload']))
    {
    	for($index=1; $index<=$nbfichier; $index++) {
     
    	$dest_fichier = basename($_FILES['fichier']['name'][$index-1]);
    	$dest_fichier = strtr($dest_fichier,'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ','AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
    	$dest_fichier = preg_replace('/([^ .a-z0-9]+)/i','_',$dest_fichier);
     
    	if ($_FILES['fichier']['error'][$index-1]) { echo "Fichier $index : ";
    		switch($_FILES['fichier']['error'][$index-1]) {
    			case UPLOAD_ERR_INI_SIZE:   echo "Supérieur à upload_max_filesize de php.ini<br>"; break;
    			case UPLOAD_ERR_FORM_SIZE:  echo "Supérieur à MAX_FILE_SIZE<br>"; break;
    			case UPLOAD_ERR_PARTIAL:    echo "Uploadé partiellement<br>"; break;
    			case UPLOAD_ERR_NO_FILE:    echo "Non renseigné !<br>"; break;
    			case UPLOAD_ERR_NO_TMP_DIR: echo "Non uploadé (dossier temporaire manquant (PHP4.3))<br>"; break;
    			case UPLOAD_ERR_CANT_WRITE: echo "Non uploadé (Échec d'écriture sur le disque (PHP5.1))<br>"; break;
    			case UPLOAD_ERR_EXTENSION:  echo "Arrêté par l'extension (PHP5.2)<br>"; break;
    			default:		    echo "Non uploadé !<br>"; } 
    		}
     
    	elseif ( file_exists("Upload/".$dest_fichier)) { echo "Fichier $index : Déjà uploadé !<br>"; }
    	elseif ( eregi('.php',$dest_fichier)) { echo "Fichier $index : Type interdit !<br>"; }
     
    	else
    	{	if ( !move_uploaded_file($_FILES['fichier']['tmp_name'][$index-1], "Upload/".$dest_fichier))
    			{ echo "Fichier $index : Echec de l'upload par Http !<br>"; }
    		else
    			{ echo "Fichier $index : Uploadé (".$_FILES['fichier']['name'][$index-1].")<br>"; }
    	}
     
    	} // fin de for
     
    } // fin de if
     
    ?>
     
    <? if (!isset($nbfichier)) { $nbfichier = 1; } ?>
     
    <form method="POST" enctype="multipart/form-data" action="toto.php" > 
     
    Votre Nom   <input name="nom" type="text" value="<? echo $nom; ?>" ><br>
    Votre email <input name="email" type="text" value="<? echo $email; ?>" ><br>
    Message <textarea name="message" wrap="PHYSICAL"><? echo $message; ?></textarea><br>
     
    <? for($i=1; $i<=$nbfichier; $i++)
    { echo "Fichier $i <input type=\"file\" name=\"fichier[]\"><br>"; } ?>
     
    Nb de fichiers à uploader
    <? for($i=1; $i<=6; $i++)
    { echo "<input type=\"submit\" name=\"nbfichier\" value=$i>"; }; ?>
     
    <input type="submit" name="upload" value="Uploader" >
    <input type="reset" value="Effacer" onClick="window.location.replace('toto.php');">
    </form>
     
    </body>
    </html>
    Je cherche à conserver la valeur $nbficheir après avoir envoyé le formulaire avec le bouton Uploader, quand j'utilise $_POST['nbfichier'] au lieu de $nbfichier c'est encore pire !
    pourtant mes autres valeur NOM et EMAIL sont toujours conservées !

  8. #8
    Membre expérimenté Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Points : 1 414
    Points
    1 414
    Par défaut
    Je te poste le code complet, je l'ai testé, il fonctionne sans erreur sur FireFox.
    As toi de faire le tri sur ce que tu veux garder, mais le principe est là.
    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
    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
    104
    105
    106
    107
    108
    109
    <html>
    <head>
    <title>Uploader</title>
    </head>
    <body>
    <? 
    if (isset($_POST['upload']))
    {
    if ($nom   == "(facultatif)") { $nom   = ""; }
    	if ($email == "(facultatif)") { $email = ""; }
    	if ($email != "" && !eregi("^[_\.0-9a-z-]+@([0-9a-z-]+\.)+[a-z]{2,4}$",$email)) { echo "<b>Email non valide ! </b>"; }
     
    	for($index=1;$index<=$nbfichier;$index++) {
     
    	// Pour enlever les accents ( $_FILES['fichier']['name'][$index-1] remplacé par $dest_fichier)
    	// Caracteres autres que espace, point, lettres & chiffres remplacés par _
    	$dest_fichier = basename($_FILES['fichier']['name'][$index-1]);
    	$dest_fichier = strtr($dest_fichier,'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ','AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
    	$dest_fichier = preg_replace('/([^ .a-z0-9]+)/i','_',$dest_fichier);
     
    	if ( $_FILES['fichier']['error'][$index-1] > 0) { echo "<b>Problème avec le fichier $index (Err.N°".$_FILES['fichier']['error'][$index-1].") </b>"; }
    	elseif ( file_exists("Upload/Http_Ftp/".$dest_fichier) && $overwrite == "non" ) { echo "<b>Le fichier existe déjà !</b>"; }
    	elseif ( eregi('.php',$dest_fichier)) { echo "<b>Type de fichier interdit !</b>"; }
     
    	else
    	{	if ( $protocole == "HTTP" )
    			{
    			if ( !move_uploaded_file($_FILES['fichier']['tmp_name'][$index-1], "Upload/Http_Ftp/".$dest_fichier))
    				{ echo "<b>Echec de l'upload via Http !</b>"; $err="mv_upld_file"; }
    			else
    				{ echo "<b>Le fichier \"".$_FILES['fichier']['name'][$index-1]."\" a été uploadé ! </b>"; }
    			}
    		else
    			{
    			$conn_id = ftp_connect("xxxx");
    			$login_result = ftp_login($conn_id,"xxxx","xxxx");
    			//ftp_pasv($conn_id, true);
    			if ((!$conn_id) || (!$login_result))
    				{ echo "<b>La connexion FTP a échoué !</b>"; $err="cnx ftp"; }
    			else
    				{
    				if (ftp_put($conn_id,"Upload/Http_Ftp/".$dest_fichier,$_FILES['fichier']['tmp_name'][$index-1],FTP_BINARY))
    					{ echo "<b>Le fichier \"".$_FILES['fichier']['name'][$index-1]."\" a été uploadé !</b>"; }
    				else 	{ echo "<b>Echec de l'upload via Ftp !</b>"; $err="ftp_put"; }
    				}
    			ftp_close($conn_id);
    			}
     
    	} // fin de else
     
    	} // fin de foreach
     
    } // fin de if
     
    $nbfichiermax = 6;
    if ($nom   == "" ) { $nom   = "(facultatif)"; }
    if ($email == "" ) { $email = "(facultatif)"; }
    if (!isset($nbfichier)) { $nbfichier = 2; }
     
    ?>
     
    <form method="POST" enctype="multipart/form-data" action="up.php" > 
        <table width="70%" border="1" rules="none">
          <tr> 
            <td>Votre Nom</td>
            <td><input name="nom" type="text" value="<? echo $nom; ?>" title="30 caractères maxi" onfocus="this.style.backgroundColor='#fff9b9'; if (value=='(facultatif)') {value=''}" onblur="this.style.backgroundColor=''; if (value=='') {value='(facultatif)'}" ></td>
          </tr>
          <tr>
            <td>Votre email</td>
            <td colspan=2><input name="email" type="text" size="40" maxlength="30" value="<? echo $email; ?>" title="30 caractères maxi" onfocus="this.style.backgroundColor='#fff9b9'; if (value=='(facultatif)') {value=''}" onblur="this.style.backgroundColor=''; if (value=='') {value='(facultatif)'}" ></td>
          </tr>
          <tr>
            <td><br><br>Message...<br><img src="Images/clavier.gif" border="0" onmouseover="this.className='FlipH'" onmouseout="this.className=''"><br>(facultatif)</td>
            <td colspan=2><textarea name="message" cols="55" rows="8" wrap="PHYSICAL"><? echo $message; ?></textarea></td>
          </tr>
    	<? for($i=1; $i<=$_POST['nbfichier']; $i++) { echo "<tr><td>Fichier $i</td><!-- <input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"15000000\"> -->";
    	echo "<td colspan=2><input type=\"file\" name=\"fichier[]\" size=\"60\" onfocus=\"this.style.backgroundColor='#fff9b9'\" onblur=\"this.style.backgroundColor=''\" title=\"Quelques Mo maxi\"></td></tr>"; } ?>
          <tr>
    	<td>Options</td>
            <td NOWRAP>Nb de fichiers à uploader<br>Ecraser fichier déjà existant<br>Protocole de transfert</td>
            <td width="70%">
    	<? for($i=1; $i<=$nbfichiermax; $i++) { if ($i != $nbfichier)
    	{ echo "&nbsp<input type=\"submit\" name=\"nbfichier\" value=$i class=\"bouton\" onMouseOver=\"this.className='boutonOVER';\" onMouseOut=\"this.className='boutonOUT';\">"; } }; ?><br>
    	<INPUT TYPE="radio" NAME="overwrite" VALUE="non" checked>NON
            <INPUT TYPE="radio" NAME="overwrite" VALUE="oui" <? if ($overwrite=="oui") {echo "checked";} ?> >OUI<br>
    	<INPUT TYPE="radio" NAME="protocole" VALUE="HTTP" checked>HTTP
    	<INPUT TYPE="radio" NAME="protocole" VALUE="FTP" <? if ($protocole=="FTP") {echo "checked";} ?> >FTP
    	<?php
         $nbfichiermax = 6;
         	echo "<select name=\"nbfichier\" onchange=\"this.form.submit();\">
         			<option value=\"\">Nb files</option>";
     
         for($i=1; $i<=$nbfichiermax; $i++) {
     
         	if($i == $_POST['nbfichier']) $selected = "selected"; else $selected = "";
     
    		echo "<option ".$selected." value=\"".$i."\">".$i."</option>";
    	}
    		echo "</select>";
    	?>
            </td>
          </tr>
        </table>
    <input type="submit" name="upload" value="Uploader" class="bouton" onMouseOver="this.className='boutonOVER';" onMouseOut="this.className='boutonOUT';" >
    <input type="reset" value="Effacer" class="bouton" onMouseOver="this.className='boutonOVER';" onMouseOut="this.className='boutonOUT';" onClick="window.location.replace('Up.php');">
    </form>
     
    </body>
    </html>
    ----
    L'avenir appartient à ceux dont les salariés se lèvent tôt.

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 53
    Points : 39
    Points
    39
    Par défaut
    encore merci mais ton code ne fonctionne pas (ni sous IE ni sous FireFox)
    Les barres upload n'apparaissent jamais !
    J'ai fais un copier / coller, toi aussi ?

  10. #10
    Membre expérimenté Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Points : 1 414
    Points
    1 414
    Par défaut
    Citation Envoyé par seb nantes Voir le message
    encore merci mais ton code ne fonctionne pas (ni sous IE ni sous FireFox)
    Les barres upload n'apparaissent jamais !
    J'ai fais un copier / coller, toi aussi ?
    Je te reposte le code remis un peu en forme au niveau de la zone de sélection du nombre du fichier à uploader.
    Par contre un question: tu dis "Les barres upload n'apparaissent jamais". Qu'est que ce tu appel les Les barres upload ? Avez tu bien choisit le nb de fichier depuis la zone select que j'ai créé ???
    Pour ce qui est de la gestion du upload lui-même (une fois le formulaire validé), je n'ai pas regardé.
    Tiens moi au jus
    A+
    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
    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
    104
    105
    106
    107
    108
    109
    <html>
    <head>
    <title>Uploader</title>
    </head>
    <body>
    <? 
    if (isset($_POST['upload']))
    {
    if ($nom   == "(facultatif)") { $nom   = ""; }
    	if ($email == "(facultatif)") { $email = ""; }
    	if ($email != "" && !eregi("^[_\.0-9a-z-]+@([0-9a-z-]+\.)+[a-z]{2,4}$",$email)) { echo "<b>Email non valide ! </b>"; }
     
    	for($index=1;$index<=$nbfichier;$index++) {
     
    	// Pour enlever les accents ( $_FILES['fichier']['name'][$index-1] remplacé par $dest_fichier)
    	// Caracteres autres que espace, point, lettres & chiffres remplacés par _
    	$dest_fichier = basename($_FILES['fichier']['name'][$index-1]);
    	$dest_fichier = strtr($dest_fichier,'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ','AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
    	$dest_fichier = preg_replace('/([^ .a-z0-9]+)/i','_',$dest_fichier);
     
    	if ( $_FILES['fichier']['error'][$index-1] > 0) { echo "<b>Problème avec le fichier $index (Err.N°".$_FILES['fichier']['error'][$index-1].") </b>"; }
    	elseif ( file_exists("Upload/Http_Ftp/".$dest_fichier) && $overwrite == "non" ) { echo "<b>Le fichier existe déjà !</b>"; }
    	elseif ( eregi('.php',$dest_fichier)) { echo "<b>Type de fichier interdit !</b>"; }
     
    	else
    	{	if ( $protocole == "HTTP" )
    			{
    			if ( !move_uploaded_file($_FILES['fichier']['tmp_name'][$index-1], "Upload/Http_Ftp/".$dest_fichier))
    				{ echo "<b>Echec de l'upload via Http !</b>"; $err="mv_upld_file"; }
    			else
    				{ echo "<b>Le fichier \"".$_FILES['fichier']['name'][$index-1]."\" a été uploadé ! </b>"; }
    			}
    		else
    			{
    			$conn_id = ftp_connect("xxxx");
    			$login_result = ftp_login($conn_id,"xxxx","xxxx");
    			//ftp_pasv($conn_id, true);
    			if ((!$conn_id) || (!$login_result))
    				{ echo "<b>La connexion FTP a échoué !</b>"; $err="cnx ftp"; }
    			else
    				{
    				if (ftp_put($conn_id,"Upload/Http_Ftp/".$dest_fichier,$_FILES['fichier']['tmp_name'][$index-1],FTP_BINARY))
    					{ echo "<b>Le fichier \"".$_FILES['fichier']['name'][$index-1]."\" a été uploadé !</b>"; }
    				else 	{ echo "<b>Echec de l'upload via Ftp !</b>"; $err="ftp_put"; }
    				}
    			ftp_close($conn_id);
    			}
     
    	} // fin de else
     
    	} // fin de foreach
     
    } // fin de if
     
    $nbfichiermax = 6;
    if ($nom   == "" ) { $nom   = "(facultatif)"; }
    if ($email == "" ) { $email = "(facultatif)"; }
    if (!isset($nbfichier)) { $nbfichier = 2; }
     
    ?>
     
    <form method="POST" enctype="multipart/form-data" action="up.php" > 
        <table width="70%" border="1" rules="none">
          <tr> 
            <td>Votre Nom</td>
            <td><input name="nom" type="text" value="<? echo $nom; ?>" title="30 caractères maxi" onfocus="this.style.backgroundColor='#fff9b9'; if (value=='(facultatif)') {value=''}" onblur="this.style.backgroundColor=''; if (value=='') {value='(facultatif)'}" ></td>
          </tr>
          <tr>
            <td>Votre email</td>
            <td colspan=2><input name="email" type="text" size="40" maxlength="30" value="<? echo $email; ?>" title="30 caractères maxi" onfocus="this.style.backgroundColor='#fff9b9'; if (value=='(facultatif)') {value=''}" onblur="this.style.backgroundColor=''; if (value=='') {value='(facultatif)'}" ></td>
          </tr>
          <tr>
            <td><br><br>Message...<br><img src="Images/clavier.gif" border="0" onmouseover="this.className='FlipH'" onmouseout="this.className=''"><br>(facultatif)</td>
            <td colspan=2><textarea name="message" cols="55" rows="8" wrap="PHYSICAL"><? echo $message; ?></textarea></td>
          </tr>
    	<? for($i=1; $i<=$_POST['nbfichier']; $i++) { echo "<tr><td>Fichier $i</td><!-- <input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"15000000\"> -->";
    	echo "<td colspan=2><input type=\"file\" name=\"fichier[]\" size=\"60\" onfocus=\"this.style.backgroundColor='#fff9b9'\" onblur=\"this.style.backgroundColor=''\" title=\"Quelques Mo maxi\"></td></tr>"; } ?>
          <tr>
    	<td>Options</td>
            <td NOWRAP>Nb de fichiers à uploader<br>Ecraser fichier déjà existant<br>Protocole de transfert</td>
            <td width="70%">
     
    		<?php
    		 $nbfichiermax = 6;
    			echo "<select name=\"nbfichier\" onchange=\"this.form.submit();\">
    					<option value=\"\">Nb files</option>";
     
    		 for($i=1; $i<=$nbfichiermax; $i++) {
     
    			if($i == $_POST['nbfichier']) $selected = "selected"; else $selected = "";
     
    			echo "<option ".$selected." value=\"".$i."\">".$i."</option>";
    		}
    			echo "</select><br>";
    		?>
    	<INPUT TYPE="radio" NAME="overwrite" VALUE="non" checked>NON
            <INPUT TYPE="radio" NAME="overwrite" VALUE="oui" <? if ($overwrite=="oui") {echo "checked";} ?> >OUI<br>
    	<INPUT TYPE="radio" NAME="protocole" VALUE="HTTP" checked>HTTP
    	<INPUT TYPE="radio" NAME="protocole" VALUE="FTP" <? if ($protocole=="FTP") {echo "checked";} ?> >FTP
     
            </td>
          </tr>
        </table>
    <input type="submit" name="upload" value="Uploader" class="bouton" onMouseOver="this.className='boutonOVER';" onMouseOut="this.className='boutonOUT';" >
    <input type="reset" value="Effacer" class="bouton" onMouseOver="this.className='boutonOVER';" onMouseOut="this.className='boutonOUT';" onClick="window.location.replace('Up.php');">
    </form>
     
    </body>
    </html>
    ----
    L'avenir appartient à ceux dont les salariés se lèvent tôt.

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 53
    Points : 39
    Points
    39
    Par défaut
    bonsoir riete ,
    ca maaarche!!!!
    merci beaucoup !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Conserver les valeurs des champs après POST
    Par moudjahidine dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 01/05/2013, 14h56
  2. Réponses: 34
    Dernier message: 26/04/2011, 10h44
  3. [Batch] test sur les valeurs des variable d'environnement
    Par ArnSpin dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 03/09/2010, 15h15
  4. Réponses: 6
    Dernier message: 21/12/2009, 11h08
  5. Retour au formulaire en conservant les valeurs
    Par Jiraiya42 dans le forum Langage
    Réponses: 4
    Dernier message: 06/07/2007, 14h07

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