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 :

Transfert de variables entre 2 sessions


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Lenezir
    Inscrit en
    Février 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Février 2006
    Messages : 129
    Par défaut Transfert de variables entre 2 sessions
    Salut ^^
    J'ai un problème avec un transfert de variables entre sessions.
    J'ai un fichier supprime2.php qui doit renvoyer vers supprime3.php.
    Dans le premier fichier, $_POST['ID'] fonctionne très bien mais quand, dans supprime3.php je veux le récupérer avec un $_SESSION['ID'] == $_POST['ID'], ma variable $sql2 m'affiche la requête avec un trou à la place de $_POST['ID'].
    J'ai beaucoup cherché mais sans succès.
    Aurais-je oublié quelque-chose ?
    Merci ! ^^

    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
    // supprime2.php
    <?php
    	session_start();
    	mysql_connect("localhost", "root", "");
    	mysql_select_db("videotheque");
    	// Requête SQL
    	$_SESSION['ID'] == $_POST['ID'];
    	$titre1 = mysql_query("SELECT Titre FROM films WHERE ID = '".$_POST['ID']."'") or die(mysql_error());
    	$titre2 = mysql_fetch_array($titre1);
    	if(isset($_POST['ID']))
    	{
    		$champID = $_POST['ID'];
    		echo "<html>";
    			echo "<head>";
    			echo "</head>";
    			echo "<body>";
    				echo "<form name='confirm' action='supprime3.php'>";
    				echo "Voulez-vous vraiment supprimer le film ayant pour ID '".$_POST['ID']."' et pour titre '".$titre2[0]."' ?<br/>";
    					echo "<input type='submit' value='Oui' />";
    					echo "<input type='reset' value='Non' />";
    				echo "</form>";
    				echo "<p>";
    					echo "<a href='video.php'>Retour &agrave; l'accueil</a>";
    				echo "</p>";
    			echo "</body>";
    		echo "</html>";
    	}
    ?>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    // supprime3.php
    <?php
    	session_start();
    	mysql_connect("localhost", "root", "");
    	mysql_select_db("videotheque");
    	$_SESSION['ID'] == $_POST['ID'];
    	$ID1 = mysql_query("SELECT ID FROM films WHERE ID = '".$_POST['ID']."'") or die(mysql_error());
    	$ID2 = mysql_fetch_array($ID1);
    	$sql2 = "DELETE FROM films where ID = '$ID2'";
    	//$supprf = mysql_query($sql2) or die(mysql_error());
    	//header("Location: video.php");
    	echo $sql2;
    ?>

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    1 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 125
    Par défaut
    Essai de detruire ta variable de session avant l'affectation de la nouvelle


    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
     
    // supprime3.php
    <?php
    	session_start();
    	mysql_connect("localhost", "root", "");
    	mysql_select_db("videotheque");
            unset($_SESSION['ID']);
    	$_SESSION['ID'] == $_POST['ID'];
    	$ID1 = mysql_query("SELECT ID FROM films WHERE ID = '".$_POST['ID']."'") or die(mysql_error());
    	$ID2 = mysql_fetch_array($ID1);
    	$sql2 = "DELETE FROM films where ID = '$ID2'";
    	//$supprf = mysql_query($sql2) or die(mysql_error());
    	//header("Location: video.php");
    	echo $sql2;
    ?>

  3. #3
    Membre chevronné Avatar de johweb
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2003
    Messages
    342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 342
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['ID'] == $_POST['ID'];
    ou bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['ID'] = $_POST['ID'];
    ?

    ^^

  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    1 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 125
    Par défaut
    Citation Envoyé par johweb Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['ID'] == $_POST['ID'];
    ou bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['ID'] = $_POST['ID'];
    ?

    ^^
    J'avais pas vu

    Oui c'est vrai, commence par ca déja

  5. #5
    Membre confirmé Avatar de Lenezir
    Inscrit en
    Février 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Février 2006
    Messages : 129
    Par défaut
    Merci beaucoup pour vos réponses !
    La méthode de crashyear a marché !

    Le unset d'afrodje n'a pas marché mais merci, ça me servira sûrement un jour ou l'autre !

    Et je saurai qu'il faut mettre un seul = entre une variable de session et une de post !

    Merci à tous !!!

  6. #6
    Membre éclairé Avatar de crashyear
    Homme Profil pro
    Responsable d’exploitation informatique
    Inscrit en
    Janvier 2006
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Responsable d’exploitation informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2006
    Messages : 267
    Par défaut
    Je pense que si tu fais ca dans supprime2.php ca focntionnera mieu :
    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
     
    // supprime2.php
    <?php
    	session_start();
    	mysql_connect("localhost", "root", "");
    	mysql_select_db("videotheque");
    	// Requête SQL
    	$_SESSION['ID'] == $_POST['ID'];
    	$titre1 = mysql_query("SELECT Titre FROM films WHERE ID = '".$_POST['ID']."'") or die(mysql_error());
    	$titre2 = mysql_fetch_array($titre1);
    	if(isset($_POST['ID']))
    	{
    		$champID = $_POST['ID'];
    		echo "<html>";
    			echo "<head>";
    			echo "</head>";
    			echo "<body>";
    				echo "<form name='confirm' action='supprime3.php' method='POST'>";
    				echo "Voulez-vous vraiment supprimer le film ayant pour ID '".$_POST['ID']."' et pour titre '".$titre2[0]."' ?<br/>";
    					echo "<input type='submit' value='Oui' />";
    					echo "<input type='reset' value='Non' />";
    echo "<input type='hidden' id='ID' name='ID' value='".$_POST['ID']."' />";
     
    				echo "</form>";
    				echo "<p>";
    					echo "<a href='video.php'>Retour &agrave; l'accueil</a>";
    				echo "</p>";
    			echo "</body>";
    		echo "</html>";
    	}
    ?>
    Je m'explique :
    Tu veux dans supprime3.php recuperer $_POST['ID'], mais tu n'as pas ce champ dans ton formulaire de supprime2.php donc c'est normal qu'il ne te le trouve pas.
    Je t'ai rajouté un champ caché (que j'ai nommé ID) dans lequel tu met la valeur de $_POST['ID'], et comme ca dans supprime3.php tu pourras recup le $_POST['ID'] du formulaire de supprime2.php.
    Et n'oublie pas de mettre method='POST' dans la balise FORM de supprime2.php

    J'espère que ca t'aideras.

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

Discussions similaires

  1. Partage de variable entre les sessions
    Par zinia dans le forum Servlets/JSP
    Réponses: 20
    Dernier message: 21/07/2008, 17h20
  2. Partager variables entre plusieurs sessions ?
    Par fredtheman dans le forum Langage
    Réponses: 7
    Dernier message: 16/05/2008, 21h07
  3. Problème de transfert de variable entre Flash et PHP
    Par megartaud dans le forum Intégration
    Réponses: 3
    Dernier message: 06/04/2008, 01h25
  4. Réponses: 9
    Dernier message: 07/08/2007, 22h46
  5. Réponses: 8
    Dernier message: 19/07/2007, 10h50

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