begin process at 2012 05 31 02:08:42
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

Problème lors du remplacement des frames par des includes


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème lors du remplacement des frames par des includes

lundi 18 juillet 2011 à 12:58:41 | Problème lors du remplacement des frames par des includes

GarnierFlorian

Salut à tous !

Tout d'abord, voici le principe : il s'agit d'un espace perso, autrement dit un utilisateur sur un site avec un compte perso et des fonctionnalités.

Les possibilités de l'utilisateur sont relatives au lien de mon menu : pour chaque lien une action. Par exemple, le premier lien c'est "visualiser ses informations en cours", donc quand il clique, un tableau apparait au centre avec ses infos !

Mon problème est donc que cela marchait avec les frames, le tableau apparaissant dans le bloc central de ma page. Mais à présent par le biais des inclusions, cela me renvoi le tableau dans une nouvelle page toute blanche..

Comment faire pour générer mon tableau au sein de ma partie centrale de la page en cours ?

Voici comment je fais appel à l'exécution du fichier php qui génère le tableau lors du clic :

Code PHP :
print("<td class='cellule_menuclient'><h5><a href='infosclient.php?param1=".$numctr1."&param2=".$ctract."'>Visualiser les informations</h5></td>");


Merci de votre aide,

Peace


 
lundi 18 juillet 2011 à 13:06:05 | Re : Problème lors du remplacement des frames par des includes

kohntark

Membre Club
Salut,

... ça fait vraiment léger comme information, non ? :)
Il serait utile de voir le code nécessaire à la compréhension, notamment la partie où tu traites tes variables $_GET et où tu exécutes les include().


Cordialement,


Kohntark -
lundi 18 juillet 2011 à 14:36:08 | Re : Problème lors du remplacement des frames par des includes

GarnierFlorian

Salut !

Donc alors, j'ai tout d'abord un fichier principal qui génère la page (je met que la partie qui nous intéresse) :

Code PHP :
<?php

$numctr = $_POST["numctr"];
$ctract = $_POST["ctract"];

$includeAllowed = array(
    'entete-client.php' => 1,
    'banniere_client.php' => 1,
    'menu_client.php' => 1,
    'centre_client.php' => 1,
    'bas_client.php' => 1,
);
include ('entete_client.php');	
include('banniere_client.php');
include('menu_client.php');
include('centre_client.php');
include('bas_client.php');
?>


Ensuite, dans ces fichiers, c'est menu_client qui évidemment gère le menu :

Code PHP :
<?php
	print("<div id='menu_cli'>");
	print("<table border='0' cellpadding='0' cellspacing='6' width='628px;'>");
	print("<tr>"); 
	print("<td class='cellule_menuclient'><h5><a href='infosclient.php?param1=".$numctr1."&param2=".$ctract."'>Visualiser les informations</h5></td>");
	print("<td align='center' width='20px'>|</td>");
	print("<td align='center'><h5><a href='demandedoc.php?param1=".$numctr1."&param2=".$nomctr."' target='milieu'>Demander un document</h5></td>");
	print("<td align='center' width='20px'>|</td>");
	print("<td align='center'><h5><a href='javascript:window.close()'>Quitter</a></h5></td>");
	print("</tr>"); 	
	print("</table>");
	print("</div>");
?>


J'aimerais que lorsque je clique sur un des liens ci-dessus, il m'affiche ce qui est exécuté dans le fichier php appelé. En fait, il le fait déjà, mais j'aimerais qu'il me l'affiche pas dans une nouvelle page mais dans le cadre central.

Autrement dit, comment utiliser le principe des frames sans les frames.

Merci d'avance,

Peace

Voilà,
 
lundi 18 juillet 2011 à 15:17:41 | Re : Problème lors du remplacement des frames par des includes

GarnierFlorian

Bon, je pense que je vais tout simplement recréer l'ensemble de mes pages à chaque fois, pour que l'utilisateur est l'impression que seul le cadre central est rechargé !

Après si il y a une solution qui m'évite de tout renvoyer à chaque fois je suis preneur !!^^

Merci d'avance !

Peace
lundi 18 juillet 2011 à 15:22:07 | Re : Problème lors du remplacement des frames par des includes

kohntark

Membre Club
Tu devrais déjà commencer par corriger ton code HTML en pensant à fermer les balises (</a>) Hormis le fait que ça ne soit pas valide ça peut parfois mener à des résultats étranges.

Ensuite je ne vois pas le lien entre la première partie de code et la seconde :

<a href='infosclient.php?param1=".$numctr1."&param2=".$ctract."'>
=> là tu appelles le fichier infosclient.php en lui passant via la méthode GET les variables param1 et param2 qui seront donc accessibles dans le fichier infosclient.php, par $_GET['param1'] et $_GET['param2'] (1)

$numctr = $_POST["numctr"];
$ctract = $_POST["ctract"];
=> là tu demandes d'affecter respectivement à $numctr et $ctract les variables transmises via la méthode POST nommées 'numstr' et 'ctract'.
=> méthode GET !== méthode POST ==> les variables n'existent pas
=> d'ailleurs $_GET['numctr'] et $_GET['ctract'] n'existent pas non plus (cf 1)

J'imagine que tu as grandement simplifié le code que tu as posté, mais dans le doute : $includeAllowed ne sert à rien.

Le principe dans les grandes lignes :

- tu as un fichier "principal" que nous appellerons par exemple index.php
C'est lui et lui seul qui contient tes include (qu'il est impératif de contrôler via ton tableau $includeAllowed)

- tous tes liens de navigation sont sous la forme :
<a href="index.php?partieCentrale=[page à inclure]">lien de navigation</a>

index.php :


Code PHP :
[include de l'entête, bannière, etc ...]

// tableau des pages autorisées
$includeAllowed = array(
    'machin',
    'truc'
);

if(isset($_GET['partieCentrale']) // test que la variable GET existe bien dans l'url transmise
        && in_array($_GET['partieCentrale'], $includeAllowed)) { // test si la page est autorisée à l'affichage
    
   include($_GET['partieCentrale'].'.php'); // inclus la page demandée
} else include 'default.php'; // sinon inclus la page par défaut

[include pied de page, ...]

?>
<a href="index.php?partieCentrale=machin">machin</a>
<a href="index.php?partieCentrale=truc">truc</a>
<a href="index.php?partieCentrale=bidule">bidule</a>



Voili voilou, en espérant que ça te mette un peu plus sur la voie.

Kohntark -
lundi 18 juillet 2011 à 15:24:51 | Re : Problème lors du remplacement des frames par des includes

kohntark

Membre Club

Bon, je pense que je vais tout simplement recréer l'ensemble de mes pages à chaque fois


Tu n'as pas une plus mauvaise idée ?


l'impression que seul le cadre central est rechargé


Si tu veux que ça ne soit même pas une impression mais la réalité tu peux te tourner vers Ajax.


Cordialement,


Kohntark -
mardi 19 juillet 2011 à 09:21:36 | Re : Problème lors du remplacement des frames par des includes

GarnierFlorian

Salut ! Et merci pour ta réponse !

Tout d'abord, je ne peux pas utiliser Ajax, je suis contraint au php par la personne qui me demande de réaliser ce travail.

Sinon, j'ai commencé par refermer mes balises <a>.

Ensuite, je vais rajouté les différents test pour l'includeAllowed. J'étais tombé sur un tuto, mais je m'étais pas encore mit sur cette partie, je voulais d'abord voir pour la gestion de mes liens. Mais merci d'avoir prit le temps de me l'expliquer^^

Sinon, là ou je veux bien un peu plus d'explications, c'est sur le fait que tu me parle de méthode GET ? Pour ma part, je ne pense utiliser que la méthode POST ?!!

Je reprends vite fait :

dans un premier fichier je déclare mes variables, et teste si les identifiants saisies sont bons (je met juste la déclaration) :

Code PHP :
<?php

$numctr = "";
$nomctr = "";
$ctract = "";

//après plusieurs test et accès à la base je récupère certaines infos :

$numctr = mysql_result($result,$index,"utilisateur.numctr");
$nomctr = mysql_result($result,$index,"utilisateur.nomctr");
$ctract = mysql_result($result,$index,"utilisateur.ctract");

?>
//si mes flag d'erreurs sont à false, alors j&#8217;inclus et j'exécute le fichier suivant :

<?php
print("<html>");
print("<head>");
print("<title>Test espace perso</title>");
print("<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>");
print("</head>");

print("<body>");

print("<form name='login' method='post' action='/espaceperso/principal.php' target='_top'>");
print("<input name='numctr' type='hidden' value='".$numctr."'>");
print("<input name='nomctr' type='hidden' value='".$nomctr."'>");
print("<input name='ctract' type='hidden' value='".$ctract."'>");
print("</form>");
print("</body>");

print("</html>");
?>

// et donc l'appel au fichier principal via le form nous fait arriver ce que j'ai donné au début : 

<?php

$numctr = $_POST["numctr"];
$nomctr = $_POST["nomctr"];
$ctract = $_POST["ctract"];

include ('entete_client.php');	
include('banniere_client.php');
include('menu_client.php');
include('centre_client.php');
include('bas_client.php');

//Avec le menu plus loin..
?>


Voilà, je ne fais à aucun moment appel à la méthode GET, alors peut-être que c'est mon utilisation de la méthode POST qui n'est pas correcte.Pourtant mes infos ne sont jamais visibles dans la barre d'adresse. En tout cas je veux bien quelques explications^^

Merci d'avance !!

Peace
mardi 19 juillet 2011 à 10:36:11 | Re : Problème lors du remplacement des frames par des includes

GarnierFlorian

J'en profite maintenant que j'ai un peu regardé pour les includeallowed ! Je me demande si c'est utile finalement dan mon cas ?!

Mes liens sont dans mon menu et non pas dans mon fichier principal, donc je peux pas faire un truc du genre :

Code PHP :
$_GET['partieCentrale']


ET

Code PHP :
<a href="index.php?partieCentrale=machin">machin</a>


Je vois pas ce que tu indique grâce à "partieCentrale" ?

Peace
 
mardi 19 juillet 2011 à 12:15:03 | Re : Problème lors du remplacement des frames par des includes

GarnierFlorian


J'ai un peu plus comprit tes explications sur les includeAllowed, mais je vois pas comment mettre ça en place dans ma situation.

J'ai donc comprit que je pouvais directement inclure l'entete et la banniere. Ensuite c'est là que je commence à perdre pied : la partie avec les autorisations et les différents test, je vois pas à quoi elle peut servir dans mon cas :$ Mon menu je le génère simplement, après c'est le clic sur le lien qui va exécuter mes fonctions et créer l'affichagee des infos dans un tableau..

Enfin la je suis un peu perdu je crois :/

Merci d'avance, et désolé si jamais je ne suis pas clair dans mes explications :$

Peace

 
mardi 19 juillet 2011 à 12:36:06 | Re : Problème lors du remplacement des frames par des includes

GarnierFlorian


J'ai envi de me pendre...

Je viens de revérifier un autre point, ça me chiffonnait cette histoire de méthode GET, et effectivement mes paramètres passent bien dans l&#8217;URL...

En fait, l'identification se fait via la méthode post, et pour les autres exécutions on passe à la méthode GET...

Désolé mais j'avoue que reprendre le travail de quelqu'un d'autre n'a vraiment rien d'amusant.. Et je m'y perd un peu. Et évidemment il n'y a aucun commentaires !

Peace

1 2 3

Cette discussion est classée dans : problème, page, tableau, lien, frames


Répondre à ce message

Sujets en rapport avec ce message

redirection d'un lien [ par le ptit gob ] le ptit gob y se demande Bonjour, J'aurais aimé avoir une aide ou une piste sur mon problème que voici :< AIDEZ MOI SIOUVPLAIT (FRAMES) [ par 0000000000 ] Bonjour et merci d'essayer de m'aider.Voici mon problème je voudrais faire une page en php ou html avec des frames.Il y aurait trois frames toutes sou Affichage dans le tableau [ par VivoBaggio ] Salut à tous. Voilà, j'ai un petit souci sur l'affichage dans mon tableau. Sur le site, il y a 3 tableaux. En hautse situe la bannière, à gauche se si Problème de lien [ par theseif ] Bonjour, dans une page php j'utilise un lien de ce genre: .$data[</ Lien vers un include sans recharger la page avec Ajax [ par smoke ] Salut tt le monde ;) J'aimerais savoir si quelqu'un aurait une info pour recharger uniquement une partie d'une page avec Ajax. Je m'explique: Je crées Lien php [ par Heny ] Bonjour Dans une premiére page nommée Page01.php il ya un tableau de 10 lignes et  de deux colonnes une pour les images et l'autre p mise en ligne - lien PHP [ par BlizarBlizar ] Bonjour, J'ai un petit problème mais qui est très handicapant:quand j'essai d'accéder à mon adresse du type: http:/ Problème de formulaire et de conditionnelles [ par habroc ] Bonjour , Voilà , je galère avec la page suivante . J'ai une condition qui affiche un formulaire de connexion lorsque personne n'est connecté , et u Problème d'affichage d'un fichier texte sur une page web. [ par guimat123 ] Bonjour. Dans mon code PHP je souhaite afficher un texte enregistré en .txt J'ai découvert la balise qui permet de conserver le formatage du texte. problème de redirection si passage de paramètre [ par geff33 ] Bonjour, Voici mon problème que je n'arrive pas à solutionner: je veux faire une redirection dans une page située dans un répertoire du site vers ind


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,356 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales