Récupération complexe des données d'un formulaire

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 : Récupération complexe des données d'un formulaire

Récupération complexe des données d'un formulaire

par VaN » 11 juil. 2007, 13:30

Bonjour,

Je souhaite pouvoir mettre à jour dynamiquement le contenu d'un menu. Le menu se compose de 5 rubriques, et chacune peut avoir des sous-rubriques, qui s'affiche au survol de la souris.

En HTML, le menu se présente comme ça :

Code : Tout sélectionner

<div id="menu01"> <dl> <dt onmouseover="javascript:montre();"><a href="" title="Accueil">ACCUEIL</a></dt> </dl> <dl> <dt onmouseover="javascript:montre('smenu2');"><a href="" title="Qui sommes-nous">QUI SOMMES-NOUS</a></dt> <dd id="smenu2" onmouseover="javascript:affiche('smenu2');" onmouseout="javascript:recache();"> <ul> <li><a href="#">Menu 2.1</a></li> <li><a href="#">Menu 2.2</a></li> <li><a href="#">Menu 2.3</a></li> </ul> </dd> </dl> <dl> <dt onmouseover="javascript:montre('smenu3');"><a href="" title="Emplois">EMPLOIS</a></dt> <dd id="smenu3" onmouseover="javascript:affiche('smenu3');" onmouseout="javascript:recache('');"> <ul> <li><a href="#">Menu 3.1</a></li> <li><a href="#">Menu 3.2</a></li> </ul> </dd> </dl> <dl> <dt onmouseover="javascript:montre();"><a href="" title="Nos partenaires">NOS PARTENAIRES</a></dt> </dl> <dl> <dt onmouseover="javascript:montre('smenu5');"><a href="" title="Menu #05">MENU #05</a></dt> <dd id="smenu5" onmouseover="javascript:affiche('smenu5');" onmouseout="javascript:recache('');"> <ul> <li><a href="#">Menu 5.1</a></li> <li><a href="#">Menu 5.2</a></li> <li><a href="#">Menu 5.3</a></li> <li><a href="#">Menu 5.4</a></li> </ul> </dd> </dl> </div>
Maintenant, voici le coté administration, pour permettre de changer ses valeurs :
<div id="menu01">
	<dl>
		<?php
		$sql = 	"SELECT menu_texte
				FROM menu_h
				WHERE menu_id = 1";
		$query = mysql_query($sql) OR die('Erreur : '.mysql_error());
		$result = mysql_fetch_assoc($query);
		?>
		<input type="text" class="input-text-menu_h" name="menu_texte" value="<?php echo $result['menu_texte']; ?>" style="margin:5px;" />
	</dl>
	<dl>
		<?php
		$sql = 	"SELECT menu_texte
				FROM menu_h
				WHERE menu_id = 2";
		$query = mysql_query($sql) OR die('Erreur : '.mysql_error());
		$result = mysql_fetch_assoc($query);
		?>
		<input type="text" class="input-text-menu_h" name="menu_texte" value="<?php echo $result['menu_texte']; ?>" style="margin:5px;" />
		<dd id="smenu2" onmouseover="javascript:affiche('smenu2');" onmouseout="javascript:recache();">
			<?php
			$count = 1;
			$sql = 	"SELECT menu_texte
					FROM menu_h
					WHERE menu_parent_id = 2";
			$query = mysql_query($sql) OR die('Erreur : '.mysql_error());
			while($result = mysql_fetch_assoc($query))
			{
				echo '<ul>';
				echo '<li><input type="text" class="input-text-submenu_h" name="submenu_texte" value="'.$result['menu_texte'].'" /></li>';
				echo '</ul>';
				$count++;
			}
			?>
		</dd>
	</dl>
	<dl>
		<?php
		$sql = 	"SELECT menu_texte
				FROM menu_h
				WHERE menu_id = 3";
		$query = mysql_query($sql) OR die('Erreur : '.mysql_error());
		$result = mysql_fetch_assoc($query);
		?>
		<input type="text" class="input-text-menu_h" name="menu_texte" value="<?php echo $result['menu_texte']; ?>" style="margin:5px;" />
		<dd id="smenu3" onmouseover="javascript:affiche('smenu3');" onmouseout="javascript:recache('');">
			<?php
			$count = 1;
			$sql = 	"SELECT menu_texte
					FROM menu_h
					WHERE menu_parent_id = 3";
			$query = mysql_query($sql) OR die('Erreur : '.mysql_error());
			while($result = mysql_fetch_assoc($query))
			{
				echo '<ul>';
				echo '<li><input type="text" class="input-text-submenu_h" name="submenu_texte" value="'.$result['menu_texte'].'" /></li>';
				echo '</ul>';
				$count++;
			}
			?>
		</dd>
	</dl>
	<dl>
		<?php
		$sql = 	"SELECT menu_texte
				FROM menu_h
				WHERE menu_id = 4";
		$query = mysql_query($sql) OR die('Erreur : '.mysql_error());
		$result = mysql_fetch_assoc($query);
		?>
		<input type="text" class="input-text-menu_h" name="menu_texte" value="<?php echo $result['menu_texte']; ?>" style="margin:5px;" />
		<dd id="smenu3" onmouseover="javascript:affiche('smenu3');" onmouseout="javascript:recache('');">
			<?php
			$count = 1;
			$sql = 	"SELECT menu_texte
					FROM menu_h
					WHERE menu_parent_id = 4";
			$query = mysql_query($sql) OR die('Erreur : '.mysql_error());
			while($result = mysql_fetch_assoc($query))
			{
				echo '<ul>';
				echo '<li><input type="text" class="input-text-submenu_h" name="submenu_texte" value="'.$result['menu_texte'].'" /></li>';
				echo '</ul>';
				$count++;
			}
			?>
		</dd>
	</dl>
	<dl>
		<?php
		$sql = 	"SELECT menu_texte
				FROM menu_h
				WHERE menu_id = 5";
		$query = mysql_query($sql) OR die('Erreur : '.mysql_error());
		$result = mysql_fetch_assoc($query);
		?>
		<input type="text" class="input-text-menu_h" name="menu_texte" value="<?php echo $result['menu_texte']; ?>" style="margin:5px;" />
		<dd id="smenu5" onmouseover="javascript:affiche('smenu5');" onmouseout="javascript:recache('');">
			<?php
			$count = 1;
			$sql = 	"SELECT menu_texte
					FROM menu_h
					WHERE menu_parent_id = 4";
			$query = mysql_query($sql) OR die('Erreur : '.mysql_error());
			while($result = mysql_fetch_assoc($query))
			{
				echo '<ul>';
				echo '<li><input type="text" class="input-text-submenu_h" name="submenu_texte" value="'.$result['menu_texte'].'" /></li>';
				echo '</ul>';
				$count++;
			}
			?>
		</dd>
	</dl>
</div>
Et voici la table qui stock ces données :

Image
(un menu_parent_id égal à 0 signifie qu'il s'agit une rubrique principale).

La question : Comment puis-je m'y prendre pour réussir à mettre à jour toutes les données du menus, envoyées en un seul formulaire ?

Merci d'avance pour les pistes de reflexion.

EDIT : aucune piste pour récupérer ces infos ? :(