creation d'un bouton lien

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : creation d'un bouton lien

par Truc » 24 nov. 2007, 21:31

Je vais le faire mais tu peux en faire autant en éditant ton 1er message

par Kefren » 24 nov. 2007, 20:37

ok jpensai que c'etait les modératurs qui le classé en tant que "resolu" mais si tu peux changer le sujet pour mettre "creation d'un bouton lien" ca serait sympa et plus explicite. Merci

par Truc » 24 nov. 2007, 15:33

Modération :
Kefren, si ta question est résolue, pense à ajouter le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.
Tu peux réaliser cette opération en cliquant sur le bouton Image en haut à gauche de ce sujet.

par Kefren » 24 nov. 2007, 13:39

c'est bon j'ai trouvé ce qui clochait dans le bouton en fait c'est le dans le bouton qu'un "?" n'etait pas pris en compte alors pour info je met le code du bouton :
<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 ALIGN="CENTER">
				<TR><TD>
				<FORM NAME="formboutonmenu" ACTION="<? echo $wwwroot.'/achat/index.php'; ?>" method="get" />
				<input type= "hidden" name="catid" value="<? echo $id; ?>" />
				<INPUT TYPE="SUBMIT" VALUE="<? echo $value; ?>" CLASS="boutonmenu" style="width:220px"/>
				</FORM>
				</TD></TR>
				</TABLE>

par Truc » 13 nov. 2007, 00:11

c'est quand même le "foutoir" dans ton code source :lol:

Reposte ton code tel qu'il est maintenant.

Sinon tu as un champ caché avec l'id que tu veux récupérer pourquoi ne pas prendre cette valeur en POST plutôt que la valeur GET

par Kefren » 12 nov. 2007, 22:53

Oui mais en fait lorsque je fais un "echo" de $action, la variable a pour valeur le bon lien, à l'affichage de "$action" le navigateur m'affiche pour chaque bouton crée le bon lien mais lorsque je ck rien ... pourtant la variable continet le bon lien ?!

par Truc » 12 nov. 2007, 21:39

dans le code source on voit le lien au complet... par contre je ne vois pas de récuperation d'une variable $_GET["catid"].

par Kefren » 12 nov. 2007, 21:25

pour le echo dans le "FORM" j'avais bien compris, mais ca ne fonctionne toujours pas, j'ai ecrit comme ce que tu as mis juste au dessus mais en fait je n'ai qu'un morceau de la variable

normalement je devrai obtenir : "http://basebio.jcrinformatique.fr/achat ... ?catid='un nombre'"

mais au lieu de ca j'ai quand je clik sur le boputon j'arrive à la page : "http://basebio.jcrinformatique.fr/achat/index.php

il me manque donc : "?cat='un nombre'"

je recupere la valeur de ma variable $action comme ceci :
$action = "$wwwroot/achat/index.php?catid=" . $cat['id'] . "";
peut-etre que toi tu verra se qui ne va pas

par Truc » 11 nov. 2007, 15:00

par contre j'ai tester plusieurs solution pour la redirection mais il m'est impossible de faire rediriger l'action sur la page désirée
et j'ai du mal à saisir ce que voulez me faire faire en disant :
Non mais le echo sert à construire le code source de la page qui sera interprétée par ton navigateur.
Si tu ne fais pas de "echo" tu n'auras rien dans le code source donc pas d'action à exécuter.
Il ta faut faire :
<FORM ACTION="<?php echo $action; ?> ">

par Power Web » 10 nov. 2007, 21:45

Hmm juste comme ça... A quoi servent les guillemets ' et ' avant et après mysql_num_rows() ?

par Kefren » 10 nov. 2007, 15:44

en ce qui concerne la recupération du nom de la categorie et de son affichage, c'est ok, et en fait c'etait plus simple que sur ce qu'on etait parti
<?
$value =  html_entity_decode($cat['nom_'.$_SESSION['langue'].'']);
?>
par contre j'ai tester plusieurs solution pour la redirection mais il m'est impossible de faire rediriger l'action sur la page désirée
et j'ai du mal à saisir ce que voulez me faire faire en disant :
Non mais le echo sert à construire le code source de la page qui sera interprétée par ton navigateur.
Si tu ne fais pas de "echo" tu n'auras rien dans le code source donc pas d'action à exécuter.

par Truc » 06 nov. 2007, 17:45

Je constate que tu n'as pas suivis les conseils
Il te manque tout simplement des "echo" pour afficher les variables.

Pour le "Resource id #22" c'est aussi normal puisque tu oublies une étape... la lecture du résultat de la requête mysql_query() avec mysql_fetch_assoc() ou autre
Non mais le echo sert à construire le code source de la page qui sera interprétée par ton navigateur.
Si tu ne fais pas de "echo" tu n'auras rien dans le code source donc pas d'action à exécuter.
Pour la redirection c'est le code source qui compte.
Pour la récupération de la valeur de la requête tu dois passer par une fonction de lecture proposée.
$value = mysql_query($cat['nom_'.$_SESSION['langue'].'']);
ne veut rien dire

Je n'ai rien d'autre à ajouter pour l'instant :?

par Kefren » 06 nov. 2007, 14:57

En ce qui concerne ma variable $value elle prend sa valeur à deux moments pour me donner le résultat suivant : "Resource id #.."
<?
$value = mysql_query("SELECT nom_".$_SESSION['langue']." FROM peel_categories WHERE 'parent_id' = ".$cat['id']."");

$value = mysql_query($cat['nom_'.$_SESSION['langue'].'']);
?>
pour la variable $action elle a bien la bonne valeur (la page que doit afficher le navigateur lorsqu'on clique sur le bouton) mais le lien ne s'effectue pas

par Kefren » 05 nov. 2007, 19:08

en fait j'ai tester le echo dans le bouton comme ci-dessus

puis là j'en suis à :
<?
function construit_menu_arborescent_cat(&$sortie_cat, &$selectionne_cat, $parent_cat=0, $indent_cat=-1)
{
         global $wwwroot, $catid;
         $indent_cat +=1;
		 if(is_array($catid)) $catid=0;
         // Recherche de tous les noeuds ayant $parent comme noeud parent
         $qid = mysql_query("SELECT id, parent_id, nb, nom_".$_SESSION['langue']." FROM peel_categories WHERE parent_id = $parent_cat AND etat = '1' ORDER BY position");
         // Si la requete a abouti
         if($qid){
            // Pour toutes les entr&eacute;es
            while($cat = mysql_fetch_array($qid)){
                  // Boucle pour ajouter l'indentation (une image vide)
                  // Pour aller plus loin on peut g&eacute;rer des lignes de suite
                  for($i=0;$i<$indent_cat;$i++){
                      $sortie_cat .= "<img src='$wwwroot/images/mnu_empty.gif' border=0>";
                  }
                  // Recherche d'enfant pour d&eacute;terminer l'aspect de l'icone (feuille ou dossier)
                  $fils_cat = mysql_query("SELECT 'id', 'parent_id', nom_".$_SESSION['langue']." FROM peel_categories WHERE 'parent_id' = ".$cat['id']." AND etat = '1' ORDER BY position");
				  $div_cat = 'mysql_num_rows($fils_cat)';
				  $value = mysql_query("SELECT nom_".$_SESSION['langue']." FROM peel_categories WHERE 'parent_id' = ".$cat['id']."");
                  // Si il y a des enfants
                  if ($div_cat) {
                      // Ajout de l'icone du dossier
                      $sortie_cat .= "<img src='$wwwroot/images/menplus.gif' border=0>&nbsp;";
                      // Ajout du lien (identique &agrave; construit menu)
                      $sortie_cat .= "<a class=menuleft href=$wwwroot/achat/index.php?catid=" . $cat['id'] .">";
					  $action = "$wwwroot/achat/index.php?catid=" . $cat['id'] ."";
                      // Test si le noeud est le noeud actif (id), si oui, ajoute du gras (plus visuel)
                      if($cat['id']=='$catid') $sortie_cat .= "<b>";
					  
                      // Ajoute le nom de la cat&eacute;gorie et d&eacute;bute un calque DIV ayant pour ID l'Id de la cat&eacute;gorie
                      $sortie_cat .=  html_entity_decode($cat['nom_'.$_SESSION['langue'].'']);
					  
					  $nb = calcul_nbprod_parcat($cat['id']);
					  
					  if (!empty($nb)) {$sortie_cat .= " (".$nb.") "; }
					  
					 $sortie_cat .= "</a></b><br /><DIV id=".$cat['id'];
                      // Recherche si le noeud fait partie de l'arborescence du noeud actif
                      parent_noeud_cat($cat['id'],'$catid', $actif_cat=0);
                      // Si Oui,
                      if(($cat['id'] == $catid) || ($actif_cat == 1)){
                          // Rends le calque visible
                          $sortie_cat.= " style=\"display:yes\">\n";
                      }
                      else{
                          // Sinon, rends le calque invisible
                          $sortie_cat.= " style=\"display:none\">\n";
                      }
                  }
                  // Sinon, c'est un document 
                  else{
                      // Ajoute l'image du document
                      $sortie_cat .= "<img src='$wwwroot/images/menminus.gif' border=0>&nbsp;";
                      // Ajoute le lien (identique &agrave; construit_menu)
                      $sortie_cat .= "<a class=menuleft href=$wwwroot/achat/index.php?catid=" . $cat['id'] .">";
                      // Si c'est la feuille active, la met en gras
                      if($cat['id']==$catid) $sortie_cat .= "<b>";
                      // Ajoute le nom
                      $sortie_cat .= html_entity_decode($cat['nom_'.$_SESSION['langue'].'']);
						$value = mysql_query($cat['nom_'.$_SESSION['langue'].'']);
					  $nb = calcul_nbprod_parcat($cat['id']);
					  
					  if (!empty($nb)) {$sortie_cat .= " (".$nb.") "; }
					  
					   $sortie_cat .= "</a></b><br />";
                  }
                  // Si c'est un noeud (cat&eacute;gorie)
                  if($div_cat){
                     // Appel r&eacute;cursif pour ajout des enfants
                     construit_menu_arborescent_cat($sortie_cat, $selectionne_cat, $cat['id'], $indent_cat);
                      
			?>
				<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 ALIGN="CENTER">
				<TR><TD>
				<FORM ACTION="<? $action ?> ">
				<INPUT TYPE="SUBMIT" VALUE="<? echo $value; ?>"></TD>
				</FORM></TR>
				</TABLE>
			<?

			  	echo $action;
					  //Ferme le calque
                     $sortie_cat.="</div>";
                  }
            }
         }
}	
	

par Truc » 05 nov. 2007, 18:55

Non mais le echo sert à construire le code source de la page qui sera interprétée par ton navigateur.
Si tu ne fais pas de "echo" tu n'auras rien dans le code source donc pas d'action à exécuter.

Pour le code montre nous ce que tu as essayé.