PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 Re : Forum Général PHP » Ajouter un post dans php » 17-04-2012 16:55:09

Je débute dans php et je galere.
L'utilisateur devra selection avec un liste déroulante un chiffre entre 0 et 100 et validé l'un des deux bouton submit.
Le premier est Drim le second Bri.
J je n'arrive pas a faire validé Bri via le bouton submit "Bri"  le but et de rajouter "Bri"
Le bri et drim doit exécuté une commande linuxdu  style cm15 e1 bri 15 ou cm15 c1 drim 75.

Il y avait ceci avant

// DIm POST request
if (!empty($_REQUEST[dimact])) {
  $dim=(int)$_REQUEST[dim];
  if (is_int($device)) {
    $cmddev=$device;
  } else {
    $inputerr="Error: Invalid device ID";
  }
  //$cmdline=stripslashes(strip_tags(escapeshellcmd("$brloc $debugcmd --house=$homecode --dim=$dim,$device")));
        $cmdline=stripslashes(strip_tags(escapeshellcmd("$brloc$debugcmd $homecode$device dim $dim")));
}

J'ai ajouté ceci

// Bri POST request
if (!empty($_REQUEST[briact])) {
  $bri=(int)$_REQUEST[bri];
  if (is_int($device)) {
    $cmddev=$device;
  } else {
    $inputerr="Error: Invalid device ID";
  }
  //$cmdline=stripslashes(strip_tags(escapeshellcmd("$brloc $debugcmd --house=$homecode --dim=$dim,$device")));
        $cmdline=stripslashes(strip_tags(escapeshellcmd("$brloc$debugcmd $homecode$device Bri $bri")));
}

Ici je me melange les pédales avec bri et drim  pour qu'il fonctionne.

 </tr>
  <?php
    for ( $counter = 1; $counter <= 16; $counter++ ) {
    echo "<tr><td class=\"noborder3\"><span class=\"listitem\"><div align=\"center\"> $homecode $counter </div></span></td>\n";
    echo "<td class=\"noborder2\"><form id=\"$counter\" name=\"$counter\" method=\"post\" action=\"$selfscript\">\n";
    echo "<input name=\"device\" type=\"hidden\" value=\"$counter\" />\n";
    echo "<input name=\"homecode\" type=\"hidden\" value=\"$homecode\" />\n";
    echo "<span class=\"listitem\"><div align=\"center\"><input name=\"action\" type=\"submit\" id=\"action\" value=\"On\" />\n";
    echo "<input name=\"action\" type=\"submit\" id=\"action\" value=\"Off\" /></div></span>\n";
    echo "<td class=\"noborder2\"><span class=\"listitem\"><div align=\"center\">\n";
    echo "<span class=\"dimlist\"><select name=\"dim\">\n";
    //for ( $dimctr = 0; $dimctr <= 100; $dimctr++ ) {
    for ( $dimctr && $brictr = -100; $dimctr && $brictr <= 100; $dimctr++ && $brictr++) {
    //for ( $brictr = 0; $brictr <= 100; $brictr++ ) {
                //for ( $dimctr = 0; $dimctr <= 100; $dimctr++ ) {

      // This code doesn't work right, so its disabled for now.
      //if ($dimctr == $dim && $counter == $device ) {
      //  echo "<option value=\"".$dimctr."\" selected=\"selected\">".$dimctr."</option>\n";
      //} elseif {
      if (($dimctr == '0')
        && ( $brictr == '0')) {

        echo "<option value=\"$dimctr\" selected=\"selected\">$dimctr</option>\n";
        echo "<option value=\"$brictr\" selected=\"selected\">$brictr</option>\n";
      } else {
        echo "<option value=\"$dimctr\">$dimctr</option>\n";
        echo "<option value=\"$brictr\">$brictr</option>\n";
      }
    }
    echo "<input name=\"dimact\" type=\"submit\" id=\"action\" value=\"Dim\" />";
    echo "<input name=\"briact\" type=\"submit\" id=\"action\" value=\"Bri\" />";
    echo "</select></span>\n";
    echo "</div></span></td>\n";
    echo "</form></td>\n";
    echo "<td class=\"noborder2r\"><span class=\"listitem\">".$comments[$homecode][$counter]."</div></td>\n";
  }
  ?>
</table>
</p>
<?php
// Only display this table if we have debug turned on
  if (!empty($debug) && !empty($cmdline)) {
    echo "<p><table width=\"90%\" border=\"1\"><tr><td><span class=\"cmdline\">Command Line: $cmdline<br />";
    if (is_array($output)) {
      foreach( $output as $lineout){
        echo "$lineout <br />";
      }
    }
  echo "</span></td></tr></table></p>";
}
?>

Je ne sais pas comment faire ?

Merci.

#2 Forum Général PHP » Ajouter un post dans php » 17-04-2012 16:55:09

xunil2003
Réponses : 3

Bonjour,

Je débute dans php et je galere.
Dans un tableau je doit modifier ce code pour les boutons submit, je n'arrive pas a rajouter u post, le but et de rajouter "Bri" dans le code existant pour le second  poste qui valide avec des chiffes de -100 à 100.de la liste dérulante
Je ne sais pas quel erreur exactement j'ai fait ?

Merci


<?php
    for ( $counter = 1; $counter <= 16; $counter++ ) {
    echo "<tr><td class=\"noborder3\"><span class=\"listitem\"><div align=\"center\"> $homecode $counter </div></span></td>\n";
    echo "<td class=\"noborder2\"><form id=\"$counter\" name=\"$counter\" method=\"post\" action=\"$selfscript\">\n";
    echo "<input name=\"device\" type=\"hidden\" value=\"$counter\" />\n";
    echo "<input name=\"homecode\" type=\"hidden\" value=\"$homecode\" />\n";
    echo "<span class=\"listitem\"><div align=\"center\"><input name=\"action\" type=\"submit\" id=\"action\" value=\"On\" />\n";
    echo "<input name=\"action\" type=\"submit\" id=\"action\" value=\"Off\" /></div></span>\n";
    echo "<td class=\"noborder2\"><span class=\"listitem\"><div align=\"center\">\n";
    echo "<span class=\"dimlist\"><select name=\"dim\">\n";
    //for ( $dimctr = 0; $dimctr <= 100; $dimctr++ ) {
    for ( $dimctr && $brictr = -100; $dimctr && $brictr <= 100; $dimctr++ && $brictr++) {
    //for ( $brictr = 0; $brictr <= 100; $brictr++ ) {
                //for ( $dimctr = 0; $dimctr <= 100; $dimctr++ ) {

      //} elseif {
      if (($dimctr == '0')
        && ( $brictr == '0')) {

        echo "<option value=\"$dimctr\" selected=\"selected\">$dimctr</option>\n";
        echo "<option value=\"$brictr\" selected=\"selected\">$brictr</option>\n";
      } else {
        echo "<option value=\"$dimctr\">$dimctr</option>\n";
        echo "<option value=\"$brictr\">$brictr</option>\n";
      }
    }
    echo "<input name=\"dimact\" type=\"submit\" id=\"action\" value=\"Dim\" />";
    echo "<input name=\"briact\" type=\"submit\" id=\"action\" value=\"Bri\" />";
    echo "</select></span>\n";
    echo "</div></span></td>\n";
    echo "</form></td>\n";
    echo "<td class=\"noborder2r\"><span class=\"listitem\">".$comments[$homecode][$counter]."</div></td>\n";
  }
  ?>
</table>
 DIm poste
if (!empty($_REQUEST[dimact])) {
  $dim=(int)$_REQUEST[dim];
  if (is_int($device)) {
    $cmddev=$device;
  } else {
    $inputerr="Error: Invalid device ID";
  }
        $cmdline=stripslashes(strip_tags(escapeshellcmd("$brloc$debugcmd $homecode$device dim $dim")));
}


// Bri poste
if (!empty($_REQUEST[briact])) {
  $bri=(int)$_REQUEST[bri];
  if (is_int($device)) {
    $cmddev=$device;
  } else {
    $inputerr="Error: Invalid device ID";
  }
        $cmdline=stripslashes(strip_tags(escapeshellcmd("$brloc$debugcmd $homecode$device Bri $bri")));
 

Merci

#3 Re : Forum Général PHP » [Résolu] executer un programme exe ou bat en php avec exec() ou passthru() » 31-05-2010 22:33:58

Bonsoir,

J'ai trouvé la solution, je la dit pour ce qui sont intéréssé.

Faite demarrer executer... "services.msc"  la fenetre s'ouvre des service (local), puis chercher dans la liste "wampapache" puis faite un clique droit dessus est cliquer sur propriété, aller sur l'onglet "Connexion" et cocher "Autoriser le service à intégrir avec le bureau" puis cliquer sur OK.

Et sa marche,

#4 Re : Forum Général PHP » [Résolu] executer un programme exe ou bat en php avec exec() ou passthru() » 31-05-2010 22:33:58

bonjour,

Mon ancien serveur était sous XP Pro SP2  avec les mis a jour en SP3 est sa fonctionné. donc je peut te dire SP2 ou SP3 c'est pareil puis que sa fonctionné.

J'ai installé Easyphp dans L:\Program files\EasyPHP5.2.10\ curieusement tout fonctionne y compris la fonction exec() avec mon code php (ci desous)  dans le repertoire www de EasyPHP5.2.10.

notepade.php

<?PHP
exec("notepad.bat");
?>

notepad.bat

echo on
%SystemRoot%\system32\notepad.exe

Cependant avec  EasyPHP5.2.10 lorsque je cré un alias pour mon site dont le chemin de l'alias est "Document root : L:\Program files 2\wamp\www\"
la fonction exec() fonctionne ainsi que tout le reste fonctionne ! sauf .htaccess

Donc sa peut venir de quoi, faite l'experience vous verez.
Cela vient il de http.conf ou php.ini oubien de la config de wamp ? au niveau de la config de apache ?
Pourquoi dans le repertoire www de Easyphp cela fonctionne, et pourquoi avec wampserver cela ne fonctionne pas ?

Quelqu'un peut il m'aider.

Merci d'avance, cordialement.

#5 Re : Forum Général PHP » [Résolu] executer un programme exe ou bat en php avec exec() ou passthru() » 31-05-2010 22:33:58

re,

c'est toujour pareil, par contre  lorsque je demarre mon programme depuis le php avec wampserver  dans le "gestionnaire des taches de windows"  il est dit à "Processus"

Nom de l'image - Nomo de l'utilisateur - Processus - Util. mémoire
MEDIALINK-server.exe - SYSTEM - 00 - 20 332 ko

Lorsque je l'execute avec l'invité de commande et tape "MEDIALINK-server", etant donné que je l'ai ajouté a autoexe :
Nom de l'image - Nomo de l'utilisateur - Processus - Util. mémoire
MEDIALINK-server.exe - Serveur-web - 00 - 20 332 ko

Merci.

#7 Re : Forum Général PHP » [Résolu] executer un programme exe ou bat en php avec exec() ou passthru() » 31-05-2010 22:33:58

Bonjour,

Je n'ai aucun message d'erreur, le navigateur tourne dans le vide comme s'il cherchait ou attendait quelque chose.

Parcontre je vient de me rendre conte que lorsque j'execute un programme il s'affiche dans l'onglet "Processus" du "Gestionnaire des taches de windows", mais il n'ai pas visible dans windows je ne le vois pas dans la barre des taches, n'y la fenetre du programme.

Avec ceci :

<?php
exec("medialink-on.bat ");
?>

si je clique sur terminer le processus dans  le "gestionnaire des taches de windows" le n'avigateur m'affiche imédiatement ceci :
Fatal error: Maximum execution time of 30 seconds exceeded in L:\Program files 2\wamp\www\maison\N4\habitation\applications\medialink.php on line 13

Chose bizar je n'ai pas de ligne 13.

Merci.

#8 Forum Général PHP » [Résolu] executer un programme exe ou bat en php avec exec() ou passthru() » 31-05-2010 22:33:58

xunil2003
Réponses : 9

Bonjour,

Je ne comprend plus rien, j'ai du changer mon pc depuis que j'ai pris une surtention.

Avant mon PC etait sur XP Pro le nouveau aussi mais depuis je n'arrive plus a executer mes fichier bat et exe et j'ai installé la même version de wampserver 2.0c.

je m'en servé pour demarrer ou arrêter des programmes , arrêter le PC et copier des fichier via un fichier bat a distance.
Plus rien ne fonctionne, pourtant j'ai fait un copier coller dans le repertoire de wamp depuis le disque dur de mon ancien pc sur le nouveau.
Voici les exemples de tout ce qui fonctionné :


Pour redémarrer le pc a distance

<?php
exec('psshutdown.exe -r -t 60 -m "! ATENTION ! Cette ordinateur va redemarrer dans 60 Secondes. Vous avez 60 secondes pour enregistrer votre travail. !!!" -c ');
?>

Pour arrêter le pc a distance

<?php
exec('psshutdown.exe -k -t 60 -m "! ATENTION ! Cette ordinateur va s arreter dans 60 Secondes. Vous avez 60 secondes pour enregistrer votre travail.  !!!" -c ');
?>

Pour arrêter au programme a distance

<?php
exec('pskill MEDIALINK-server.exe');
?>

Pour démarrer un programme a  a distance

<?php
exec('MediaLink-on.bat');
?>

Le fichier bat --> MediaLink-on.bat'

echo on
L:
cd\
cd\Program files 2\MEDIALINK\app\
MEDIALINK-server.exe

Pour copier des fichiers a distance

<?php
passthru(copie-sauvegarde-php-serveur-1.bat');
?>

Le fichier bat --> copie-sauvegarde-php-serveur-1.bat

echo off

echo Fichier copié :

L:
cd\
cd\Program files 2\wamp\Maison\  
copy *.* L:\Sauvegarde-urgente-site-serveur\Maison\

Tout fonctionné avant que mon ancien pc tombe en panne.
Pouvez vous m'aidez svp

Merci d'avance, cordialement.

#9 Re : MySQL, PostgreSQL, etc... » Menu PHP/MySQL » 16-04-2010 22:21:10

Bonjour,

Le lien fonctionne quand je met en dur dans index.php ceci : (donc si j'ai compris c'est bien sa mettre en dur)

case 'telecom1':
      $url="x10/palmpad-1/palmpad.html";break;

Le lien ne fonctionne pas quand je met pas en dur dans index.php ceci :

while ($donnees_2 = mysql_fetch_array($requete_1)) {
echo 'case'.$donnees_2['INDEX_case']. ': $url ='.$donnees_2['INDEX_$url'].'</a>';break;
      } //toute la ligne est comprise dans la boucle while

Testé dans les deux cas avec dans menu.index.php  ceci

<tr>
    <?php while ($donnees_1 = mysql_fetch_array($requete_1))
{// boucle pour lister tout ce que contient la table 0 ?>
    <td bordercolor="#CCCCCC" bgcolor="#CCCCCC"><?php echo $donnees_1["MENU_INDEX_a_href"]; ?>" title="<?php echo $donnees_1["MENU_INDEX_title"]; ?>"><?php echo $donnees_1["MENU_INDEX_nom_lien"]; ?></a></td>
  </tr>
 
  <?php } //toute la ligne est comprise dans la boucle while ?>
  <tr>

Le lien en bas a droit du navigateur est correcte au survole du lien, cependant lorsque je clique sur le lien la page revient sur elle même donc sur index.php aevec aucum message d'erreur.

Pour imageshack.us, le nom d'utilisateur est : xunil2003 (http://profile.imageshack.us/user/xunil2003/), il y a deux images de la table.

Merci.

#10 Re : MySQL, PostgreSQL, etc... » Menu PHP/MySQL » 16-04-2010 22:21:10

Bonjour,

Comment envoyer une pièces jointes de la capture d'écran de la table sur le forum.

Merci

#11 Re : MySQL, PostgreSQL, etc... » Menu PHP/MySQL » 16-04-2010 22:21:10

Pardons j'ai fait gaffe, je l'ai rectifié il manqué MENU_INDEX_nom_lien.

<?php echo '<a href="'.$row['MENU_INDEX_a_href'].'"'.$row['MENU_INDEX_title'].'">'.$row['MENU_INDEX_nom_lien'].'</a>';?>

Mais c'est toujours pareil le lien ne fonctionne pas, pourtant il est bien indiquer en bas au gauche au survol du lien du navigateur.

Mais je ne comprend pas ce que veux dire mettre en dur, que signifie le mot 'dur'

case 'telecom1': $url="x10/palmpad-1/palmpad.html";break;

Merci.

#12 Re : MySQL, PostgreSQL, etc... » Menu PHP/MySQL » 16-04-2010 22:21:10

Dans menu-index.php, j'ai mis ce que vous m'avez dit :

<tr>
    <?php while ($donnees_1 = mysql_fetch_array($requete_1))
{// boucle pour lister tout ce que contient la table : modules_x10 ?>
    <td bordercolor="#CCCCCC" bgcolor="#CCCCCC"><?php echo '<a href="'.$row['MENU_INDEX_a_href'].'">'.$row['MENU_INDEX_title'].'</a>';?></td>
  </tr>
 
  <?php } //toute la ligne est comprise dans la boucle while ?>
  <tr>

Avec dans index.php

// Catégorie Domotique
while ($donnees_2 = mysql_fetch_array($requete_2)) {
echo $donnees_2["index.php"];
 } //toute la ligne est comprise dans la boucle while

Le problème est que je ne voie plus les liens

Merci.

#13 Re : MySQL, PostgreSQL, etc... » Menu PHP/MySQL » 16-04-2010 22:21:10

bonsoir,

La table menu est composé comme ceci :

id - nom_fichier - nom_page -categorie - niveau - LD_value - LD_nom_lien -    B_methode - B_action - B_name     - B_name2 -    B_value - B_type - INDEX_case - INDEX_$url - MENU_INDEX_a_href - MENU_INDEX_title -MENU_INDEX_nom_lien - index.php

Description :

LD_ = Liste déroulante
B_ = Bouton
MENU_INDEX_ = Fichier menu-index.php
INDEX_ = Fichier index.php

Merci.

#14 Re : MySQL, PostgreSQL, etc... » Menu PHP/MySQL » 16-04-2010 22:21:10

bonjour,

donc quand vous dites que 'le include doit être en dur dans le code'

case 'telecom1': $url="x10/palmpad-1/palmpad.html";break;

donc vous voulez dire  comme ceci, mais dans ce cas la la page est includé dans le menu ???

case 'telecom1': include $url=('x10/palmpad-1/palmpad.html');break;

désolé, je ne vous suit pas du tout ?

Merci.

#15 Re : MySQL, PostgreSQL, etc... » Menu PHP/MySQL » 16-04-2010 22:21:10

Bonsoir,

Je ne comprend pas ce que vous voulez dire par dur  car une case n'est pas un include ?

case 'accueil':
      $url="index.php";break;

Merci.

#16 Re : MySQL, PostgreSQL, etc... » Menu PHP/MySQL » 16-04-2010 22:21:10

bonsoir,

Je n'ai aucun include n'y dans index.php, n'y dans menu-index.php.

Quels sont alors les possibilités pour indiquer / gerer les liens dans index.php et menu-index.php avec une table Mysql ?
Comment puis-je faire.

j'ai fait mon code spécialement pour la présentation du site.

-------index--------
Entete.php (doit resté fixe)
Menu-index.php
Retour.php (doit resté fixe)
Pied.php (doit resté fixe)

Lorsque quelqu'un appuie sur un lien du menu-index.php - exemple lien banane.php, le navigateur affiche alors :

Entete.php (doit resté fixe)
banane.php
Retour.php (doit resté fixe)
Pied.php (doit resté fixe)

Je ne peut pas faire autrement vue le site.

Merci.

#17 Re : MySQL, PostgreSQL, etc... » Menu PHP/MySQL » 16-04-2010 22:21:10

Bonjour,

J'ai un problème avec mon menu php / Mysql au niveau des liens qui ne fonctionne pas, la page ce recharge sur elle même, peut être que je mis prend mal.

j'ai fait une page index.php avec ceci

<?php
require ('login.php');
$link = mysql_connect("$hote", "$login", "$pass") or die("Erreur de connexion...") ;
$req = mysql_select_db($bdd, $link) or die("Erreur de connexion...") ;

/* ------------------ VARIABLE POUR CONNEXION A LA TABLE ------------------ */
$nom_table = ("menu");
$niveau = ("4");
$categorie = ("Domotique");

/* ------------------ REQUETE TABLE ------------------ */

$req1 = "SELECT * FROM $nom_table WHERE categorie='$categorie' AND niveau='$niveau' ";
echo $req1;
$requete_1 = mysql_query($req1) or die(mysql_error());

 
  $url='menu-index.php';
  if(isset($_GET['page']))
    switch($_GET['page']){
// --Page d'accueil general du Niveau 4
    case 'accueil':
      $url="index.php";break;
 
// Catégorie Domotique
while ($donnees_1 = mysql_fetch_array($requete_1))
{
$donnees_1["index.php"];
 } //toute la ligne est comprise dans la boucle while
?>

Dans la table menu j'ai indiqué dans la colonne index.php

case 'telecom1': $url="x10/palmpad-1/palmpad.html";break;

Ma page original de index.php est :

<?php
  $url='menu-index.php';
  if(isset($_GET['page']))
    switch($_GET['page']){
// --Page d'accueil general du Niveau 4
    case 'accueil':
      $url="index.php";break;
 
// Menu Domotique
// --Menu Section : X10 - Emetteur
    case 'telecom1':
      $url="x10/palmpad-1/palmpad.html";break;
    case 'telecom2':
      $url="X10/palmpad/command_logger.html";break;
    case 'actpro':
      $url="X10/Activehome-Pro-Controle-X10/ahp-code.php";break;
    case 'actpro2':
      $url="X10/Activehome-Pro-Controle-X10/ahp-nom.php";break;
    case 'x10':
      $url="X10/MySQL/Controle-X10-bouton/x10-bouton-mysql-lecture-A-O.php";break;
    case 'x10son':
      $url="X10/controle-X10-bouton/x10-bouton-son.php";break;
// --Menu Section : X10 - divers
  case 'tableaucmumodules':
      $url="X10/Tableau.php";break;
  case 'modulesX10':
      $url="/X10/modules.php";break;
  case 'inconvenientx10':
      $url="http://fr.wikipedia.org/wiki/X10_(informatique)";break;
 }
require_once('../commun/template/entete.php');
require_once($url);
require_once('template/pied.php3');

et une page menu-index.php avec ceci

<?php
require ('login.php');
$link = mysql_connect("$hote", "$login", "$pass") or die("Erreur de connexion...") ;
$req = mysql_select_db($bdd, $link) or die("Erreur de connexion...") ;

//mysql_connect("localhost", "root", ""); // Connexion à MySQL
//mysql_select_db("menus"); // Sélection de la base de donnée

/* ------------------ VARIABLE POUR CONNEXION A LA TABLE ------------------ */
$nom_table = ("menu");
$niveau = ("4");
$categorie = ("Domotique");

/* ------------------ REQUETE TABLE ------------------ */

$req1 = "SELECT * FROM $nom_table WHERE categorie='$categorie' AND niveau='$niveau' ";
echo $req1;
$requete_1 = mysql_query($req1) or die(mysql_error());

/* ------------------ REQUETE TABLE PAR CATEGORIE ------------------ */
$requete_categorie = mysql_query("SELECT * FROM menu where categorie ='Domotique' "); // Requête SQL 2
//$requete_categorie = mysql_query("SELECT * FROM $nom_table WHERE id='$numero_id'); // Requête SQL 2
$donnees_categorie = mysql_fetch_assoc($requete_categorie); // liste ce que contient la table

?>

<div align="center">
<img src="/maison/images/X10_216x216.jpg" width="107" height="107" />
<table width="auto" border="0" bordercolor="#FFFFFF">
  <tr>
    <td bgcolor="#999999"><span class="Style7"><?php echo $donnees_categorie["categorie"]; ?></span></td>
  </tr>
  <tr>
    <td bordercolor="#CCCCCC" bgcolor="#FFFFFF"> </td>
  </tr>
  <?php while ($donnees_1 = mysql_fetch_array($requete_1))
{// boucle pour lister tout ce que contient la table : modules_x10 ?>
  <tr>
    <td bordercolor="#CCCCCC" bgcolor="#CCCCCC"><a href="<?php echo $donnees_1["MENU_INDEX_a_href"]; ?>" title="<?php echo $donnees_1["MENU_INDEX_title"]; ?>"><?php echo $donnees_1["MENU_INDEX_nom_lien"]; ?></a></td>
  </tr>
 
  <?php } //toute la ligne est comprise dans la boucle while ?>
  <tr>
    <td> </td>
  </tr>

Avec d'indiqué dans la table menu les colonnes :

pour  $donnees_1["MENU_INDEX_a_href"]; --->index.php?page=telecom1
pour  $donnees_1["MENU_INDEX_title"]; ---> ActiveHome Pro 1
$donnees_1["MENU_INDEX_nom_lien"]; ---> Télécommande HR10

Ma page original de menu-index.php est :

<title>Menu accueil N4</title>
</head>

<body>
<div align="center">

<img src="../images/X10_216x216.jpg" width="107" height="107" />
<table width="auto" border="0" bordercolor="#FFFFFF">
  <tr>
    <td bgcolor="#999999"><span class="Style7">Eméteur domotique </span></td>
  </tr>
  <tr>
    <td bordercolor="#CCCCCC" bgcolor="#FFFFFF"> </td>
  </tr>
  <tr>
    <td bordercolor="#CCCCCC" bgcolor="#CCCCCC"><a href="index.php?page=telecom1" title="ActiveHome Pro 1 ">Telecommande HR10 </a></td>
  </tr>
  <tr>
    <td bordercolor="#CCCCCC" bgcolor="#CCCCCC"><a href="index.php?page=telecom2" title="telecom2">Telecommande HR10 ( Avec suivi des touche )</a></td>
  </tr>
  <tr>
    <td bordercolor="#CCCCCC" bgcolor="#CCCCCC"><div align="center">*</div></td>
  </tr>
 
  <tr>
  <td bordercolor="#CCCCCC" bgcolor="#CCCCCC"><a href="index.php?page=actpro" title="Télécommande1 ">ActiveHome Pro PHP (Sélection par code maison et unité)</a></td>
  </tr>
  <tr>
  <td bordercolor="#CCCCCC" bgcolor="#CCCCCC"><a href="index.php?page=actpro2" title="Télécommande2 ">ActiveHome Pro PHP (Sélection par nom)</a></td>
  </tr>
  <tr>
    <td bordercolor="#CCCCCC" bgcolor="#CCCCCC"><div align="center">*</div></td>
  </tr>
  <tr>
    <td bordercolor="#CCCCCC" bgcolor="#CCCCCC"><a href="index.php?page=x10" title="Controle X10 par bouton">Controle X10 par bouton (Sans son)</a></tr>
  <tr>
    <td bordercolor="#CCCCCC" bgcolor="#CCCCCC"><a href="index.php?page=x10son" title="Controle X10 par bouton">Controle X10 par bouton (Avec son)</a></td>
  </tr>
  <tr>
    <td bordercolor="#CCCCCC" bgcolor="#CCCCCC"><div align="center">*</div></td>
  </tr>
  <tr>
  <td bordercolor="#CCCCCC" bgcolor="#CCCCCC"><a href="index.php?page=tableaucmumodules" title="Controle X10 par bouton">Tableau des C.M.U des modules de la maison</a></td>
  </tr>
  <tr>
    <td bordercolor="#CCCCCC" bgcolor="#CCCCCC"><a href="index.php?page=manuel-modules-X10" title="Les Modules X10">Les Modules X10</a></td>
  </tr>
  <tr>
    <td bordercolor="#CCCCCC" bgcolor="#CCCCCC"><a href="http://fr.wikipedia.org/wiki/X10_(informatique)" title="Les inconvenient et avantage de la domotique X10">Les inconvenient et avantage de la domotique X10 </a></td>
  </tr>
</table>

Par contre pour la liste déroulante  les lien fonctionne

<form>
       
          <select onChange="location = this.options
[this.selectedIndex].value">
    <option value="" selected>Selectionner une page<option>
    <optgroup label="Domotique">
  <?php while ($donnees_1 = mysql_fetch_array($requete_1)) {// boucle pour lister tout ce que contient la table : modules_x10 ?>
        <option value="<?php echo $donnees_1["LD_value"]; ?>"><?php echo $donnees_1["LD_nom_lien"]; ?></option>
       
    <?php } //toute la ligne est comprise dans la boucle while ?>
    </optgroup>
</select></form>

Pour l'index.php je n'est pas réusi a mettre à mettre quelque chose du genre :

case 'echo $donnees_1["INDEX_case"]':
      $url="echo $donnees_1['INDEX_$url']";break;

Merci.

#19 Re : MySQL, PostgreSQL, etc... » Menu PHP/MySQL » 16-04-2010 22:21:10

Bonjour,

J'ai une derniere question.

Si dans ma table menu je rajoute Niveau, vue que j'ai plusieurs niveau, ma table seras ainsi composé :

id - nom_page - categorie - niveau - title - methode - action - name - value - type

Pour lister le contenue pour tout ce qui est nom_page et value de la categorie xxx du niveau : 4

comment la requête devras elle être composé para-port a celle-ci ?

$req1 = "SELECT * FROM menu WHERE categorie='4, Gestion' ";
echo $req1;
$requete_1 = mysql_query($req1) or die(mysql_error());

Merci.

#20 Re : MySQL, PostgreSQL, etc... » Menu PHP/MySQL » 16-04-2010 22:21:10

J'ai trouvé

$req1 = "SELECT * FROM menu_n4 WHERE categorie='Gestion' ";
echo $req1;
$requete_1 = mysql_query($req1) or die(mysql_error());

Merci.

#21 Re : MySQL, PostgreSQL, etc... » Menu PHP/MySQL » 16-04-2010 22:21:10

bonsoir,

J'ai rectifié mais j'ai toujours les message d'erreur suivant :

Pour le menu

SELECT * FROM menu WHERE categorie ='' AND nom_page = ''

Pour la liste deroulante

SELECT * FROM menu WHERE categorie ='' AND nom_page = ''

Merci

#22 Re : MySQL, PostgreSQL, etc... » Menu PHP/MySQL » 16-04-2010 22:21:10

bonsoir,

Pour le menu

SELECT * FROM menu WHERE categorie ='' AND nom_page = ''

Pour la liste deroulante

SELECT * FROM menu WHERE categorie ='' AND nom_page = ''

Merci

#23 Re : MySQL, PostgreSQL, etc... » Menu PHP/MySQL » 16-04-2010 22:21:10

Bonsoir,

Je ne comprend pas sa ne s'affiche pas dans ma liste déroulante, et j'ai aucun message d'erreur , par contre pour le menu j'ai le message d'erreur suivant

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in L:\Program files 2\wamp\www\maison\N7\Menu-PHP-MYSQL\menu-php-mysql-lecture.php on line 96

La ligne 96 du menu est :

<?php while ($donnees_1 = mysql_fetch_array($requete_1)) {// boucle pour lister tout ce que contient la table : modules_x10 ?>

joint au deux page

<?php
mysql_connect("localhost", "root", ""); // Connexion à MySQL
mysql_select_db("menu"); // Sélection de la base de donnée

$requete_1 = mysql_query("SELECT * FROM $nom_table WHERE categorie ='{$donnees_1['value']}' AND nom_page = '{$donnees_1['nom_page']}'");

Menu general

 
</tr>
<?php while ($donnees_1 = mysql_fetch_array($requete_1)) {// boucle pour lister tout ce que contient la table : modules_x10 ?>
  <tr>
    <th bgcolor="#CCCCCC" scope="row"><?php echo $donnees_1["id"]; ?></th>
    <td bgcolor="#CCCCCC"><?php echo $donnees_1["nom_page"]; ?></td>
    <td bgcolor="#CCCCCC"><?php echo $donnees_1["categorie"]; ?></td>
    <td bgcolor="#CCCCCC"><?php echo $donnees_1["value"]; ?></td>
  </tr>
  <?php } //toute la ligne est comprise dans la boucle while ?>
</table>

Liste dèroulante

<form>
          <select onChange="location = this.options
[this.selectedIndex].value">
    <option value="" selected>Selectionner une page<option>
    <optgroup label="Gestion">
  <?php while ($donnees_1 = mysql_fetch_array($requete_1)) {  ?>
        <option value="<?php echo $donnees_1["value"]; ?>"><?php echo $donnees_1["nom_page"]; ?></option>
       
    <?php }  ?>
    </optgroup>

#24 MySQL, PostgreSQL, etc... » Menu PHP/MySQL » 16-04-2010 22:21:10

xunil2003
Réponses : 31

Bonsoir,

J'ai fait un menu  en php avec un array pour afficher les nom des pages avec les liens.

dans ma table menu j'ai :

id - nom_page - categorie - title - methode - action - name - value - type

si je veux lister le contenue pour tout ce qui est nom_page et value de la categorie xxx :

<option value="<?php echo $donnees_1["value"]; ?>"><?php echo $donnees_1["mom_page"]; ?>

Comment doit être composé la requête , es-ce correct :

$requete_1 = mysql_query("SELECT * FROM menu WHERE categorie ='value, nom_page' "); // Requête SQL

Merci.

#25 Re : Forum Général PHP » Menu PHP fonctionne avec les pages html et pas avec les pages en PHP » 19-03-2010 16:36:39

Tout a fait le chemin relatif indiqué est bien normal, je les vérifie avec phpinfo, mais je ne comprenais pas pourquoi avec l'adresse absolue les boutons submit de ma page php et javascript ne fonctionné pas.

J'ai trouvé pourquoi les boutons submit ne fonctionné pas ainsi que Javascript

1/ Pour javascript j'ai tout mis en chemin relatif

x10/palmpad-1/art/palmpad/l.gif

2/ Pour PHP, dans index.php j'ai indiqué ceci :

$url='menu-index.php';
  if(isset($_GET['page']))
    switch($_GET['page']){
// --Page d'accueil general du Niveau 4
    case 'accueil':
      $url="index.php";break;

case 'x10':
      $url="X10/MySQL/Controle-X10-bouton/x10-bouton-mysql-lecture-A-O.php";break;

3/ j'ai laissé action vide ( action""" )


4/ Donc comme le fichier index.php et menu-index.php sont situé  dans le répertoire L:\Program files 2\wamp\www\maison\N4 et que le chemin relatif de la variable $url est X10/MySQL/Controle-X10-bouton/x10-bouton-mysql-lecture-A-O.php et vue que pour javascript le chemin relatif est également X10/Activehome-Pro-Controle-X10/ahp-nom.php, deviné quel le sous répertoire avant : N4.
Il est donc forcement logique qu'il faut placer le fichier  "ahcmd.exe" à cette endroit pour que les boutons submit fonctionne afin qu'il puisse trouver le fichier pour l'exécuter, et non dans le même répertoire ou ce trouve x10-bouton-mysql-lecture-A-O.php des boutons submit, c'est pourquoi lorsque l'on tape directement l'url dans le navigateur l'adresse http://192.168.0.1:8585/maison/N4/X10/M … re-A-O.php cela marché.


Je clôture la conversation.

Merci.

Pied de page des forums

Propulsé par FluxBB