variable de session URL un ptit coup de main svp!!!

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 : variable de session URL un ptit coup de main svp!!!

par Truc » 28 janv. 2007, 00:02

suppose sans doute d'avoir une page différente pour chaque sous menus.
Oui et Non... une page par élément de menu donc :
  • camping.php
    hotel.php
    plage.php
    ...
Dans chaque fichier un script qui récupère les données spécifiques à la page.
camping.php devrait contenir le sript du 1er post
hotel.php devrait contenir le code pour afficher les données "hotel"
J'ai aussi essayé de poser une condition comme celle-ci
<?php $valeur_lien = $_GET['lien'] ?>
et de remplacer chaque mots "camping" par $valeur_lien
Cette méthode est celle dont je parlais au début mais il faudrait que les tables soient exactement les mêmes donc ceci ne fonctionnerait plus :
$row_rs_camping['nom_camping']
je doute que tu aies un champ "nom_camping" dans la table "hotel"... Donc trop de travail.

par dread » 27 janv. 2007, 22:56

Salut à tous.
J'ai été voir ce que tu m'as proposé Truc. Il est vrai que les pseudos frames pourraient convenir pour mon menu qui sera effectivement présent sur bon nombre de pages. Cependant, l'une des solutions proposée pour appeler le contenu d'une page selon la valeur induite par le lien cliqué:
<?php
  include($_GET['page'].'.php');   // Nous appelons le contenu central de la page
?>
suppose sans doute d'avoir une page différente pour chaque sous menus.
Or ce que je souhaitais savoir, c'est s'il m'était possible, au vu du code de ma page mentionné plus haut, (code qui serait donc identique sur chaque page sauf pour le critère "camping") de modifier le mot "camping" ,faisant référence aux informations contenues dans la table du même nom, par une valeur égale à celle du lien cliqué faisant elle aussi référence à une autre table comme hôtel par exemple.
En gros, je clique sur un lien qui a pour valeur "hôtel" ce qui change la valeur camping du code de ma page par la nouvelle valeur "hôtel" et ainsi de suite pour d'autres valeurs en lien avec une base de données identique.
J'espère être suffisamment clair dans la description de ce que je souhaite faire.

J'ai aussi essayé de poser une condition comme celle-ci
<?php $valeur_lien = $_GET['lien'] ?>
et de remplacer chaque mots "camping" par $valeur_lien mais rien ne marche. Quelque chose m'échappe vraiment mais bon soyez indulgent, je débute.
Tu m'as peut-être déjà donnée la solution Truc mais je t'avoue ne pas savoir quoi faire.
Merci pour toute aide apportée.

par dread » 26 janv. 2007, 23:38

Je vois que le chemin risque d'être plus long que prévu. Merci encore pour les infos et conseils Truc. Je sens que je vais passer un bon week-end à potasser tout ca.
Bon week. A +

par Truc » 26 janv. 2007, 22:11

Il y a tout de même énormément de choses spécifique à "camping"... si tu veux garder exactement le même code il y aura beaucoup plus de modifs a faire que celà.

Ce que tu souhaites s'appel pseudo frames... il faut donc faire plusieurs scripts (fichiers) pour tous les cas et inclure (avec include) le script qui va bien en fonction de la variable de l'url (ici lien).

Lorsque tu auras compri et fini tu peux passer sur ce post pour perfectionner

par dread » 26 janv. 2007, 22:00

Ok merci pour l'indic Truc. Je vais essayer ta solution.
Pour le reste de mon code, je te propose de mettre tout le code de ma page comme ca je suis sûr de ne rien oublier. Ce sera le code avant changement et mise en place de la variable.
<?php
$currentPage = $_SERVER["PHP_SELF"];
?>
<?php require_once('connections/free.php'); ?>
<?php
$maxRows_rs_camping = 8;
$pageNum_rs_camping = 0;
if (isset($_GET['pageNum_rs_camping'])) {
  $pageNum_rs_camping = $_GET['pageNum_rs_camping'];
}
$startRow_rs_camping = $pageNum_rs_camping * $maxRows_rs_camping;

mysql_select_db($database_conn_develop, $conn_develop);
$query_rs_camping = "SELECT * FROM tbl_camping ORDER BY rand()";
$query_limit_rs_camping = sprintf("%s LIMIT %d, %d", $query_rs_camping, $startRow_rs_camping, $maxRows_rs_camping);
$rs_camping = mysql_query($query_limit_rs_camping, $conn_develop) or die(mysql_error());
$row_rs_camping = mysql_fetch_assoc($rs_camping);

if (isset($_GET['totalRows_rs_camping'])) {
  $totalRows_rs_camping = $_GET['totalRows_rs_camping'];
} else {
  $all_rs_camping = mysql_query($query_rs_camping);
  $totalRows_rs_camping = mysql_num_rows($all_rs_camping);
}
$totalPages_rs_camping = ceil($totalRows_rs_camping/$maxRows_rs_camping)-1;

$queryString_rs_camping = "";
if (!empty($_SERVER['QUERY_STRING'])) {
  $params = explode("&", $_SERVER['QUERY_STRING']);
  $newParams = array();
  foreach ($params as $param) {
    if (stristr($param, "pageNum_rs_camping") == false && 
        stristr($param, "totalRows_rs_camping") == false) {
      array_push($newParams, $param);
    }
  }
  if (count($newParams) != 0) {
    $queryString_rs_camping = "&" . htmlentities(implode("&", $newParams));
  }
}
$queryString_rs_camping = sprintf("&totalRows_rs_camping=%d%s", $totalRows_rs_camping, $queryString_rs_camping);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Menu CSS avec contenu</title>
<meta name="Description" content="Comment faire un menu CSS"/>
<meta name="Keywords" content=" Menu CSS, menu CSS, menu déroulant, test menu horizontal, menu hover"/>
<link href="style1.css" rel="stylesheet" type="text/css" />
<link href="menu_bandeau_piedpage.css" rel="stylesheet" type="text/css" />
				
			<script type="text/javascript">
			<!--
			window.onload=montre;
			function montre(id) {
			var d = document.getElementById(id);
			for (var i = 1; i<=10; i++) {
			if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
			}
			if (d) {d.style.display='block';}
			}
			//-->
			</script>
</head>

<body>
<div id="global">
	<div id="menu">
	<dl>
		<dt class="une_ligne" onmouseover="javascript:montre();"><a href="#" title="Actualités">Actualités</a></dt>
	</dl>
	
	<dl>			
		<dt class="une_ligne" onmouseover="javascript:montre('smenu1');"><a href="#" title="Hébergements">Hébergements</a></dt>
			<dd id="smenu1" onmouseover="javascript:montre('smenu1');" onmouseout="javascript:montre('');">
				<ul>
					<li><a href="#">Hôtels</a></li>
					<li><a href="http://develop.web.free.fr/template_generic3.php">Campings</a></li>
					<li><a href="#">Auberges</a></li>
					<li><a href="#">Gîtes</a></li>
					<li><a href="#">Chambres d'hôtes</a></li>
					<li><a href="#">Locations saisonnières</a></li>
				</ul>
			</dd>
	</dl>
	
	
	<dl>	
		<dt class="une_ligne" onmouseover="javascript:montre('smenu2');"><a href="#" title="Restauration">Restauration</a></dt>
			<dd id="smenu2" onmouseover="javascript:montre('smenu2');" onmouseout="javascript:montre('');">
				<ul>
					<li><a href="#">Restaurants gastronomiques</a></li>
					<li><a href="#">Cuisine du monde</a></li>
					<li><a href="#">Pizzerias</a></li>
					<li><a href="#">Crêperies</a></li>
					<li><a href="#">Cafétérias</a></li>
					<li><a href="#">Sandwicheries</a></li>
					<li><a href="#">A domicile</a></li>
				</ul>
			</dd>
	</dl>
	
	<dl>	
		<dt class="une_ligne" onmouseover="javascript:montre('smenu3');"><a href="#" title="Sorties">Sorties</a></dt>
			<dd id="smenu3" onmouseover="javascript:montre('smenu3');" onmouseout="javascript:montre('');">
				<ul>
					<li><a href="#">Bars, Pubs</a></li>
					<li><a href="#">Cafés, Salons de thé</a></li>
					<li><a href="#">Discothèques</a></li>
					<li><a href="#">Casinos</a></li>
					<li><a href="#">Cinémas</a></li>
					<li><a href="#">Bowlings</a></li>
				</ul>
			</dd>
	</dl>
	
	<dl>	
		<dt class="une_ligne" onmouseover="javascript:montre('smenu4');"><a href="#" title="Sports et Détente">Sports et Détente</a></dt>
			<dd id="smenu4" onmouseover="javascript:montre('smenu4');" onmouseout="javascript:montre('');">
				<ul>
					<li><a href="#">Activités ludiques</a></li>
					<li><a href="#">Activités sportives</a></li>
					<li><a href="#">Randonnées et Découvertes</a></li>
					<li><a href="#">Evénements sportifs</a></li>
				</ul>
			</dd>
	</dl>

<dl>	
		<dt class="deux_lignes" onmouseover="javascript:montre('smenu5');"><a href="#" title="Culture et Patrimoine">Culture et Patrimoine</a></dt>
			<dd id="smenu5" onmouseover="javascript:montre('smenu5');" onmouseout="javascript:montre('');">
				<ul>
					<li><a href="#">Musées</a></li>
					<li><a href="#">Monuments historiques</a></li>
					<li><a href="#">Monuments religieux</a></li>
					<li><a href="#">Patrimoine vendéen</a></li>
				</ul>
			</dd>
	</dl>

<dl>	
		<dt class="deux_lignes" onmouseover="javascript:montre('smenu6');"><a href="#" title="Spectacles et Animations">Spectacles et Animations</a></dt>
			<dd id="smenu6" onmouseover="javascript:montre('smenu6');" onmouseout="javascript:montre('');">
				<ul>
					<li><a href="#">Spectacles et Foires</a></li>
					<li><a href="#">Concerts</a></li>
					<li><a href="#">Théâtres</a></li>
					<li><a href="#">Parcs à thème</a></li>
				</ul>
			</dd>
	</dl>
<dl>	
		<dt class="une_ligne" onmouseover="javascript:montre('smenu7');"><a href="#" title="Plages">Plages</a></dt>
			<dd id="smenu7" onmouseover="javascript:montre('smenu7');" onmouseout="javascript:montre('');">
				<ul>
					<li><a href="#">Stations balnéaires</a></li>
					<li><a href="#">Météo des plages</a></li>
					<li><a href="#">Prévention et Règles</a></li>
				</ul>
			</dd>
	</dl>
	
	</div>


	<div id="bandeau"></div>
	<div id="contenu">
	
	<?php do { ?> 
	  <table class="tableau" height="110px" width="461px" border="0" cellspacing="0" cellpadding="0" background="vignette_annuaire.gif">
  <tr>
    <td class="photo" rowspan="4" height="97px" width="140px" ><img src="<?php echo $row_rs_camping['urlphoto4_camping']; ?>" alt="<?php echo $row_rs_camping['altphoto1_camping']; ?>"/></td>
    <td class="nom" colspan="2" width="315px" height="30px"><?php echo $row_rs_camping['nom_camping']; ?></td>
  </tr>
  <tr>
    <td width="315px" height="24px" colspan="2"><span class="Style1"><?php echo $row_rs_camping['cp_camping']; ?> <?php echo $row_rs_camping['ville_camping']; ?></span></td>
  </tr>
  <tr>
    <td colspan="2" width="315px" height="18px" valign="top"><span class="Style1"><?php echo $row_rs_camping['dateouverture_camping']; ?></span></td>
  </tr>
  <tr>
    <td width="150px" height="25px" valign="top"><span class="Style1"><?php echo '<img src="Images/etoile'.$row_rs_camping['nbetoiles_camping'].'.gif"  alt="Camping '.$row_rs_camping['nbetoiles_camping'].' étoiles"></img>'; ?></span></td>
    <td width="165px" height="25px" valign="top"><a href="http://develop.web.free.fr/template_generic2.php?num_camping=<?php echo $row_rs_camping['num_camping']; ?>"><span class="Style1"> Fiche complète</span></a></td>
  </tr>
</table>
<?php } while ($row_rs_camping = mysql_fetch_assoc($rs_camping)); ?>

	  </div>
	<div id="piedpage"><p>Ceci est un pied de page</p><p>Toute copie ou utilisation du code et/ou des images sont interdites. © 2007.</p></div>
</div>
</body>
</html>
il se trouve, comme je le disais avant, que j'aurais besoin que suivant le lien selectionné par un visiteur, toutes les informations de ma base de données se chargent en fonction de la valeur de la variable du lien. C'est pourquoi j'essai de transformer le valeur "camping" du code en une valeur dynamiquement générée par le lien. D'où ma solution de variable d'URL pour l'instant mais je reste ouvert à toutes autres propositions.

par Truc » 26 janv. 2007, 19:39

Effectivement ce n'est pas vraiment ça... montre nous un peu plus de code pour pouvoir t'orienter au mieux.

Si "camping" est le nom d'une table tu dois le passer à la requete :
$req = "SELECT champ FROM ".$_GET['lien'];
(exemple basique !)

variable de session URL un ptit coup de main svp!!!

par dread » 26 janv. 2007, 17:58

Bonjour à tous.
Je débute en php et je me sers actuellement de dreamweaver 8 pour la réalisation de mes pages.
Je souhaiterai qu'à partir d'un menu et plus particulièrement des liens des sous menus, générer dynamiquement le contenu de la page affilié à ces liens.
En effet, les liens mèneraient à une page similaire dont le contenu est présent dans une base de données. A priori, pour éviter de devoir créer autant de pages que de sous menus, j'ai cru comprendre qu'une variable de session me permettrait, selon le lien choisit, de générer le bon contenu dans une page qui serait alors identique pour tous.
J'ai utilisé une variable d'URL en changeant tous les liens des sous menus par

Code : Tout sélectionner

<a href="http://develop.web.free.fr/Untitled-1.php?lien=camping">Campings</a>
puis, le nom des tables de ma base de données (dans mon exemple "camping") par la variable:
<?php echo $_GET['lien']; ?>
Cela semblait être une bonne méthode mais ne marche absolument pas!!

En effet, pour un code à la base comme celui-ci:
<img src="<?php echo $row_rs_camping['urlphoto4_camping']; ?>" />
remplacé par celui là:
<img src="<?php echo $row_rs_<?php echo $_GET['lien']; ?>['urlphoto4_<?php echo $_GET['lien']; ?>']; ?>" />
on constate qu'une balise d'ouverture php est passée à la trape tout comme une de fermeture.
J'en conclut donc que je dois mal utiliser cette fonction de variable. Je m'en remet donc à vous pour m'éclairer.
Merci par avance.