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 :

Récupération de champs de fusion


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2006
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 89
    Points : 30
    Points
    30
    Par défaut Récupération de champs de fusion
    Bonjour tout le monde !

    Mon probléme est le suivant:

    Je lis un fichier rtf et détectes les champs de fusion, jusque la tout va bien.
    Dans la foulée, je génère un formulaire, que je dois ensuite traiter par post.

    2 probléme:
    1 A chaque champ texte, j'ai un bouton submit !!!!
    2 Je commences a déprimer sérieusement, ci dessous le bout de code, si une ame charitable pourrait jeter un oeil !

    Merci
    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
    if ( !move_uploaded_file($tmp_file, $content_dir . $name_file) ) {
    	      echo "Impossible de copier le fichier dans $content_dir";
    	    } else {
    		    echo "Le fichier <u>$name_file</u> (".round(filesize($_SESSION['session']."/".$name_file)/1024,0)."Ko) a bien été uploadé";
    				echo "<br>Champs de fusion trouvés :<br><b style='background:#C4E1FF;'>";
    				// Récupération des champs de fusion
    				$f=fopen($_SESSION['session']."/".$name_file,"r");
    				$cf=1;
    				while (!feof($f)) {
    					$ligne=fgets($f,20000);
    					$Long=strlen($ligne);	
    					$inc=0;
    					for ($i=$inc;$i<$Long;$i++)	{
    						if (substr($ligne,$i,4)=="\{\{") {
    							$deb=$i;
    							$var="";
    							for ($j=$i+4;$j<$Long;$j++) {
    								if (substr($ligne,$j,4)=="\}\}") {
    									$fin=$j;
    									break;
    								}
    							}
    							$var=substr($ligne,$deb+4,$fin-$deb-4);
     
    echo '<FORM METHOD="post"action="cible.php">'; 
    echo '<input type="text" name="jesaisplus' . $i . '" value="' . $var . '" />';
    echo '<input type="submit" value="Valider"/></form>';
    							$cf++;
    						}		
    					}
     
    				}
    				fclose($f);
    				echo "</b>";
    				?>

  2. #2
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 507
    Points : 705
    Points
    705
    Par défaut
    Bonjour,

    Citation Envoyé par gator Voir le message
    A chaque champ texte, j'ai un bouton submit !!!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    // [...]
    while (!feof($f)) {
       // [...]
       for ($i=$inc;$i<$Long;$i++)	{
          // [...]
          echo '<FORM METHOD="post"action="cible.php">'; 
          echo '<input type="text" name="jesaisplus' . $i . '" value="' . $var . '" />';
          echo '<input type="submit" value="Valider"/></form>';
       }
    }
    D'un coté à chaque fois tu mets un champ texte, tu mets aussi un bouton submit...

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2006
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 89
    Points : 30
    Points
    30
    Par défaut forcément
    forcément ca va marcher beaucoup moins bien !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $var=substr($ligne,$deb+4,$fin-$deb-4);
     
          echo '<FORM METHOD="post"action="champscomplementaires.php">'; 
          echo '<input type="text" name="jesaisplus' . $i . '" value="' . $var . '" />';
    							$cf++;
    						}		
    					}
     
    				}
    				fclose($f);
    				      echo '<input type="submit" value="Valider"/></form>';
    La ca va beaucoup mieux !oups ! Merci merci

  4. #4
    Nouveau membre du Club
    Inscrit en
    Mars 2006
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 89
    Points : 30
    Points
    30
    Par défaut Probléme de récupération
    Pour les variables passées en post :
    je récupere seulement 2 dans le cas present variables a la place de 3!!!


    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
    while (!feof($f)) {
    					$ligne=fgets($f,20000);
    					$Long=strlen($ligne);	
    					$inc=0;
    					for ($i=$inc;$i<$Long;$i++)	{
    						if (substr($ligne,$i,4)=="\{\{") {
    							$deb=$i;
    							$var="";
    							for ($j=$i+4;$j<$Long;$j++) {
    								if (substr($ligne,$j,4)=="\}\}") {
    									$fin=$j;
    									break;
    								}
    							}
    							$var=substr($ligne,$deb+4,$fin-$deb-4);
     
          echo '<FORM METHOD="post"action="champscomplementaires.php">'; 
          echo '<input type="text" name="jesaisplus' . $i . '" value="' . $var . '" />';
    							$cf++;
    						}		
    					}
     
    				}
    				fclose($f);
    				      echo '<input type="submit" value="Valider"/></form>';
    Et dans mon fichier de traitement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    if(isset($_POST)) {
    foreach($_POST as $key=>$val) {
     echo $key.'=>'.$val.'<p>'; 
     }
    }
    else {
     echo 'je ne recupere rien';
    }
    ?>

  5. #5
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 507
    Points : 705
    Points
    705
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<FORM METHOD="post"action="champscomplementaires.php">';
    doit être avant ta boucle, sinon tu crées plusieurs form (que tu ne fermes pas d'ailleurs), et le submit est seulement sur le dernier.

  6. #6
    Nouveau membre du Club
    Inscrit en
    Mars 2006
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 89
    Points : 30
    Points
    30
    Par défaut ca passe pas
    Merci de me lire... Ca passe pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $f=fopen($_SESSION['session']."/".$name_file,"r");
    				$cf=1;
    				echo '<FORM METHOD="post"action="champscomplementaires.php">';
    				while (!feof($f)) {

  7. #7
    Nouveau membre du Club
    Inscrit en
    Mars 2006
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 89
    Points : 30
    Points
    30
    Par défaut ca passe !
    La c bon !!
    Merci
    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
    				$f=fopen($_SESSION['session']."/".$name_file,"r");
    				$cf=1;
    				while (!feof($f)) {
    					$ligne=fgets($f,20000);
    					$Long=strlen($ligne);	
    					$inc=0;
    					for ($i=$inc;$i<$Long;$i++)	{
    						if (substr($ligne,$i,4)=="\{\{") {
    							$deb=$i;
    							$var="";
    							for ($j=$i+4;$j<$Long;$j++) {
    								if (substr($ligne,$j,4)=="\}\}") {
    									$fin=$j;
    									break;
    								}
    							}
    							$var=substr($ligne,$deb+4,$fin-$deb-4);
     
          echo '<FORM METHOD="post"action="champscomplementaires.php">'; 
    	  echo  $var;
          echo '<input type="text" name="' . $cf . '" value=""><br /><br />';
    							$cf++;
    						}		
    					}
     
    				}
    				fclose($f);
    				      echo '<input type="submit" value="Valider"/></form>';
    					  echo "<br>Nous avons trouvé $cf Champs de fusion<br><b style='background:#C4E1FF;'>";

  8. #8
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 507
    Points : 705
    Points
    705
    Par défaut
    Citation Envoyé par gator Voir le message
    La c bon !!
    Merci
    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
    				$f=fopen($_SESSION['session']."/".$name_file,"r");
    				$cf=1;
    				while (!feof($f)) {
    					$ligne=fgets($f,20000);
    					$Long=strlen($ligne);	
    					$inc=0;
    					for ($i=$inc;$i<$Long;$i++)	{
    						if (substr($ligne,$i,4)=="\{\{") {
    							$deb=$i;
    							$var="";
    							for ($j=$i+4;$j<$Long;$j++) {
    								if (substr($ligne,$j,4)=="\}\}") {
    									$fin=$j;
    									break;
    								}
    							}
    							$var=substr($ligne,$deb+4,$fin-$deb-4);
     
          echo '<FORM METHOD="post"action="champscomplementaires.php">'; 
    	  echo  $var;
          echo '<input type="text" name="' . $cf . '" value=""><br /><br />';
    							$cf++;
    						}		
    					}
     
    				}
    				fclose($f);
    				      echo '<input type="submit" value="Valider"/></form>';
    					  echo "<br>Nous avons trouvé $cf Champs de fusion<br><b style='background:#C4E1FF;'>";
    ? Ce serait surprenant... Tu ouvres pleins de balises form que tu ne refermes pas... Regarde le code html que tu génères...

  9. #9
    Nouveau membre du Club
    Inscrit en
    Mars 2006
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 89
    Points : 30
    Points
    30
    Par défaut merci
    Merci,
    Je vais regarder ca proprement !!
    mais je te confirme que ca fonctionne !!

Discussions similaires

  1. Réponses: 3
    Dernier message: 09/10/2012, 21h21
  2. [WD-2000] Récupération d'une partie de la valeur d'un champ de fusion
    Par juju05 dans le forum Word
    Réponses: 1
    Dernier message: 29/11/2010, 19h16
  3. Réponses: 16
    Dernier message: 17/06/2005, 16h51
  4. [JTextField] Récupération du champ
    Par cmoa59 dans le forum Composants
    Réponses: 3
    Dernier message: 22/04/2005, 11h24
  5. Récupération des champs d'un form dans un autre
    Par Crazyblinkgirl dans le forum ASP
    Réponses: 10
    Dernier message: 22/06/2004, 11h31

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