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 :

Lien sur un script php avec envoi d'une valeur


Sujet :

Langage PHP

  1. #1
    Invité(e)
    Invité(e)
    Par défaut Lien sur un script php avec envoi d'une valeur
    Bonjour à toutes et à tous, je pense que vous connaissez cette méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <form name='formulaire' method='post' action='createSecond.php'>
    echo "Nom <input type='texte' name='nom' value='$get_nom'>";
    ...
    ..
    Ici, j'insère dans un champ une valeur qui sera récupérée par le fichier "createSecond.php".

    Je veux donc faire exactement la même chose avec un lien :

    <href='createSecond.php'

    Et pour la suite, je ne sais pas :-S . Je veux que ce lien, lorsqu'il est cliqué, envoit une valeur contenu dans une variable ( $recup par exemple ) à la page "createSecond.php".

    Pouvez vous m'aidez SVP ?
    Dernière modification par Deepin ; 18/01/2010 à 09h34. Motif: Merci d'utiliser la balise [code] (bouton #) de l'editeur.

  2. #2
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Pilotwings Voir le message

    <href='createSecond.php'

    Et pour la suite, je ne sais pas :-S . Je veux que ce lien, lorsqu'il est cliqué, envoit une valeur contenu dans une variable ( $recup par exemple ) à la page "createSecond.php".

    Pouvez vous m'aidez SVP ?
    Tu as de la chance : j'ai appris à le faire jeudi dernier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <href="createSecond.php?recup=<?=$recup?>&var2_si_elle_existe=<?=$var2>" >texte_du_lien</a>
    et dans createSecond.php, tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php 
    $recup=GET['recup']; 
    $var2=GET ['var2_si_elle_existe']; 
    ?>

  3. #3
    Expert éminent
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Points : 8 389
    Points
    8 389
    Par défaut
    Sauf que là tu utilises GET alors que le PO veut utiliser POST.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <form id="my_form" ...>
    ...
    </form>
    A placer où tu veux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="javascript:document.forms["my_form"].submit();">Soumettre my_form</a>
    Ca marche que la méthode soit GET ou POST.

  4. #4
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    OK pour ta réponse, mais pour comprendre davantage, n'aurait-on pas pû dans ma méthode remplacer GET par POST ?

  5. #5
    Invité(e)
    Invité(e)
    Par défaut
    Bonjour !
    Tout d'abord, merci à vous tous de m'aider !
    Les 2 méthodes que vous m'avez proposé m'intéresse, mais elles ne fonctionnent pas chez moi. J'ai essayé le script suivant sans succès :

    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
    echo "<form id='formulaire' name='formulaire' method='post' action='ChangeDataSecond.php'>";
     
      while ($tab = mysql_fetch_array($result))
           {
     
           	 $identifiant=$tab[Identifiants];
    		 $instrument=$tab[Instruments];
    		 $nom=$tab[Noms];
    		 $prenom=$tab[Prenoms];
    		 $password=$tab[Passwds];
    		 $adressemail=$tab[AdrsMail];
     
                     echo "<tr>"; 
     
                     echo "<td><center><script language='Javascript'><a href='javascript:document.forms['formulaire'].submit();'>$identifiant</a></script></center></td>";
    		  echo "<td><center><a href='ChangeDataSecond.php?instrument=<?=$instrument?>'>$instrument</a></center></td>";
    		  echo "<td><center>$nom</center></td>";
     
                      echo "<td><center>$prenom</center></td>"; 
                      echo "<td><center>$password</center></td>";
                      echo "<td><center>$adressemail</center></td>"; 
                      echo "</tr>";
     
           } 
     
    echo "</form></TABLE>";
    Pour la première méthode, je ne reçois pas de valeur. J'ai testé en ajoutant la ligne suivante dans le fichier createFirsy.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $recup=$_POST['instrument']; 
    echo "$recup";
    Et pour la deuxième méthode, le lien ne m'envoit pas sur ma page createFirst.php

  6. #6
    Expert éminent
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Points : 8 389
    Points
    8 389
    Par défaut
    laurentSc : mapage.php?var1=value1 est une requête GET. Dans mapage.php, tu récupères var1 avec $_GET["var1"] ou $_REQUIRE["var1"]. Pour envoyer par POST, il faut soumettre un formulaire. Une variable passée par POST est ensuite récupérée par $_POST["var1"] ou $_REQUIRE["var1"].

    Pilotwings : Pourquoi tu mets le code HTML dans une section JavaScript ? Et pourquoi tout afficher avec echo ? En plus tu as des erreurs de parsing. Fais ceci :
    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
    <html>
    <body>
      <?php /* mysql_connect, mysql_select_db, mysql_query, etc. */ ?>
      <table>
      <form id="formulaire" name="formulaire" /* name est inutile */ method="post" action="ChangeDataSecond.php">
      <?php
      while ($tab = mysql_fetch_array($result))
      {
        $identifiant=$tab[Identifiants];
        $instrument=$tab[Instruments];
        $nom=$tab[Noms];
        $prenom=$tab[Prenoms];
        $password=$tab[Passwds];
        $adressemail=$tab[AdrsMail];
      ?>		 
          <tr>
            <td><center><a href="javascript:document.forms['formulaire'].submit();"><?php echo $identifiant; ?></a></center></td>
            <td><center><?php echo $nom; ?></center></td>
            <td><center><?php echo $prenom; ?></center></td>
            <td><center><?php echo $password; ?></center></td>
            <td><center><?php echo $adressemail; ?></center></td>
          </tr>
      <?php } ?>
      </form>
      </table>
    </body>
    </html>

  7. #7
    Invité(e)
    Invité(e)
    Par défaut
    J'insère des echo car j'utilise principalement du php pour la manipulation de la base de données.

    Petite question : l'utilisation de $_POST["..."] nécessite un name="..." pour l'envoi de la variable d'une page à l'autre. Comment cela fonctionne avec :
    <a href="javascript:document.forms['formulaire'].submit();"><?php echo $identifiant; ?></a>

    ?
    Je ne sais pas quel est le nom que doit contenir $_POST :-S
    Dernière modification par 12monkeys ; 18/01/2010 à 23h14. Motif: bien vouloir utiliser le bouton éditer + citation inutile

  8. #8
    Expert éminent
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Points : 8 389
    Points
    8 389
    Par défaut
    J'insère des echo car j'utilise principalement du php pour la manipulation de la base de données.
    Oui mais d'habitude on n'affiche que le contenu dynamique avec echo, pas la page web entière.

    Petite question : l'utilisation de $_POST["..."] nécessite un name="..." pour l'envoi de la variable d'une page à l'autre. Comment cela fonctionne avec :
    <a href="javascript:document.forms['formulaire'].submit();"><?php echo $identifiant; ?></a>

    ?
    Je ne sais pas quel est le nom que doit contenir $_POST :-S
    Dans le formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="hidden" name="var1" value="value1" />
    Dans le script PHP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $var1 = $_POST["var1"];

  9. #9
    Invité(e)
    Invité(e)
    Par défaut
    Merci beaucoup ! Maintenant, ça fonctionnne nickel ^^
    à +

  10. #10
    Invité(e)
    Invité(e)
    Par défaut
    OUPs, j'parle un peut trop vite. En effet, ça fonctionne mais tous les liens envoient la même valeur, ça ne me semble pas normal :

    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
    <?php  
      while ($tab = mysql_fetch_array($result))
           {
           	         $identifiant=$tab[Identifiants];
    		 $instrument=$tab[Instruments];
    		 $nom=$tab[Noms];
    		 $prenom=$tab[Prenoms];
    		 $password=$tab[Passwds];
    		 $adressemail=$tab[AdrsMail];
    ?>		 
             <form id='formulaire' name='formulaire' method='post' action='ChangeDataSecond.php'>
    		 <tr> 
    		 <td><center><a href="javascript:document.forms['formulaire'].submit();"><input type="hidden" name="identifiant" value=<?php echo "$identifiant"; ?>><?php echo $identifiant; ?></a></center></td>
     
    ...
    .....
    ...
    ..
    .
    	  <form name='formulaireModification' method='post' action='ChangeDataSecond.php'>
    <?php	   
    	   }
    ?>
    En résultat, j'obtiens un tableau avec plusieurs pseudo différents. Mais le lien de tous ces pseudos envoit la même valeur qui est celle du dernier pseudo !

  11. #11
    Invité(e)
    Invité(e)
    Par défaut
    Jai la solution que je dois mettre en oeuvre :

    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
    <?php  
    $i=0;       //initialisation de la variable
     
      while ($tab = mysql_fetch_array($result))
           {
                     $i++;     //incrémentation de i
                                 // ici, il faut que je rajoute au nom de la variable identifiant la valeur de i
    //exemple : identifiant1
    //2e tour : identifiant2 etc
           	         $identifiant=$tab[Identifiants];
     
    ....
    ..
    .
     
    ?>		 
             <form id='formulaire' name='formulaire' method='post' action='ChangeDataSecond.php'>
    		 <tr> 
    		 <td><center><a href="javascript:document.forms['formulaire'].submit();"><input type="hidden" name="identifiant" value=<?php echo "$identifiant"; ?>><?php echo $identifiant; ?></a></center></td>
     
    ...
    .....
    ...
    ..
    .
    	  <form name='formulaireModification' method='post' action='ChangeDataSecond.php'>
    <?php	   
    	   }
    ?>

  12. #12
    Invité(e)
    Invité(e)
    Par défaut
    J'ai créer une variable variable :
    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
     
    <?php  
    $var="0";
     
      while ($tab = mysql_fetch_array($result))
     
    	   {
     
           	 $identifiant=$tab[Identifiants];
    		 $instrument=$tab[Instruments];
    		 $nom=$tab[Noms];
    		 $prenom=$tab[Prenoms];
    		 $password=$tab[Passwds];
    		 $adressemail=$tab[AdrsMail];
     
    		 $var=$var+1;
    		 $$var=$identifiant;
     
    ?>		 
     
             <form id='formulaire' name='formulaire' method='post' action='ChangeDataSecond.php'>
     
    		 <td><center><a href="javascript:document.forms['formulaire'].submit();"><input type="hidden" name="ID" value=<?php echo "$var"; ?>><?php echo "$var"; ?></a></center></td>
     
    		 <form name='formulaireModification' method='post' action='ChangeDataSecond.php'>
    <?php	   
    	   }
    ?>
    RESULTATS :
    J'ai plusieurs variables de créées soit $1, $2, $3 ...
    $1 se voit donc affecter la première valeur de l'idendentifiant de ma table de ma BDD
    $2 se voit donc affecter la deuxième valeur de l'idendentifiant de ma table de ma BDD
    $3 se voit donc affecter la troisième valeur de l'idendentifiant de ma table de ma BDD
    etc.

    Et j'ai toujours le même problème, je ne comprends pas.
    Dernière modification par Invité(e) ; 19/01/2010 à 15h09.

  13. #13
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Salut

    Je n'ai pas suivi tout le topic (trop long ), je me tiens aux 2 derniers post.

    D'abord je remarque que tu créé 2 formulaires, et je ne vois pas la balise qui le ferme.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <form id='formulaire' name='formulaire' method='post' action='ChangeDataSecond.php'>
      bla bla bla
    </form> <!-- fermeture de la balise -->
     
    <form name='formulaireModification' method='post' action='ChangeDataSecond.php'>
      bla bla bla
    </form> <!-- fermeture de la balise -->
    Ensuite, je remarque que tu mets un lien <a href=""></a> dans le formulaire, et c'est un javascript qui déclenche l'évènement "onsubmit".
    Normalement il n'y a pas lieu de mettre un lien, c'est un bouton de type submit qu'il faut, car par définition, c'est lui qui déclenchera l'évènement "submit".
    C'est l'attribut "action" (<form action="maPage.php">) qui dirigera vers la page désirée.

    Mais encore, comme tes formulaires sont dans une boucle, et bien il faudrait leur donner un nom unique. Sait on jamais.
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <form name='formulaire_<?php echo $i; ?>'>
    bla bla bla
    </form>
     
    <form name='formulaireModification_<?php echo $i; ?>'>
    bla bla bla
    </form>
    Si c'est qu'une question de présentation, (un bouton serait moche), il y a moyen de lui donner le "look" que l'on veut, suffit pour cela de modifier son CSS.
    Tu peux même mettre une image : <input type="image" src="bouton.png" />
    Pas besoin de javascript

    Sais pas si cela peu t'aider.

  14. #14
    Invité(e)
    Invité(e)
    Par défaut
    MERCI pour ton aide, j'ai résolu ce problème. Mais un autre problème est apparu, je l'ai citer avant ton commentaire.
    Merci encore

  15. #15
    Invité(e)
    Invité(e)
    Par défaut
    J'AI TROUVÉ LA SOLUTION SEUL AU BOUT DE 1.5 JOURS !!!!

    !!! YOUPI !!!


    Voici la solution si ça peut aider certains d'entres vous :

    Page d'envoi :
    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
    <html>
     
     
    <?php
    .....
    ...
    ..
    .
     
    $nbResults = mysql_num_rows($result);
    echo "Comptes : $nbResults ";
     
    $i="1";
    $cases="1";
     
     
    ?>
     
    <TABLE BORDER=1><tr> 
    <th><center>Pseudos</center></th>
    <th><center>Instruments</center></th>
    <th><center>Prénoms</center></th>
    <th><center>Noms</center></th>
    <th><center>Mots de passe</center></th>
    <th><center>Adresses mail</center></th>
     
    <?php
     
          While ($i<$nbResults)
               {
      	             $i++;
    	             $add=",$i";
    	             $caseNew=$cases.$add;
    	        	 $cases=$caseNew;
               }
     
      $a=$caseNew;
      $tableGet=array($a);
     
      $i=0;
     
          while ($tab = mysql_fetch_array($result))
               {
     
    	   	        $identifiant=$tab[Identifiants];
    		        $instrument=$tab[Instruments];
    				$nom=$tab[Noms];
    				$prenom=$tab[Prenoms];
    				$password=$tab[Passwds];
    				$adressemail=$tab[AdrsMail];
     
    			    $tableGet[$i]=$identifiant;
     
    ?>
                  <form name="<?php echo $i; ?>" method="post" action="ChangeDataSecond.php">
                   <tr>
    		       <td><a href="javascript:document.forms['<?php echo $i; ?>'].submit();"><input type="hidden" name="<?php echo $i; ?>" value="<?php echo $identifiant;?>" /><?php echo "$identifiant"; ?></href></input></a></td>
                   <td><center><?php echo "$instrument" ?></center></td>
    			   <td><center><?php echo "$nom" ?></center></td>
    			   <td><center><?php echo "$prenom" ?></center></td>
    			   <td><center><?php echo "$password" ?></center></td>
    			   <td><center><?php echo "$adressemail" ?></center></td>
    			  </tr>
    		      </form>
     
    <?php
    	   $i++;
    	       }
    mysql_close();
     
    ...
    ..
    .
    ?>
     
     
    </table>
    </html>
    page de récupération :
    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
     
    <?php
    ...
    ..
    .
    while ($i<$nbResults)
       {
           $recup=$_POST[$i];
     
           if (isset($_POST[$i]))
               {
                   $recup=$_POST[$i];
                   break;
               }
           $i++;
        }
     
    $getID=$recup;
     
    ....
    ..
    ...
    ?>

Discussions similaires

  1. Lien sur un script PHP
    Par rfleurysg dans le forum Langage
    Réponses: 2
    Dernier message: 20/10/2007, 09h46
  2. [PHP-JS] Besoin d'expertise sur petit script php
    Par Quetzalcoatl dans le forum Langage
    Réponses: 9
    Dernier message: 02/07/2006, 18h34
  3. [Newsletter] Script PHP d'envoi automatique de newsletter
    Par chouchouboy dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 39
    Dernier message: 23/06/2006, 11h30
  4. A l'aide svp j'ai de gros problemes sur un script php
    Par schtek2 dans le forum Langage
    Réponses: 1
    Dernier message: 24/04/2006, 01h25

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