Rechercher : dans
Par :

Affectation d'une variable de session

Dernière réponse le 21 aoû 2008 à 16:44:37 sfl, le 21 aoû 2008 à 13:34:19 
 Signaler ce message aux modérateurs

Bonjour,

je souhaiterais affecter une variable de session par click sur un lien. Est-ce possible ?

Configuration: Windows XP
Firefox 2.0.0.16

Meilleures réponses pour « Affectation d'une variable de session » dans :
VBScript - Les variables VoirLe concept de variable Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Il s'agit en fait d'une zone de la mémoire réservée pour le stockage d'une valeur. Les...
ASP - L'objet Session VoirIntroduction aux sessions Le protocole HTTP est un protocole non connecté (on parle aussi de protocole sans états, en anglais stateless protocol), cela signifie que chaque requête sur une page web est traitée indépendamment des autres et qu'aucun...
Javascript - Les variables VoirLe concept de variable Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. En Javascript, les noms de variables peuvent être aussi long que l'on désire,...

1

BlackDrag00n, le 21 aoû 2008 à 13:36:31

Tu fait une fonction avec un Onclick sur le lien qui execute la fonction en question

Répondre à BlackDrag00n

2

sfl, le 21 aoû 2008 à 13:39:31

Ok, la fonction doit donc affecter in $_SESSION['toto'] = tata et aller à une page tutu.html

Tu pourrais me donner le code associe, du lien jusqu'au contenu de la fonction ?

Merci à toi.

Répondre à sfl

3

BlackDrag00n, le 21 aoû 2008 à 13:42:41

Donc quand on click sur le lien $_SESSION['toto'] contien tata et sa te redirige sur une page tutu.html ?
et tous cela sur un click d'un lien ?

Répondre à BlackDrag00n

4

sfl, le 21 aoû 2008 à 13:46:04

Oui, c'est cela :

1) clic sur lien (texte ou image)
2) affectation variable session
3) va a la page tutu.html

Répondre à sfl

5

BlackDrag00n, le 21 aoû 2008 à 14:01:29

Ouki je te fait sa

Répondre à BlackDrag00n

6

sfl, le 21 aoû 2008 à 14:30:03

Ok, merci beaucoup !

Répondre à sfl

7

BlackDrag00n, le 21 aoû 2008 à 15:07:45

J'ai changer un peu le principe car avec une fonction sa marcher pas correctement :

Copie sa dans un fichier "index.php"
<?php
session_start();
$_SESSION['toto'] = "Aucune Valeur";

if(isset($_GET['activer'])) {
$_SESSION['toto'] = "tata";
echo '
<script language="JavaScript">
<!--
function changepage() {
window.location.href="tutu.php"
}
self.setTimeout("changepage()", 50 );
//-->
</script>';
}

echo '
<a href="index.php?activer">Changement de variable $_SESSION[\'toto\']=tata + Redirection !</a><br />
<br />
<a href="tutu.php">Redirection !</a>
';
?>


Copie sans dans "tutu.php" :
<?php
session_start();
?>

Voila la variable $_SESSION['toto'] contien : <?php echo $_SESSION['toto']; ?>

<br />

<a href="index.php">Retour</a>


Le principe et que si on clique sur un lien sa redirige sur la meme page avec un variable en plus dans l'adresse, et si le script detecte cette variable elle execute le changement de variable et la redirection ;)

Répondre à BlackDrag00n

8

-CCM-, le 21 aoû 2008 à 15:16:12

Salut, j'utilise les variables de session mais je me rends compte que sa ne correspond pas tout a fait a ce que je veux,

en faite j'ai une page d'accueil avec un nombre "$nbr" d'images.

Et je voudrais, en tant qu'admin, que ce soit moi qui modifie le nombre d'images (j'ai un mini espace d'administration).
pour qu'un jour j'affiche 2 images, le lendemain si je veux, j'en affiche 4 ....

En essayant avec les variables de session, par defaut la valeur est "0" puis c'est en fonction de la personne connecté ( en fonction de la session) que le nombre est changé ...


Pourrais tu me donner un coups de mains stp ?

Répondre à -CCM-

9

BlackDrag00n, le 21 aoû 2008 à 15:31:03

Utilise une Base de donnée pour ce genre de chose comme sa les 2 et 4 image sa sera pour tous le monde, car les sessions c'est pour 1 personne pas pour tous

Session => les variables sont personnalisé pour une personne (a l'aide de cookie et autre sur le serveur)
Base de donnée (Mysql) => sont stocket sur le serveur et tous le monde peut y avoir acces :)

Répondre à BlackDrag00n

10

-CCM-, le 21 aoû 2008 à 15:35:25

Merci, j'ai pensé a une base de donné mais il sa serait quoi le principe ?

Des que j'enregistre le nombre de photo a afficher, je doit ecraser la valeur precedente ?
C'est quoi comme requete ? replace ? (je ne sais même pas si sa existe ... )

Répondre à -CCM-

11

BlackDrag00n, le 21 aoû 2008 à 15:44:24

Faut que tu crée un base de donnée avec une table et des champs

exemple pour ton cas :

table -> configuration_site
champs -> nb_images

et tu indique la valeur numerique que tu veux dans le champs "nb_images" de la table "configuration_site"

tu pourra mettre a jour la valeur a l'aide de cette requete :

mysql_query("UPDATE configuration_site SET nb_images='X';");

Répondre à BlackDrag00n

12

-CCM-, le 21 aoû 2008 à 16:04:33

Pour ceux a qui sa interesserais,

j'ai pondu un petit bout de code ... sa a l'air de marcher mais la valeur "nombre" est recopier sur toute les lignes de la table (j'utilise une table deja existante) (pas grave)


<?php
		//  Choisir le nombre d'image à publier   
	if( isset($_POST['ok']) )// si formulaire soumis
	{ 
		if( isset($_POST['nbr']) )
		{	$nbr=$_POST['nbr'];	}
		if ($nbr!=0)
		{
			include '../XXXX.php';    //les variables de connexion host user passwd et bdd sont sur une autre page	 	
	        $cnx = mysql_connect($host, $user,$passwd) or die("erreur de connexion au serveur");
			$bdd = mysql_select_db($bdd) or die("erreur de connexion a la base de donnees"); 
 			mysql_query("UPDATE table_image SET nombre='$nbr';");
			echo '<p align="center"><span class="red">.:: Informations mise à jour ::.</span></p>';
		}
	}
?>	


avec un petit

$max = $row[3];
La table "image" existait deja, j'ai ajouter un dernier champs int (2) en fin de table ..

Merci

Répondre à -CCM-

13

BlackDrag00n, le 21 aoû 2008 à 16:18:38

Att je regarde sa

Répondre à BlackDrag00n

14

BlackDrag00n, le 21 aoû 2008 à 16:21:23

Moi sa fonctionne dans ma table "configuration_site"
j'ai 3 champs tous en int(11)
- nb_images
- deux
- trois

et quand j'ai executé sa :
mysql_query ("UPDATE configuration_site SET nb_images='3';");

j'ai que mon champs "nb_images" qui a été mis a jour.

Répondre à BlackDrag00n

15

-CCM-, le 21 aoû 2008 à 16:27:33

Ouais sa fonctionne aussi de mon coté :)
il faut juste faire gaffe de bien avoir le champs "nombre" existant sinon vous aurez quand même le message (nombre de photo mis a jour) alors que le champs est inexistant ..

Merci bien, dit moi tu tu es assez calé en php ?

Répondre à -CCM-

16

BlackDrag00n, le 21 aoû 2008 à 16:33:24

Oui assez lol je travaille en freelance pour des sociétés :) je fait leur site :)

Répondre à BlackDrag00n

17

-CCM-, le 21 aoû 2008 à 16:39:34

Wow ... moi je suis en train d'apprendre a développer en php je but pas mal des que sa devient complexe ... peut tu m'aider sur ce post stp ?? :

http://www.commentcamarche.net/forum/affich 7677232 php js affichage repertoire dans liste box#dernier

J'ai deux liste déroulante, une avec plusieurs valeurs en dur dans le code qui representent des dossiers
et une autre qui doit varier en fonction de la valeur de la liste 1 et des dossier present dans le repertoire indiqué par la liste 1


je veut en faite afficher la liste des dossier enfants dans ma liste deroulante 2..
je ne sais pas si j'ai été claire par contre :s

Répondre à -CCM-

18

 BlackDrag00n, le 21 aoû 2008 à 16:44:37

C'est pas tres clair lol mais je vais y allez voir (je suis pas chez moi la je suis au taff, donc je suis bridé au niveau des sites autorisé donc j'airai voir les sites plus tars si il faut allez les voirs, mais je vais jeter un oeil sur ton probleme)

ps : rdv sur l'autre topic mdr ;)

Répondre à BlackDrag00n