Lien vers un autre formulaire

Résolu
fredo35m Messages postés 244 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 12 juillet 2006 - 20 avril 2005 à 10:35
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 20 avril 2005 à 16:07
Bonjour,

je suis toujours dans mon application lancant une application externe et je crois que j'arrive au bout mais il me manque une petite aide!!! alors voilà ce que j'ai fait :
Formulaire 1 :
<html>
<head>
TEST EXECUTION SAS
</head>

<FORM ACTION='test.php' method='POST'>
CHOISSISSEZ LE PARAMETRE 1:


CHOISSISSEZ LE PARAMETRE 2:



CLIQUER

</FORM>

</html>
Donc ce programme appelle test.php dont le programme permet d'écrire dans un fichier de commande:
<html>
<head> EXECUTION TEST.PHP </head>

<?php
$filename = "lance.bat";
$somecontent = "'d:\SAS Institute\SAS\V8\sas.exe' -sysin 'd:\BDD\Apache2\htdocs\progtest.sas'";
// Assurons nous que le fichier est accessible en écriture
if (is_writable($filename)) {
// Dans notre exemple, nous ouvrons le fichier $filename en mode d'ajout
// Le pointeur de fichier est placé à la fin du fichier
// c'est là que $somecontent sera placé
if (!$handle = fopen($filename, 'a')) {
echo "Impossible d'ouvrir le fichier ($filename)";
exit;
}
// Ecrivons quelque chose dans notre fichier.
if (fwrite($handle, $somecontent) === FALSE) {
echo "Impossible d'écrire dans le fichier ($filename)";
exit;
}
echo "L'écriture de ($somecontent) dans le fichier ($filename) a réussi";
fclose($handle);
} else {
echo "Le fichier $filename n'est pas accessible en écriture.";
}
?>

</html>
Je souhaite désormais lancer un autre formulaire lancant la commande lance.bat, donc j'ai écrit le programme : lancementprog.php
<html>
<head> EXECUTION DE LANCEMENTSAS.PHP </head>

<?php
exec ("lance.bat");
?>

</html>
Ma question est de savoir comment je peux faire pour appeler lancementprog.php automatiquement à partir du fichier test.php
ça doit être tout bête mais je me prends la tête !!!
Ensuite, j'aurais une deuxieme question pour une fois le fichier de commande executer celui ci soit remis à vide.

Merci beaucoup pour votre aide!!

12 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
20 avril 2005 à 16:07
je t'en prie :-)

ferme juste ce sujet en validant une ou plusieurs reponses, qu'on en finisse avec :-)
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
20 avril 2005 à 10:50
Hello,



tu ajoutes au moment ou tu en as besoin :

require ('lancementprog.php');
0
fredo35m Messages postés 244 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 12 juillet 2006
20 avril 2005 à 11:41
Ok merci beaucoup ça marche !!!
j'ai juste une petite question supplémentaire concernant le fichier de commande. Car là j'écris dedans et tout fonctionne mais si je le ré-execute il réécrit à la suite !!! donc pas bon !! y a t il une fonction qui peut effacer ce qu'il y a dans le .bat une fois que celle ci a été utilisé??

Merci encore!!
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
20 avril 2005 à 12:27
Remplace if (!$handle = fopen($filename, 'a'))

par


if (!$handle = fopen($filename, 'w'))
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fredo35m Messages postés 244 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 12 juillet 2006
20 avril 2005 à 12:36
ok merci beaucoup !!! ça marche !!! cool !!!
maintenant j'ai un autre soucis !! lorsque je tape :
<?php
echo $_POST['param1'];


$var1 = $_POST['param1'];


echo $var1;
$filename = "lance$var1.bat";
$somecontent = '"d:\SAS Institute\SAS\V8\sas.exe" -sysin "d:\BDD\Apache2\htdocs\progtest$var1.sas"';

il m'inscrit dans mon fichier :
"d:\SAS Institute\SAS\V8\sas.exe" -sysin "d:\BDD\Apache2\htdocs\progtest$var1.sas"
il ne prend pas en compte la valeur de $var1 !!! je pense que c'est une histoire de quote mais bon !! par contre il inscrit bien la ligne dans le fichier correspondant par ex : lancedd.bat !!
bizarre !!!
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
20 avril 2005 à 12:48
T'es chiant!! lol ;-)



essaye ca :



$filename = "lance".$var1."bat";

Idem pour $somecontent.
0
fredo35m Messages postés 244 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 12 juillet 2006
20 avril 2005 à 14:53
Ben oui je sais j'suis chiant !!! désolé !!!

Bon ben j'y arrive pas !!! ça m'énerve !!!!
il écrit bien dans le bon .bat mais pas le bon code !!!
j'ai essayé de toutes les façons j'y arrive pas !!!
j'ai essayé

$var2 ="d:\BDD\Apache2\htdocsprogtest$var1.sas";
echo $var2;


$somecontent = '"d:\SAS Institute\SAS\V8\sas.exe" -sysin "d:\BDD\Apache2\htdocs\progtest".$var1."sas"';


//$somecontent = '"d:\SAS Institute\SAS\V8\sas.exe" -sysin "$var2.sas"';


//$somecontent = '""d:\SAS Institute\SAS\V8\sas.exe" -sysin "d:\BDD\Apache2\htdocs\progtest$var1.sas""';


//$somecontent = '"d:\SAS Institute\SAS\V8\sas.exe" -sysin ".$var1".sas"';
//$somecontent = '"d:\SAS Institute\SAS\V8\sas.exe" -sysin "d:\BDD\Apache2\htdocs\progtest".$var1".sas"';
rien fonctionne !!!!
ça m'énerve ces histoires de quote !!!!
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
20 avril 2005 à 15:06
Qu#est-ce que tu m'as fait avec les quotes lol...



sors ta variable des quotes! ce sera plus clair.



Tu veux ecrire QUOI dans ton .bat ?

Si tu veux concatener une chaine et une variable, fais ceci :

$var2 = "blabla".$var1;

ou

$var2 = 'blabla'.$var1;



donc :


$var2 ="d:\BDD\Apache2\htdocsprogtest".$var1."sas";
echo $var2;

$somecontent = "d:\SAS Institute\SAS\V8\sas.exe -sysin d:\BDD\Apache2\htdocs\progtest".$var1."sas";
0
fredo35m Messages postés 244 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 12 juillet 2006
20 avril 2005 à 15:30
voici ce que je veux exactement dans mon .bat :

"d:\SAS Institute\SAS\V8\sas.exe" -sysin "d:\BDD\Apache2\htdocs\progtestdd.sas"

ps : (dd=$var1)
mon problème est qu'il me faut absolument les quotes du début, de la fin et celles qui se trouvent au milieu (en gras ci-dessus) dans mon .bat pour que mon prog fonctionne
donc si j'écris comme tu me dis
$somecontent ="d:\SAS Institute\SAS\V8\sas.exe -sysin d:\BDD\Apache2\htdocs\progtest".$var1.".sas";

J'aurais comme résultat :
d:\SAS Institute\SAS\V8\sas.exe -sysin d:\BDD\Apache2\htdocs\progtestdd.sas

Et donc il me manque les quotes du début, de la fin et celles du milieux!! en gros il s'agit oui de concaténer une chaine puis une variable puis une chaine!!
J'suis vraiment désolé !!! mais je m'y perds avec ces quotes !!! promis après j'arrête !!!
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
20 avril 2005 à 15:53
Ahhh ben voila, c'est plus clair lol :



$somecontent ='"d:\SAS Institute\SAS\V8\sas.exe -sysin d:\BDD\Apache2\htdocs\progtest'.$var1.'.sas"';
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
20 avril 2005 à 15:54
Ah oui 2lignes, attends :



$somecontent ='"d:\SAS Institute\SAS\V8\sas.exe" -sysin "d:\BDD\Apache2\htdocs\progtest'.$var1.'.sas"';
0
fredo35m Messages postés 244 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 12 juillet 2006
20 avril 2005 à 16:05
MERCI !!!!!! beaucoup !! t'es trop fort !!!!
merci tu me sauves de tirage de cheveux !!!! déjà qu'il ne m'en reste plus bcp !!!!

merci !!!
ps : je te laiss tranquille pour aujourd'hui ;-) !!!!
0
Rejoignez-nous