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 :

[CONCEPTION] variable deja definie puis modifiee dans un lien, comment la recuperer?-tout ca sur la meme page


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 76
    Points : 48
    Points
    48
    Par défaut [CONCEPTION] variable deja definie puis modifiee dans un lien, comment la recuperer?-tout ca sur la meme page
    Bonsoir,

    l'intitulé n'est pas explicite, j'en suis désolé.

    voilà la situation
    - 1° page avec un formulaire dynamique de type post me renvoie 4 variables:
    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
     
    echo "<form action='index.php?page=commentez_01&proprietaire=$proprietaire&partie=$partie&nbre_dc=$__nbre_dc' method='post'>";
    	echo "<table cellpadding='0' cellspacing='0' border='0' width='75%'>";
    		echo "<tr><td>";
    			echo "Voici la partie demandee.";
    		echo "</td>";
    		echo "<td>";
    			echo "<input type='submit' name='envoi' value='Commenter la partie' />";
    		echo "</td>";
    		echo "<td>";
    			echo "<input type='hidden' name='partie' value='$partie' />";
    		echo "</td>";
    		echo "<td>";
    			echo "<input type='hidden' name='proprietaire' value='$proprietaire' />";
    		echo "</td>";
    		echo "<td>";
    			echo "<input type='hidden' name='nbre_demi_coups' value='$nbre_demi_coups' />";
    		echo "</td></tr>";
    		echo "<td>";
    			echo "<input type='hidden' name='nbre_dc' value='$__nbre_dc' />";
    		echo "</td></tr>";
    	echo "</table>";
    echo "</form>";
    - 2° page qui m'affiche correctement les variables reçues.

    Dans cette deuxieme page, j'ai une boucle qui me crée des liens grace aux variables reçues:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    for($j= 0; $j < count($tab_partie_bis); $j++) {
     
    	if($j % 2 == 0) {
    		$__nbre_c++;
    		$__nbre_dc++;
    		echo $__nbre_c.". <a href=index.php?page=commentez_01&proprietaire=".$_commentez_01_proprietaire."&partie=".$_commentez_01_partie."&nbre_dc=".$__nbre_dc." class='lien_commentez_01'>".$tab_partie_bis[$j]." </a><br>";
    	}
    	if($j % 2 != 0) {
    		$__nbre_dc++;
    		echo "<a href=index.php?page=commentez_01&proprietaire=".$_commentez_01_proprietaire."&partie=".$_commentez_01_partie."&nbre_dc=".$__nbre_dc." class='lien_commentez_01'>".$tab_partie_bis[$j]."</a><br><hr>";
    	}
     
    }
    comment sont construits les liens:
    3 variables:
    - $_commentez_01_proprietaire: fixe, ce sera toujours le même propriétaire
    - $_commentez_01_partie: fixe ce sera toujours le même nom de partie
    - $__nbre_dc: variable LA SE SITUE LE PROBLEME

    $__nbre_dc est defini ds la premiere page a 0
    je recois dc dans la seconde page une valeur a 0
    qd je construis les liens grâce la boucle, $__nbre_dc++, donc pour 10 liens je peux avoir $_nbre_dc ayant une valeur de 1 à 10 mais plus 0.

    Hors je souhaiterai que mes liens réactualisent la même page (un formulaire qui boucle sur la même page dc, mais sans bouton envoyer, puisque c'est le rôle des liens crées) et récupérer (afficher) la nouvelle valeur de $__nbre_dc.

    Je vois pas du tout comment faire.
    En vous remerciant.
    areuh
    longue vie aux forums

  2. #2
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    ba ton formulaire utilise du post et ton lien du get suffit de faire un test
    if(isset($_GET["nbre_dc"])){ $__nbre_dc=$_GET["nbre_dc"];}
    elseif(isset($_POST["nbre_dc"]){ $__nbre_dc=$_POST["nbre_dc"];}

    c'est pas ça que tu veux faire?
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  3. #3
    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

    A mon avis, tu te complique la vie, ou alors il manque des infos pour justifier ça.

    Le formulaire (les input) contient les mêmes données que celles dans son URL (action) mais en champ caché, du coup, à quoi bon créer un formulaire ?
    S'il y avait au moins une donnée que l'utilisateur pouvait saisir ou faire un choix, là d'accord.
    Et encore que, ça ne justifierait pas les mêmes données à la fois dans les input et dans l'URL, ça justifie juste l'utilité du formulaire.
    Pour ma part, soit c'est l'un (input -> champs cachés) soit l'autre (url), mais pas les 2.

    Question : Pour quelle raison utilise tu un formulaire au lieu d'un simple lien ?
    Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
    Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 76
    Points : 48
    Points
    48
    Par défaut
    hop,

    le message a ete deplace, desole pour le derangement.
    en ce qui concerne vos reponses,
    je rentre juste du boulot... c'est comme ca pendant 4j (au moins jusqu'a lundi.) je ne lis pas les messages jusqu'a ce jour. Vous aurez des nouvelles plus tard.

    a+ et merci deja des 2 reponses.
    areuh
    longue vie aux forums

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 76
    Points : 48
    Points
    48
    Par défaut
    hop,

    je reviens...

    a y est, j'ai réglé le problème.

    - 1° page avec le formulaire dynamique
    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
     
    echo "<form action='index.php?page=commentez_01_AA&proprietaire=$proprietaire&partie=$partie' method='post'>";
    	echo "<table cellpadding='0' cellspacing='0' border='0' width='75%'>";
    		echo "<tr><td>";
    			echo "Voici la partie demandee.";
    		echo "</td>";
    		echo "<td>";
    			echo "<input type='submit' name='envoi' value='Commenter la partie' />";
    		echo "</td>";
    		echo "<td>";
    			echo "<input type='hidden' name='partie' value='$partie' />";
    		echo "</td>";
    		echo "<td>";
    			echo "<input type='hidden' name='proprietaire' value='$proprietaire' />";
    		echo "</td>";
    		echo "<td>";
    			echo "<input type='hidden' name='nbre_demi_coups' value='$nbre_demi_coups' />";
    		echo "</td></tr>";
    	echo "</table>";
    echo "</form>";
    - 2° page
    je teste directement l'exitence de la variable $_SESSION['login'] puis l'existence de la variable $_GET['nbre_dc'] (qui n'existe pas, forcément).

    si $_GET['nbre_dc'] n'existe pas:
    boucle qui crée les liens, avec toujours les mêmes 3 variables:
    - $_commentez_01_proprietaire
    - $_commentez_01_partie
    - $__nbre_dc
    J'ai abandonné l'idée du formulaire.
    les liens bouclent sur cette même page
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    for($j= 0; $j < count($tab_partie_bis); $j++) {
     
    	if($j % 2 == 0) {
    		$__nbre_c++;
    		$__nbre_dc++;
    		echo $__nbre_c.". <a href=index.php?page=commentez_01_AA&proprietaire=".$_commentez_01_proprietaire."&partie=".$_commentez_01_partie."&nbre_dc=".$__nbre_dc." class='lien_commentez_01'>".$tab_partie_bis[$j]." </a><br>";
    	}
    	if($j % 2 != 0) {
    		$__nbre_dc++;
    		echo "<a href=index.php?page=commentez_01_AA&proprietaire=".$_commentez_01_proprietaire."&partie=".$_commentez_01_partie."&nbre_dc=".$__nbre_dc." class='lien_commentez_01'>".$tab_partie_bis[$j]."</a><br><hr>";
    	}
     
    }
    si $_GET['nbre_dc'] existe (elle existera apres avoir cliqué sur un des liens crées)
    j'affiche un formulaire avec TEXTAREA. le formulaire pointe sur une 3° page qui valide ou pas le contenu du TEXTAREA

    Merci Vil'Coyote, c'etait bien ça, juste palcer la condition d'existence au début du script.

    Pour te répondre RunCodePhp:
    j'ai lu (ici ou ailleurs) qu'il était préférable de passer les variables en POST plutôt qu'en GET pour un souci de "sécurité", que l'internaute n'arrive pas à distinguer les dites variables.
    C'est vrai que ma 1° page utilise un formulaire, mais l'adresse vers laquelle pointe ce formulaire est affichée dans la barre d'adresse. Faudrait que je teste si je peux modifier cet état des choses (je ne suis pas a l'aise ds la programmation) et dc j'étais parti sur la meme idée avec la 2° page (la boucle qui construit mes liens) mais dans ce cas bien précis, je ne sais pas si le passage de $_POST['nbre_dc'] est réalisable.

    Une fois que j'aurai terminé la page qui valide le contenu du TEXTAREA, je me pencherai (si j'ai la volonté) sur le problème.

    Merci bien à vous 2
    a+
    areuh
    longue vie aux forums

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

Discussions similaires

  1. [MySQL] rester sur la meme page apres insert dans BD
    Par diengkals dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 08/10/2012, 17h50
  2. recupere un "object" sur une autre page puis l'afficher sur la page actuel
    Par ernestrenan dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 03/10/2011, 09h21
  3. Réponses: 1
    Dernier message: 14/11/2009, 07h07
  4. comment mettre un tableau dans une boucle et sur la meme page
    Par pikkolina dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 24/05/2009, 19h21
  5. Réponses: 1
    Dernier message: 16/08/2007, 17h58

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