PHP variable dans shell_exec


webac
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 374
Inscription: 4 Mar 2005

PHP variable dans shell_exec

Message le Mer Déc 30, 2009 14:02

Bonjour le script suivant me permets de générer une source odbc le probleme c'est que la variable $nom apparaît au lieu de son contenu.

$nom=$_post['nom'];

$dsn=shell_exec("REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\$nom
REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\$nom /V Driver /T REG_SZ /D \"C:\WINDOWS\system32\SQLSRV32.dll\" /f
REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\$nom /V Description /T REG_SZ /D \"\" /f
REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\$nom /V Server /T REG_SZ /D \"SERVEUR\" /f
REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\$nom /V Database /T REG_SZ /D \"$nom\" /f
REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\$nom /V Trusted_Connection /T REG_SZ /D \"Yes\" /f
");

Avez vous une idée?


Marie-Aude
Modérateur
Modérateur
 
Messages: 11892
Inscription: 5 Juin 2006

Re: PHP variable dans shell_exec

Message le Mer Déc 30, 2009 14:05

Un truc du genre
$dsn=shell_exec("REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\".$nom." etc...?


webac
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 374
Inscription: 4 Mar 2005

Re: PHP variable dans shell_exec

Message le Mer Déc 30, 2009 15:50

malheureusement ça ne règle pas mon problème la source de donnée est toujours nommée $nom


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 8576
Inscription: 23 Nov 2005

Re: PHP variable dans shell_exec

Message le Mer Déc 30, 2009 15:52

Tu as essayé de générer ta chaîne dans une variable intermédiaire AVANT de la passer à shell_exec() ?


webac
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 374
Inscription: 4 Mar 2005

Re: PHP variable dans shell_exec

Message le Mer Déc 30, 2009 15:53

c'est a dire je n'ai pas bien saisi UsagiYojimbo
peux tu préciser


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 8576
Inscription: 23 Nov 2005

Re: PHP variable dans shell_exec

Message le Mer Déc 30, 2009 15:54

Code: Tout sélectionner
$nom=$_post['nom'];
$string_to_exec = "REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\$nom
REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\$nom /V Driver /T REG_SZ /D \"C:\WINDOWS\system32\SQLSRV32.dll\" /f
REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\$nom /V Description /T REG_SZ /D \"\" /f
REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\$nom /V Server /T REG_SZ /D \"SERVEUR\" /f
REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\$nom /V Database /T REG_SZ /D \"$nom\" /f
REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\$nom /V Trusted_Connection /T REG_SZ /D \"Yes\" /f
";
$dsn = shell_exec($string_to_exec);


webac
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 374
Inscription: 4 Mar 2005

Re: PHP variable dans shell_exec

Message le Mer Déc 30, 2009 15:57

Merci de votre aide il fallait juste ajouter un \ apres ODBC.INI\

jcaron
WRInaute accro
WRInaute accro
 
Messages: 2685
Inscription: 13 Fév 2004

Re: PHP variable dans shell_exec

Message le Mer Déc 30, 2009 18:25

Pour être prévis, tous les \ devraient être doublés...

Jacques.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités