Forum CMS Made Simple FR
Récupérer un paramètre dans l'adresse URL - Version imprimable

+- Forum CMS Made Simple FR (https://forum.cmsmadesimple.fr)
+-- Forum : Général (https://forum.cmsmadesimple.fr/forum-3.html)
+--- Forum : Modules, Tags (https://forum.cmsmadesimple.fr/forum-14.html)
+--- Sujet : Récupérer un paramètre dans l'adresse URL (/thread-3503.html)



Récupérer un paramètre dans l'adresse URL - Jos1968 - 25/04/2015

Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: !1.11.x
#~ Url du site : http://www.19etrou.ca/
#~ Hébergeur / Soft : iScream à Montréal
#~ Informations Système :
#~ ----------------------------------------------
#~ Cms Version: 1.11.2
#~ Installed Modules:
#~ CMSMailer: 5.2.1
#~ CMSPrinting: 1.0.3
#~ FileManager: 1.4.1
#~ MenuManager: 1.8.4
#~ MicroTiny: 1.2.3
#~ ModuleManager: 1.5.5
#~ News: 2.12.9
#~ Search: 1.7.7
#~ ThemeManager: 1.1.7
#~ CGExtensions: 1.31.4
#~ CGJobMgr: 1.2.8
#~ NMS: 2.6.5
#~ Gallery: 1.6
#~ SiteMapMadeSimple: 1.2.6
#~ Skeleton: 1.8
#~ Handicap: 1.0
#~ Banners: 2.6
#~ FormBuilder: 0.8.1.1
#~ Config Information:
#~ php_memory_limit:
#~ process_whole_template:
#~ output_compression:
#~ max_upload_size: 128000000
#~ url_rewriting: none
#~ page_extension:
#~ query_var: page
#~ image_manipulation_prog: GD
#~ auto_alias_content: true
#~ locale:
#~ default_encoding: utf-8
#~ admin_encoding: utf-8
#~ set_names: true
#~ Php Information:
#~ phpversion: 5.4.37
#~ md5_function: On (Vrai)
#~ gd_version: 2
#~ tempnam_function: On (Vrai)
#~ magic_quotes_runtime: Off (Faux)
#~ E_STRICT: 2048
#~ E_DEPRECATED: 8192
#~ memory_limit: 128M
#~ max_execution_time: 60
#~ output_buffering: 4096
#~ safe_mode: Off (Faux)
#~ file_uploads: On (Vrai)
#~ post_max_size: 8M
#~ upload_max_filesize: 128M
#~ session_save_path: Aucune vérification à cause de la restriction spécifiée par PHP open_basedir
#~ session_use_cookies: On (Vrai)
#~ xml_function: On (Vrai)
#~ xmlreader_class: On (Vrai)
#~ Server Information:
#~ Server Api: cgi-fcgi
#~ Server Db Type: MySQL (mysqli)
#~ Server Db Version: 5.5.41
#~ Server Db Grants: Trouvé un privilège "GRANT ALL" qui semble être adapté
#~ ----------------------------------------------
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~

Bonjour,

Je cherche et je trime pour récupérer un paramètre dans l'adresse URL.

Dans une page, créée à l'aide des «Balises Utilisateurs», je liste tous mes contacts par région.
Chaque contact est listé avec un lien url qui, après avoir cliqué dessus, me redirige vers une nouvelle page de «Détail».
Voici ce que le résultat du lien url : /index.php?page=detail&RefContact=37
Ma page «Détail» est aussi monté avec des «Balises Utilisateurs»...

Voici mon code :
$db = cmsms()->GetDb();
$row = $_GET['RefContact'];
$sql = 'SELECT * FROM ma_table WHERE `RefContact` = . $_GET["RefContact"]. ';
$sql =$db->Execute($row, array($params['RefContact']));
while ($sql && $row = $sql->FetchRow())
{
$liste.='<h3> '.$row['Nom'].'</h3>';


Actuellement, voici mes résultats :
En cliquant sur mon lien de la page «Mes contacts par région», ma page «Détail» s'affiche à vide.

Par contre, si dans ma balise de la page «Détail», j'ajoute RefContact='37', ça fonctionne...


Récupérer un paramètre dans l'adresse URL - Jean le Chauve - 25/04/2015

Bonjour,
Je ne comprend pas. Il manque du code, la balise d'appel de l'udt et un lien vers les pages concernées.
L'utilisation de _GET n'est pas recommandé : http://www.cmsmadesimple.fr/forum/viewtopic.php?pid=30558#p30558


Récupérer un paramètre dans l'adresse URL - Jos1968 - 25/04/2015

Bon, j'ai réussi...

Avec ce lien : http://wiki.cmsmadesimple.fr/wiki/Udt_bdd

Merci...

Mais tu me disais de ne pas utiliser _GET, pourtant dans ce wiki, c'est ce qu'il est écrit !

Voici mon code... s'il y a une façon plus sécuritaire... je suis disponible aux suggestions.

---------------------------------------------------------------

$db = cmsms()->GetDb();

$row = $_GET['RefContact'];

$sql = 'SELECT * FROM Ma_table_contacts WHERE `RefContact` = '.$_GET['RefContact'].'';

//exécution de la requête et on teste le code retour
$dbretour = $db->Execute($sql);

if($dbretour === FALSE)
{ die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); }

while ($row = $dbretour->FetchRow())
{
$liste.='<h3>Son nom est '.$row['Nom'].'</h3>';

. . .

}
echo $liste;

---------------------------------------------------------------