Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/10/2006, 20h27   #1
Invité de passage
 
Inscription : juin 2006
Messages : 5
Détails du profil
Informations personnelles :
Âge : 51
Localisation : Canada

Informations forums :
Inscription : juin 2006
Messages : 5
Points : 0
Points : 0
Par défaut [Sécurité] Actualisation au 2ième click

Bonjour,
J'ai un site web avec plusieurs feuille de style et je travaille sur une page qui permet de visualiser la feuille de style choisi et de la modifier.

Mon problème est qu'il affiche la feuille de style sur le 2 ième click.
Voici mon code

Page hote
Code :
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
 
<?php
require ("include/header_home.php");
?>
 
<body>
 
<?php
$modify= $_POST['modify'];
//echo "#0 modify = " . $modify . "<br />";	
$style = $_POST['style'];
echo "#0 style = " . $style . "<br />";	
$change_css = $_POST['change_css'];
//echo '#0b change_css = ' . $change_css . '<br />';
$select_css = $_POST['select_css'];
 
?>
 
<div class="update_css">
<h2 style="text-align: center">Bienvenue au site de modification des styles<br />du site web Canadien du Siddha Yoga</h2>
 
<p>
Vous trouverez ici la possibilité de changer de "style" du site selon les choix possibles.<br />
Qu'est-ce qu'un style?<br />
C'est l'aspect visuel que vous voyez toujours.<br />
Voyez vous, il est possible de changer de "look" simplement en sélectionnant un style donné.<br />
Esssayer pour voir, et vous verrez par vous-même!
</p>
 
<?php
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//		TEST 	FONCTION      POUR LISTE DÉROULANTE ( GARDER LA DERNIÈRE SÉLECTION AFFICHÉ)
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
function DernierChoix($select_css) // Création de la fonction
{
$dernier_choix = ''; // On crée une variable (vide par défaut) que l'on retournera à la fin
 
    if (isset($_POST['select_css'])) // Si le visiteur a choisi une couleur
    {
        if ($_POST['select_css'] == $select_css) // Si cette couleur correspond à la couleur que l'on est en train de traiter
        {
            $dernier_choix='selected="selected"'; // Alors on modifie la variable que l'on retournera et on lui met selected
        }
    }
return $dernier_choix; // On ne retourne rien si ce n'était pas la couleur choisie, la variable selected si c'était la dernière couleur choisie
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//         TEST	 ON SÉLECTIONNE LA FEUILLE CSS SUR LA LISTE DÉROULANTE
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
?>
 
<p>La dernière feuille de style qui a été sélectionné (et qui est affiché présentement) est :
<b><span class="bleu"><?php echo $test_style;?></span></b></p>
<p>LA PAGE <b>[home.php]</b> AFFICHE LE STYLE : <b><span class="bleu"><?php echo $online_style; ?></span></b> &nbsp;&nbsp;PRÉSENTEMENT</p>
 
<?php// if (($modify != 'oui') and ($change_css == ''))
//{?>
 
<div id="select" style="text-align: center" class="bord_orange">
<form method="post" action="test_choix_css.php">
	<label><p>Sélectionnez le style que vous désirez <b>VISUALISER</b> et cliquez sur :   <b>Ok</b></p>
		<select name="select_css">	
		<?php
		$reponse = mysql_query("SELECT * FROM style");
		while ($donnees = mysql_fetch_array($reponse) )
		{
		$id= $donnees['id'];
		$css= $donnees['css'];
		?>
		<option value=<?php echo '"' . $id  . '"' . DernierChoix($id);?>> <? echo $css ;?></option><br />
		<?php
		}
		?>
		</select>
	</label>
<?php
//echo 'test_style sur [test_choix_css.php] = ' . $test_style . '<br />';
 
///////////////////////////////////////////////////////////////////////////////////////////
//		TEST                UPDATE css SUR LA TABLE choose_css
///////////////////////////////////////////////////////////////////////////////////////////
 
if (isset ($select_css)) // SI ON A FAIT UN CHOIX DANS LA LISTE DÉROULANTE (ON A UN id)
	{
	$reponse = mysql_query("SELECT css FROM style WHERE id='$select_css'");
	if(!$reponse) die (mysql_error());
	$donnees = mysql_fetch_array($reponse);				
	$style= $donnees ['css'];//ici problème
	mysql_query("UPDATE choose_css SET css='$style' WHERE id='test'");
	echo 'style sur [test_choix_css.php] = ' . $style . '<br />';
	}
?>
<input type="submit" value="OK" /><br /> <!-- créé select_css-->
</form>
Page header_home.php
Code :
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
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="EN" >
<head>
 
<!--///////////////////////             QUESTION       //////////////////////////////-->
<!--
		EST-CE QUE L ON A LE MÊME  META POUR CHAQUE PAGE?
						OU
				ON FAIT UN  META.PHP
-->
 
<!--<title>La méditation Siddha Yoga au Canada / Siddha Yoga Meditation in Canada</title>-->
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="Title" content="Siddha Yoga meditation in Canada">
<meta name="Author" content="Rob Carpenter, Yvan Dubé">
<meta name="Description" content="The Siddha Yoga  practices in Canada give us the means to live in alignment with the philosophy of the Siddha Yoga meditation path.">
<meta name="Keywords" content="Siddha Yoga Meditation, Siddha Yoga Practices, Spiritual Practices, Siddha Yoga, God-Realization, Inner Self, Hatha Yoga, Philosophy, Path, Practices, Service, Grace, Guru, Shaktipat, Siddha, Initiation, Seeker, Enlightenment, Ashram, Meditation, Chanting, Seva, Dakshina, Study, Satsang, Contemplation, Yoga, Retreat">
 
<?php
require ('include/connection_db.php');  // ON SE CONNECTE
require ("include/determine_language.php");
 
/* $current_page = "home.php";
$mess = ARRAY("La méditation Siddha Yoga au Canada","Siddha Yoga Meditation in Canada");
echo "<title>" . $mess[$language] . "</title>";
 */
$current_page = "test_choix_css.php";
echo '<title>' . $current_page . '</title>';
 
?>
 
<!--Google Analytic-->
<script type="text/javascript" src="http://www.google-analytics.com/urchin.js"></script>
<script type="text/javascript">
_uacct = "UA-131642-1";
urchinTracker();
</script>
<script type="text/javascript" src="include/misc_func.js"></script>
 
<?php
require ("include/determine_style.php");// POUR DÉTERMINER LE STYLE
//echo 'online_style sur[header_home.php] = ' . $online_style . '<br />';
echo 'test_style sur [header_home.php] = ' . $test_style . '<br />';
?>
<link rel="stylesheet" type="text/css" name="online" href="style/<?php echo $online_style ;?>" />
<link rel="stylesheet" type="text/css" name="test" href="style/<?php echo $test_style ;?>" />
<link rel="stylesheet" type="text/css" name="test_choix_css" href="style/test_choix_css.css" />
 
<?php
//include "photo_albums/album_index.php"; // ??????????????
?>
 
</head>
Page determine_style.php

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
<?php
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//          POUR LOADER LE CSS ONLINE DE LA PAGE D'ACCUEIL
 
$online_style="";// ON CRÉÉ UNE VARIABLE
$reponse = mysql_query("SELECT css FROM choose_css WHERE id='online'");//ID =  1 c'est le CSS ON LINE
if(!$reponse) die (mysql_error());
$donnees = mysql_fetch_array($reponse);				
$online_style =$donnees['css'];
//echo  "online_style sur [include/determine_style.php] = " . $online_style . "<br />";
 
echo  "#0 test_style sur [include/determine_style.php] = " . $test_style . "<br />";
 
$reponse = mysql_query("SELECT css FROM choose_css WHERE id='test'");
if(!$reponse) die (mysql_error());
$donnees = mysql_fetch_array($reponse);
$test_style =$donnees['css'];
echo  "#1 test_style sur [include/determine_style.php] = " . $test_style . "<br />";
//$test_style= null;
 
?>
Comme la base de donnée est mise à jour, je me demande pourquoi la feuille de style n'est pas affiché

Merci pour l'aide,

Yvan
yvandube est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2006, 04h55   #2
Inscrit
 
Avatar de is_null
 
Inscription : octobre 2006
Messages : 637
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 637
Points : 690
Points : 690
Au sujet du code, je vous recommande vivement la lecture de cet article sur PHP Secure, au sujet de l'acèptisation des variables utilisées dans les requêtes, tout particulierement.
__________________
Q: Dois-je haïr et cogner sur Microsoft ?
R: Non, vous n'êtes pas obligé. Non pas que Microsoft n'est pas écoeurant, mais il y avait une culture hacker bien avant Microsoft et il y en aura une bien après que Microsoft aura été de l'histoire ancienne. Toute énergie dépensée à haïr Microsoft serait mieux employée par vos compétences et votre passion. Écrivez du bon code, cela brisera suffisamment Microsoft sans polluer votre karma.
Comment devenir un hacker ? par Eric Steven Raymond
is_null est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2006, 19h07   #3
Invité de passage
 
Inscription : juin 2006
Messages : 5
Détails du profil
Informations personnelles :
Âge : 51
Localisation : Canada

Informations forums :
Inscription : juin 2006
Messages : 5
Points : 0
Points : 0
Merci pour le conseil,

Je débute et j'ai l'intention de faire valider mon code sur l'aspect sécurité & codage en général.

Est-ce que quelqu'un aurais une idée de pourquoi ma page n'a pas la bonne feuille de style, même si la table est modifié.

Je me dis que si la table est modifié que l'affichage devrait être modifié.

En tout cas

Merci pour l'aide
yvandube est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h40.


 
 
 
 
Partenaires

Hébergement Web