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] Affichage de plusieurs pages sur la même page


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 60
    Points : 30
    Points
    30
    Par défaut [PHP-JS] Affichage de plusieurs pages sur la même page
    Bonjour à tous!

    Le titre n'est pas très clair mais je ne savais pas trop comment le nommer vu mon problème...

    J'ai une page d'accueil dont le code est le suivant :

    accueil.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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    <?php
    	$serveur="localhost";
    	$utilisateur="root";
    	$mdp="";
    	$bdd="testcartes";
     
    	mysql_connect($serveur,$utilisateur,$mdp) 
    			or die("Impossible de se connecter à la base de données"); 
    	mysql_select_db($bdd);
     
    include ("choixAnalyse.php");
     
    $ChoixAnalyse=$_POST['ChoixAnalyse'];
     
    switch ($ChoixAnalyse){
    	case 'pac' :
    		include ("choixPAC.php");
    	break;
     
    	case 'cartes' :
    		include ("choixCartes.php");
    	break;	
     
    	case 'infos' :
    		include ("choixInfos.php");		
    	break;
     
    	case 'tout' :
    		include ("tout.php");
    	break;
    };
    ?>
    et voici la page choixAnalyse.php qui est la page affiché par dfaut et toujours au debut de la page 'accueil.php'

    choixAnalyse.php :
    Code html : 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
    40
    41
    42
    43
    44
     
    <html>
    <body>
     
    <table align=center cellpadding=3><form method=post action='accueil.php'>
    	<tr align=left cellpadding=3>
    		<td><font face=verdana size=3>
    		<b><u>Choisir le type d'analyse voulue : <br><br></u></b>
    		</td><br></font>
    	</tr>
     
    	<tr align=left cellpadding=3>
    		<td><font face=verdana size=2>
    		<input type='radio' name='ChoixAnalyse' value='pac'>  par PAC
    		</td></font>
    	</tr>
     
    	<tr align=left cellpadding=3>
    		<td><font face=verdana size=2>
    		<input type='radio' name='ChoixAnalyse' value='cartes'>  par type de cartes		
    		</td></font>
    	</tr>
     
    	<tr align=left cellpadding=3>
    		<td><font face=verdana size=2>
    		<input type='radio' name='ChoixAnalyse' value='infos'>  par informations		
    		</td></font>
    	</tr>
     
    	<tr align=left cellpadding=3>
    		<td><font face=verdana size=2>
    		<input type='radio' name='ChoixAnalyse' value='tout'>  tout
    		</td></font>
    	</tr>
     
    	<tr align=center cellpadding=3>
    		<td>
    		<input type='submit' name='envoiAnalyse' value='Valider!'>
    		</font></td>
    	</tr>
     
    </table>
    </body>
    </html>

    Donc il y a 4 boutons radios qui, selon celui que l'on choisit, renvoit sur 4 pages différentes.

    Par exemple, l'utilisateur choisit le bouton "PAC". Cela le renvoi sur cette page :

    choixPAC.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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
     
    <?php
    	$serveur="localhost";
    	$utilisateur="root";
    	$mdp="";
    	$bdd="testcartes";
     
    	mysql_connect($serveur,$utilisateur,$mdp) 
    			or die("Impossible de se connecter à la base de données"); 
    	mysql_select_db($bdd);
    ?>
     
    <html>
    <body>
     
    <table align='center' cellpadding='3'><form method="post" action='traitementPAC.php'>
    	<tr align='center'>
    		<td><font face='verdana' size='3'>
    		<b><u>Choisir le pac : <br><br></u></b>
    		</font></td>
    	</tr>
     
    	<tr align='left'>
    		<td><font face='verdana' size='2'> Numero du PAC : </font></td>
    		<td><input type='text' name='pac'></td>
    	</tr>
     
    	<tr align='left'>
    		<td><font face='verdana' size='2'> Nom du client : </font></td>
    		<td><select name='client'>
    	<?php
    		$sql = "select client from pac order by client ASC";
    		$res = mysql_query($sql);
    		echo "<option selected>Choisir le nom du client...</option>\n";		
    		while($val=mysql_fetch_array($res)) {
    			echo "<option>".$val['client']."</option>\n";
    		};
    	?>
    		</select></td>
    	</tr>
     
    	<tr align='center'>
    		<td>
    		<input type='submit' name='envoiPAC' value='Valider!'>
    		</font></td>
    	</tr>
     
    </table>
    </body>
    </html>
     
    <?php
    mysql_close();	
    ?>
     
    <br><br><br><br><br><br>
    <table align='center' cellpadding=3>
    <a href="http://localhost/cartes/accueil.php">
    <font face='verdana' size='2'>Retour à la page d'accueil </font>
    </a>
    </table>
    Jusque là ca fonctionne, je peux sélectionner un nom de client (ma base de donnée fonctionne bien) et j'ai bien l'affichage de ma page d'accueil comprenant les pages choixAnalyse.php et choixPAC.php affichés à la suite...
    Mais derriere la page 'choixPAC.php' il y a une page de traitement lié à ces choix qui est :

    traitementPAC.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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    <?php
    	$serveur="localhost";
    	$utilisateur="root";
    	$mdp="";
    	$bdd="testcartes";
     
    	mysql_connect($serveur,$utilisateur,$mdp) 
    			or die("Impossible de se connecter à la base de données"); 
    	mysql_select_db($bdd);
     
    $pac=$_POST['pac'];	
    $client=$_POST['client'];
     
    if($pac!=null){
    	$sqlpac="select pac,client,nb_bulletins from pac where pac=$pac";
    	$resultatpac=mysql_query($sqlpac);
    	if($resultatpac){
    		$tab_result=mysql_fetch_assoc($resultatpac);
    		$client=$tab_result[client];
    		$nb_bulletins=$tab_result[nb_bulletins];
    	};		
    }
    else{
    	$sqlclient="SELECT pac, client, nb_bulletins FROM pac WHERE client = '$client'";
    	$resultatclient=mysql_query($sqlclient);
    	if($resultatclient){
    		$tab_result=mysql_fetch_assoc($resultatclient);
    		$pac=$tab_result[pac];
    		$nb_bulletins=$tab_result[nb_bulletins];
    	};		
    };
     
    if(($_POST['pac']==NULL) && ($_POST['client']=='Choisir le nom du client...')){
    	echo"Le champs correspondant au numero de pac n'est pas rempli et le nom du client n'est pas sélectionné... <br><br>";
    }
    else{
    	echo" <table width=700 align=center><font face='verdana' size=2><b><u> Choix du PAC n° :</u></b> $pac <br>";
    	echo" <b><u> Client :</u></b> $client <br>";
    	echo" <b><u> Nombre de bulletins de paie :</u></b> $nb_bulletins <br></font></table>";
    };
     
    ?>
     
    <br><br><br><br><br><br>
    <table align='center' cellpadding=3>
    <a href="http://localhost/cartes/accueil.php">
    <font face='verdana' size='2'>Retour à la page d'accueil </font>
    </a>
    </table>
    Voila le problème : Lorsque je clique sur "valider" apres avoir choisit mon nom de client ou entré son code PAC, il ne fait pas le traitement souhaité, n'affiche rien et me renvoi directement sur la page d'accueil avec juste par defaut la page 'choixAnalyse.php'... c'est à dire ce que l'on a au début!!

    Ce que je souhaite c'est que au fur et à mesure des choix faits par l'utilisateur, la page 'accueil.php' soit réaffichée en fonction des choix fait, avec un affichage de leur choix...

    Je precise aussi que lorsque j'execute 'choixPAC.php' tout seul directement tout fonctionne tres bien...

    Donc est ce que je m'y suis bien prise dans la methode pour faire ce que je souhaite ou est ce qu'il y a une meilleure facon de faire?Et bien sur est ce que quelqu'un sait d'ou vient mon probleme exprimé avant?

    Merci d'avance pour votre aide

    Laeti

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 48
    Points : 37
    Points
    37
    Par défaut
    j'ai le meme principe que toi mais je passe par des liens avec une info GET

    le code du lien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
    echo "<center><font face='papyrus'><a href='accueil.php?page=options'>Options du compte</a><br></font></center>";
    ?>
    et sur la page accueil.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
     
    <?php
    if (isSet($_GET['page']))
    {
    	$cle = $_GET['page'];
    }
    $page['options'] = "options_compte.php";
    // si on a cliqué sur un lien
    if (!empty($cle))
    {
    	//il includ la page choisie
    	include ("$page[$cle]");
    }
    else
    {
    	//ta pge par defaut
    }
    ?>
    j'utilise ca et ca marche tres bien

  3. #3
    Membre actif
    Inscrit en
    Juillet 2007
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 201
    Points : 241
    Points
    241
    Par défaut
    Déjà il y a des erreurs de syntaxe dans tes requêtes,

    revois tes requêtes et certaines de tes lignes de codes. J'en ai lu quelques unes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $sqlpac="select pac,client,nb_bulletins from pac where pac='".$pac."'";
    
    	if(mysql_num_rows(tarequete)!=0){
    		$tab_result=mysql_fetch_assoc($resultatclient);
    		$pac=$tab_result['pac'];
    		$nb_bulletins=$tab_result['nb_bulletins'];
    	};		
    
    
     $sqlclient="SELECT pac, client, nb_bulletins FROM pac WHERE client ='".$client."'";
    en plus si tu veux tester si une variable est renseignée ou non utilise isset... exemple if (isset($pac)){.......}
    Saches qu'il y a une différence entre NULL et null.
    En plus dans les propriétés de tes tables utilises les doubles quotes partout (parfois tu les utilises parfois non).

  4. #4
    Membre éprouvé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 909
    Points : 1 014
    Points
    1 014
    Par défaut et les sessions
    As-tu essayé avec les variables de sessions? Car tu récupères les variables POST mais pour perdurer d'un script à l'autre il faut que PHP puisse les récupérer. Et les variables superglobales $_POST n'ont pas la même portée que les variables $_SESSION.
    Business, Stratégie, Leadership
    Toujours à l'écoute du marché : Surtout en Suisse ! ;-)

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 60
    Points : 30
    Points
    30
    Par défaut
    Merci à tous pour vos réponses

    En ce qui concerne les erreurs de syntaxe dans mes requetes, elles fonctionne tel quel et justement (chose bizarre oui je sais) si je mets les quotes, ca ne fonctionne plus (enfin bon c'est pas la le probleme)...

    J'ai deja essayer avec les sessions mais j'ai beaucoup de mal à l'adapter à mon cas (en general, les sessions sont utilsées dans les cas de connexions de login, et sont effacés au bout d'un moment, ce qui n'est pas top dans mon cas...)

    Merci aussi pour l'info entre la difference entre null et NULL je ne savais pas ca!

    Bon je vais essayer de voir du coté des isset et aussi en passant par la methode get...

    Merci encore pour votre aide!!

    Laeti

  6. #6
    Membre éprouvé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 909
    Points : 1 014
    Points
    1 014
    Par défaut c'est quoi la différence?
    Citation Envoyé par laetiheu
    Merci aussi pour l'info entre la difference entre null et NULL je ne savais pas ca!
    ----
    |
    Selon le manuel PHP:
    Il y a seulement une valeur de type NULL et c'est le mot-clé NULL, insensible à la casse.
    |
    -----

    Vu que NULL est insensible à la casse, il faudra que l'on m'explique quelle est la différence.
    Business, Stratégie, Leadership
    Toujours à l'écoute du marché : Surtout en Suisse ! ;-)

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 60
    Points : 30
    Points
    30
    Par défaut
    c'est bien ce qui me semblais.... Si quelqu'un d'autre pouvait nous eclairer sur la question...

Discussions similaires

  1. [JpGraph] Plusieurs graphes sur une même page
    Par Dam1en dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 28/12/2007, 23h13
  2. [AJAX] Plusieurs autocomplétion sur la même page
    Par Death83 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 20/11/2007, 11h19
  3. Réponses: 2
    Dernier message: 18/07/2007, 08h38
  4. Affichage de plusieurs graphiques sur une même form
    Par redpulse dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 02/02/2007, 08h41
  5. [C#][SVG] Combinaison de plusieurs graphe sur une même page
    Par doudoustephane dans le forum ASP.NET
    Réponses: 2
    Dernier message: 22/11/2006, 09h19

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