IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[PHP-JS] Mise à jour de frames avec Javascript


Sujet :

Langage PHP

  1. #1
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 852
    Points : 4 759
    Points
    4 759
    Par défaut [PHP-JS] Mise à jour de frames avec Javascript
    Bonjour

    Voici mon problème. Je dispose d'une page composée de 4 frames. Dans une de mes frames, j'ai un lien logout avec cette fonction associée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    case "logout":
    		session_destroy();
    		echo "<script>parent.location.replace(\"index.php\")</script>";
    		break;
    Ce que j'aurais voulu, c'est revenir ainsi à une page initiale avec les 4 frames également à l'état initial (sans aucune donnée de session). Malheureusement, cette fonction ne met à jour que le cadre dans lequel je l'appelle.
    Comment faire correctement la chose ?

    Merci d'avance de vos réponses.

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code ni le tag

    Je ne répond à aucune question technique par MP.

  2. #2
    NoT
    NoT est déconnecté
    Membre actif
    Profil pro
    Inscrit en
    Février 2004
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 237
    Points : 280
    Points
    280
    Par défaut
    Salut,

    Tu peux vérifier si le session_destroy(); a bien fonctionné en faisant ( pour tester ) un Ensuite ton javascript devrait s'il s'execute correctement, charger la page "index.php" dans la frame parente de la frame ou tu executes ton code.Or visiblement ça n'a pas l'air de marcher, essaye avec ce code là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<script>document.parent.location='index.php';</script>";

  3. #3
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 852
    Points : 4 759
    Points
    4 759
    Par défaut
    Bonjour

    Merci NoT pour ta réponse mais malheureusement, le résultat est le même. J'ai écrit ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    case "logout":
    		session_destroy();
    		echo "<pre>";
    		print_r($_SESSION);
    		echo "</pre>";
    		break;
    Malgré cela, j'ai toujours un mauvais rafraîchissement et rien ne correspond à ce que je veux !
    Dieux, pourquoi êtes-vous si cruels !
    Merci d'avance de vos réponses.

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code ni le tag

    Je ne répond à aucune question technique par MP.

  4. #4
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    peut être rajouter un javascript dans ton contenu qui se charge demettre à jour tout seul tes autres frames ?

    Sinon tu peux essayer de faire ta redirection à l'aide de la fonction header() , mais je ne sais pas quel sera son comportement avec des frames .... (bouhhhh, pas bien les frames)
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  5. #5
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 852
    Points : 4 759
    Points
    4 759
    Par défaut
    Bonjour titoumimi

    Merci de ta réponse. Alors, ta remarque sur les frames est intéressante. Je vais préciser l'histoire. En fait je reprend un projet PHP où les frames n'existaient pas. Il m'a été demandé d'incorporer d'autres pages PHP dans ce "container". Comme ces nouvelles pages PHP sont aussi des applicatifs, j'ai donc pensé aux frames. Mais en effet, la programmation avec des frames est tout sauf facile.
    Ma question est simple : mis à part les frames, existe t'il d'autres balises me permettant d'incorporer des pages PHP avec la possibilité d'utiliser par exemple des scrollers ?

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code ni le tag

    Je ne répond à aucune question technique par MP.

  6. #6
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 852
    Points : 4 759
    Points
    4 759
    Par défaut
    Voici. Ce code est dans une page nommée index.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    <html>
     <head>
      <Title>Bioinfo</Title>
      <link rel="stylesheet" type ="text/css" href="style.css">
     </head>
     
    <FRAMESET ROWS="25%, 10%, 65%">
    <FRAME NAME="LOGO" SRC="logo.php" FRAMEBORDER="no" SCROLLING="no">
    <FRAME NAME="LOGIN" SRC="login.php" FRAMEBORDER="no" SCROLLING="auto">
     
    <FRAMESET COLS="15%,*">
    <FRAME NAME="MENU" SRC="menu.php" FRAMEBORDER="no" SCROLLING="yes">
    <FRAME NAME="MAIN" SRC="main.php" FRAMEBORDER="no" SCROLLING="yes">
    </FRAMESET>
     
    </FRAMESET>
    </html>
    Merci encore de votre aide.
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code ni le tag

    Je ne répond à aucune question technique par MP.

  7. #7
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    Citation Envoyé par GLDavid
    Ma question est simple : mis à part les frames, existe t'il d'autres balises me permettant d'incorporer des pages PHP avec la possibilité d'utiliser par exemple des scrollers ?
    oui, c'est tout à fait possible

    En php, il existe la fonction include() qui te permet d'inclure dans ta page d'autres pages. Il va te suffire ensuite d'inclure tes différents éléments dans des divs, et de leur coller la propriété CSS overflow:scroll ... ça devrait le faire

    PS : si ça te tente, un p'tit cours sur la mise en page en utilisant les DIV. Il te siffut de remplacer le contenu par un include, et ça devrait le faire
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  8. #8
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 852
    Points : 4 759
    Points
    4 759
    Par défaut
    titoumimi, ta remarque est intéressante ! Comme à l'origine le code ne contenait que des balises div, je pense revenir à cela et laisser tomber les frames. Les frames, c'est vraiment caca
    Je vous tiens au courant et merci de vos remarques.

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code ni le tag

    Je ne répond à aucune question technique par MP.

  9. #9
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 852
    Points : 4 759
    Points
    4 759
    Par défaut
    Alors, je vais tenter d'adapter la solution de Titoumimi avec les div. Néanmoins, il me manque des éléments de langage. Initialement, je lançais mon service via un formulaire dans un div nommé centre qui créait une nouvelle fenêtre avec le contenu service PHP. Désormais, je voudrais que ce service PHP soit affiché directement dans ce div centre. Comment bien réaliser la chose ? Dois-je le faire par Javascript ? Voici le script PHP initial :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    function lancerservice(){
    	$langue = new langue();
    	$br = "<br />";
    	if(!isset($_SESSION['id'])) die(retour($langue->paslogge));
    	echo "<div class=\"titre\">".$langue->titrelancerservice."</div>";
    	echo "<form method=\"post\" action=\"services.php\" target=\"_blank\">";
    	if(!isset($_POST['id'])){
    		$rep = opendir("services");
    		while (false !== ($read = readdir($rep))) {
    			if($read != "." && $read != ".." && $read != ".svn"){
    				$sql = new sql(true);
    				$conn = mysql_connect($sql->hote,$sql->login,$sql->pass);
    				mysql_select_db($sql->base);
    				$requete = "SELECT t1.id,t1.name AS nom,t1.file,t1.description AS description,t2.group_id
    					FROM services AS t1, services_relation AS t2 
    					WHERE t1.file = '".$read."' 
    					AND t2.group_id =".$_SESSION['group_id']."
    					AND t2.service_id = t1.id";
    				echo "<select name=\"id\">";
    				$result = mysql_query($requete);
    				if(mysql_num_rows($result) != 0){
    					$resultat = mysql_fetch_object($result);
    					echo "<option value=\"".$resultat->id."\">";
    					require_once("services/".$read);
    					$titre = substr($resultat->file, 0, strlen($resultat->file)-4);
    					$prog = new $titre();
    					echo $resultat->nom ." : ".$resultat->description." (".$prog->cost." ".$langue->monnaie.")";
    					echo "</option>";
    				}
    			}			
    		}
    		?>
    		</select>
    		<br /><br />
    		<input type="submit" value="<? echo $langue->lancerservice; ?>">
    		<?
    	}
    }
    Merci d'avance de vos réponses.

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code ni le tag

    Je ne répond à aucune question technique par MP.

  10. #10
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    Je suppose que tu as une condition quelconque te permettant de savoir si c'est le formulaire ou ta fonction que tu doit afficher ?

    Si c'est le cas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <div id="centre">
    <?php
    if (ta_condition) {
    // affiche formulaire
    } else {
    // affiche service
    lancerservice();
    }
    ?>
    </div>
    je suppose que ta contition va être quelque chose du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (!isset($_GET['le_nom_d_une_variable_passee_par_le_formulaire'])) {
    Bien sur, adapter en fonction du type de transmission $_GET ou $_POST
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  11. #11
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 852
    Points : 4 759
    Points
    4 759
    Par défaut
    Ok, ça roule !
    Merci Titoumimi !

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code ni le tag

    Je ne répond à aucune question technique par MP.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. mise à jour dans frame de fenetre mère
    Par rduvrac dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/10/2006, 06h55
  2. Réponses: 5
    Dernier message: 13/07/2006, 09h39
  3. Réponses: 6
    Dernier message: 29/05/2006, 14h22
  4. Réponses: 3
    Dernier message: 15/11/2005, 18h50
  5. Problème de mise à jour de données avec IBClientDataset
    Par Papino dans le forum Bases de données
    Réponses: 6
    Dernier message: 26/09/2005, 14h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo