Page 1 sur 1

Soucis affichage d'une page php dans une page php

Posté : 07 févr. 2010, 16:39
par dynamix
Bonjour à tous , je vous pose mon probleme.

J'ai créé une page php avec un formulaire simple : Couleur, Objet.
4 possibilités pour ces 2. Lorsque je clic sur OK dans ce menu (gauche), j'aimerais pouvoir visualiser dans la 2e fenetre créé ( à droite) ces objets.
Pour l'instant j'ai réussi à afficher les bonnes valeurs dans ces fenètres avec :

Code : Tout sélectionner

<?php echo '<p>Votre objet est : ' . htmlspecialchars($_POST['objet']) . '</p>'; ?> <?php echo '<p>Votre couleur est : ' . htmlspecialchars($_POST['couleur']) . '</p>'; ?>
Mais lorsque je veux afficher cet objet en vrml dans cette fenetre, il s'affiche le code php dans la fenetre.

Code : Tout sélectionner

<?php include "objet.php"; ?>

J'ai essayé aussi require, mais c'est pire.

Cependant si dans le code du formulaire je met comme target "objet.php", une nouvelle fenetre s'ouvre et affiche le bon objet e la bonne couleur en vrml.

Pour résumer j'ai deux fichiers php :
le premier avec disposition de la fenetre (une a gauche une a droite), formulaire.
le second avec un code vrml.

Pour ceux qui ont compris, y'a t'il une solution simple, pour que tout soit bien dans une seule et meme fenêtre :)

Merci

Re: Soucis affichage d'une page php dans une page php

Posté : 07 févr. 2010, 17:47
par hakazizi
bonjour.
la souris cours dans le pré mais elle n'est dans aucun pré...
tu n'as rien compris je suppose...
et bien tout comme moi avec ton explication lol...

Re: Soucis affichage d'une page php dans une page php

Posté : 07 févr. 2010, 17:51
par niuxe
hello,

@hakazizi -> +1
@dynamix -> peut être un problème de chemin. Au passage, include = inclusion et require = exiger.

Re: Soucis affichage d'une page php dans une page php

Posté : 07 févr. 2010, 18:59
par dynamix
Fichier index.php

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>Sommaire !</title> <style type="text/css"> #StyleObjet { position:absolute; background-color:cyan; left:10px; width:100px; } #page { position:absolute; background-color:#AAAAAA; left :350px; width :600px; height:600px; top: 10px; } </style> </head> <body> <?php function choixParDefaut($objet) // Creation de la fonction { $par_defaut = ''; // On cree une variable (vide par defaut) que l'on retournera à la fin if (isset($_POST['objet'])) // Si le visiteur a choisi une couleur { if ($_POST['objet'] == $objet) // Si cette couleur correspond à la couleur que l'on est en train de traiter { $par_defaut='selected="selected"'; // Alors on modifie la variable que l'on retournera et on lui met selected } } return $par_defaut; // On ne retourne rien si ce n'etait pas la couleur choisie, selected si c'etait la bonne couleur } // -------------- Fin de la fonction --------------- ?> <?php function CouleurParDefaut($couleur) // Creation de la fonction { $couleur_defaut = ''; // On cree une variable (vide par defaut) que l'on retournera à la fin if (isset($_POST['couleur'])) // Si le visiteur a choisi une couleur { if ($_POST['couleur'] == $couleur) // Si cette couleur correspond à la couleur que l'on est en train de traiter { $couleur_defaut='selected="selected"'; // Alors on modifie la variable que l'on retournera et on lui met selected } } return $couleur_defaut; // On ne retourne rien si ce n'etait pas la couleur choisie, selected si c'etait la bonne couleur } // -------------- Fin de la fonction --------------- ?> <form method="post"> <p>Quel est votre objet ?<select name="objet"> <option value="Cube" <?php echo choixParDefaut('Cube'); ?>>Le Cube</option> <option value="Sphere" <?php echo choixParDefaut('Sphere'); ?>>La Sphere</option> <option value="Cylindre" <?php echo choixParDefaut('Cylindre'); ?>>Le Cylindre</option> <option value="Cone" <?php echo choixParDefaut('Cone'); ?>>Le Cone</option> </select> </p> <p>Quel est votre couleur ?<select name="couleur"> <option value="Bleu" <?php echo CouleurParDefaut('Bleu'); ?>>Le Bleu</option> <option value="Rouge" <?php echo CouleurParDefaut('Rouge'); ?>>Le Rouge</option> <option value="Vert" <?php echo CouleurParDefaut('Vert'); ?>>Le Vert</option> <option value="Blanc" <?php echo CouleurParDefaut('Blanc'); ?>>Le Blanc</option> </select> </p> <p><input type="submit" value="OK" /></p> </form> <div id="page"> <?php echo '<p>Votre objet est : ' . htmlspecialchars($_POST['objet']) . '</p>'; ?> <?php echo '<p>Votre couleur est : ' . htmlspecialchars($_POST['couleur']) . '</p>'; ?> <?php include "objet.php"; ?> </div> </body> </html>

fichier objet.php

Code : Tout sélectionner

<?php header ("Content-type: model/vrml"); ?> #VRML V2.0 utf8 <?php $nomCa = 1.0;$nomCb = 1.0;$nomCc = 1.0; if ($couleur == "Vert") {$nomCa = 0.0;$nomCb = 1.0;$nomCc = 0.0;} else if ($couleur == "Rouge") {$nomCa = 1.0;$nomCb = 0.0;$nomCc = 0.0;} else if ($couleur == "Bleu") {$nomCa = 0.0;$nomCb = 0.0;$nomCc = 1.0;} else {$nomCa = 1.0;$nomCb = 1.0;$nomCc = 1.0;} ?> <?php if ($objet == "Sphere"){ ?> Transform { children Shape { geometry Sphere {} appearance Appearance { material Material { <?php echo "diffuseColor ", $nomCa ," ", $nomCb," ",$nomCc ?> } } } } <?php } else if ($objet == "Cube"){ ?> Transform { children Shape { geometry Box {} appearance Appearance { material Material { <?php echo "diffuseColor ", $nomCa ," ", $nomCb," ",$nomCc ?> } } } } <?php } else if ($objet == "Cylindre"){ ?> Transform { children Shape { geometry Cylinder {} appearance Appearance { material Material { <?php echo "diffuseColor ", $nomCa ," ", $nomCb," ",$nomCc ?> } } } } <?php } else { ?> Transform { children Shape { geometry Cone {} appearance Appearance { material Material { <?php echo "diffuseColor ", $nomCa ," ", $nomCb," ",$nomCc ?> } } } } <?php } ?>
Pour le moment j'ai fait cela.
Si je rajoute dans le form du formulaire un target vers "objet.php", une nouvelle fenetre s'ouvre et avec les bons attributs.
J'aimerais maintenant que aucune fenetre s'ouvre, mais qu'elle s'affiche dans la mini fenetre de ma premiere page.

Voila, j'espere avoir été plus clair.
Ca serait pour ressembler en gros à ca : http://www.web3d-fr.com/tutoriels/Ateli ... Frames.htm