Executer un script shell avec exec de php

Résolu
jerem1985 Messages postés 68 Statut Membre -  
theking1 Messages postés 24 Statut Membre -
Bonjour,

voila ce qui m'ammene, j'ai une page php contenant un formulaire a remplir, une fois ce formulaire rempli et soumis, les valeurs sont envoyer à un script shell

voila ma page php : page.php

je zape la partie head et une partie du body pour arriver directement au formulaire

<form id="FormText" action="page.php" onsubmit " " method="post">
<table width="30%" class="ignorer">
<td align="center" class="ignorer">selection 1</td>
<select size="1" name"var1" class="ignorer">
<option value="1">srv-prod</option>
<option value="2">srv-test</option>
</select>
</table>
<td class="ignorer">saisir info2</td>
info2:
<br><input type="text" name="var2" size="20" class="ignorer"></br>
<p></p>
<input value="soumettre" onclick="submit" type="submit">
</form>

<?php
$path="/path/de/mon/script.sh $var1 $var2";
$sortie="/path/de/mon/sortie";
$retour="/path/de/mon/retour";

exec ($path,$sortie,$retour);
foreach ($sortie as $text)

{
echo $text;
echo "<br>";
}
if ($retour=0) echo "erreur";
?>

et mon script .sh

#!/bin/sh

echo $1 > /tmp/res.txt
echo $2 >> /tmp/res.txt

voila
donc quand je remplie mon formulaire de ma page php et que je clique sur soumettre, la page doit envoyer $var1 et $var2 dans mon script, et mon script doit donc écrire ces deux valeurs (devenus $1 et $2 le exec de la page lance le script en passant les variables en même temps) dans le fichier res.txt

cependant lorsque je clique sur soumettre il n'y a rien dans mon res.txt
la page ne me retourne pas d'erreur
les log d'apache me confirment que le post ce fais bien

si quelqu'un à une idée merci d'avance
Configuration: Windows XP
Firefox 2.0.0.18

2 réponses

  1. jerem1985 Messages postés 68 Statut Membre 2
     
    j'ai transforme ma page php en une page html comme suit
    page.html

    je zape la partie head et une partie du body pour arriver directement au formulaire
    <html>
    <head>
    <title>test</title>
    </head>

    <body>
    <form id="FormText" action="page.php" onsubmit " " method="post">
    <table width="30%" class="ignorer">
    <td align="center" class="ignorer">selection 1</td>
    <select size="1" name"var1" class="ignorer">
    <option value="1">srv-prod</option>
    <option value="2">srv-test</option>
    </select>
    </table>
    <td class="ignorer">saisir info2</td>
    info2:
    <br><input type="text" name="var2" size="20" class="ignorer"></br>
    <p></p>
    <input value="soumettre" onclick="submit" type="submit">
    </form>
    </body>
    </html>

    j'ai créer une deuxieme page php permettant de verifier les variables
    page.php
    <html>
    <head>
    <title>test2</title>
    </head>
    <body>
    <h1> resultat</h1>
    <?php
    //variable var1 et var2 étant envoye par page.html lors du clique sur soumettre
    $path="path/de/script.sh $var1 $var2";
    //test d'envoye des variable
    echo $path;
    ?>
    </body>
    </html>

    voila

    du coup lorsque je vais sur ma page.html je remplis le formulaire et je clique sur soumettre
    et j'arrive sur page.php, cette derniere affiche :
    juste path/de/scipt.sh sans les variables, du coup je pense que l'envoye des variables par page.html se fait pas ou mal

    si quelqu'un à une idée, merci d'avance
    0
  2. jerem1985 Messages postés 68 Statut Membre 2
     
    du coup j'ai trouver mon probleme

    il venait de ma conf php
    je suis en php 4.3.9 et depuis la 4.2 par defaut la valeur global_registers est à off du coup mes variables n'était pas passé tel quelles
    en passant la valeur à on tous marche nicquel

    voila

    si sa peut servir à d'autre
    0
    1. theking1 Messages postés 24 Statut Membre
       
      svp pouvez m'aider j'ai un probleme au niveau d'exécution d'un script sous php !!
      0