Afficher ma $_SESSION après un traitement formulaire sur la même page

Signaler
Messages postés
24
Date d'inscription
lundi 13 septembre 2010
Statut
Membre
Dernière intervention
29 septembre 2011
-
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
-
Bonjour, voilà mon problème, j'ai une administration ou je me sert bien-sure d'un formulaire avec un traitement qui si ce traitement et réaliser correctement j'affiche ma $_SESSION sur la même page, il se trouve que en détruisant ma variable de session en fin de la page par un
<?php $_SESSION['nomVariable'] =  array();?>

elle ne s'affiche pas, parcontre si j'enleve
<?php $_SESSION['nomVariable'] = array();?>
en fin de page elle s'affiche mais reste toujours afficher meme si je change de page et quand je reviens sur la page elle et toujours afficher, mon probleme et que je souhaiterais afficher une variable de $_SESSION sur la même page mais après avoir actualisé la page je souhaite la faire disparaitre.

Mon morceau de Code:

<?php
session_start();
require "../imgClass.php";
require "../config.php";
mysql_connect(DB_HOST,DB_LOGIN,DB_PASS);
mysql_select_db(DB_BDD);
mysql_query('SET NAMES '.DB_ENC);

function query($query)  
{  
$query = mysql_query($query) or exit('Erreur SQL !
'.$query.'
'.mysql_error());  
return $query;  
}

if(isset($_POST['id'] )) 
{ 
    //c'est ici, si id n'est pas un nombre on peut arrêter le traitement de l'update 
    if(!ctype_digit($_POST['id'])) {  
        // Ça fait un code html bizarre en sortit 
        exit('Erreur!
Tentative d\'injection SQL!
'); 
    }
    // Ceci "remplace" le extract() par quelque chose de plus concret et plus sécurisé :  
    $id = $_POST['id']; //id est un nombre pas besoin de le protéger 
    $titre = mysql_real_escape_string($_POST['titre']); 
    $description = mysql_real_escape_string($_POST['description']); 
    $lienYoutube = mysql_real_escape_string($_POST['lienYoutube']); 
      
   if(query("UPDATE videos SET 
   titre='". $titre ."',
   description='". $description ."', 
   lienYoutube='". $lienYoutube ."',
   date=NOW() WHERE id=". $id)) 
{
$_SESSION['editVideo'] = '
<li>Contenu vidéo  Modifier avec succée .</li>
<li class ="close-bt"></li>
';
header('location:video.php?id= '.$id.'');

}
else{
$nonmodif = "
<li> ERREUR  de modification du contnue vidéo !</li>
<li class ="close-bt"></li>
";
}
}
?>

3 réponses

Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
18
bonjour

$_SESSION['editVideo'] =  '
<li>Contenu vidéo  Modifier avec succée .</li>
<li class ="close-bt"></li>
';


pourquoi ne fais tu pas echo ?

echo '
<li>Contenu vidéo Modifier avec succée.</li>
<li class="close-bt"></li>
';


Bonne programmation !
Messages postés
24
Date d'inscription
lundi 13 septembre 2010
Statut
Membre
Dernière intervention
29 septembre 2011

Salut cod ^^ merci, en faite j'ai tous stocké dans une variable $resultat = '................'; et je l'affiche ailleurs dans ma page avec un if(isset.......) echo $resultat;
et ça fonctionne, mais je voulais surtout savoir pourquoi on ne peu pas afficher une variable de SESSION sur la meme page de traitement ??
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
18
tu peux
mais pour détruire une $_SESSION['tableau']['variable']
mieux utiliser unset($_SESSION['tableau']['variable']);

je sais pas ce qui est lié dans tes pages
mais tu peux faire

if('condition'){
$_SESSION['a']=$_SESSION['b']='valeur1';
}else{
$_SESSION['b']=null;
}

et dans une autre page
if($_SESSION['a']===$_SESSION['b']){ ...
}else{
}

Bonne programmation !