2012-03-27 6 views
2

Lorsqu'un liens utilisateur de faire le lien redirige vers edit.php - voici un exemple: www.cars.com/edit.php?id=23séance se perd après envoi du formulaire

En edit.php, j'utilise _GET pour stocker la valeur dans une session. La valeur est stockée dans $_session['user'] mais lorsque le formulaire sur la même page est soumis echo $_session['user'] n'affiche rien - comment puis-je lui faire afficher la valeur ?.

<?php 
session_start(); 
$_session['user']=$_GET['id']; // I use _GET to store the value in session 
if(isset($_POST['submit'])) { 
    echo $_session['user']; 

} 

<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" name="formI2D"  enctype="multipart/form-data" id="formI2D" /> 

+1

Est 'session_start()' en haut de * chaque * page? –

+0

sa seule page, et le formulaire est soumis à la même page – meWantToLearn

Répondre

2

Il est parce que vous redéclarant votre $ _SESSION [ 'user'], même quand il est un POST (je pense).

Vous pouvez résoudre ce problème en ajoutant ?id=$_GET['id'] en vous forme l'action, ou en enveloppant votre initialisation $_SESSION comme ça:

if (isset($_GET['id'])) { 
    $_SESSION['user']=$_GET['id']; 
} 

En outre, vous devez utiliser des majuscules pour les tableaux globaux php ($_POST, $_COOKIE, $_SESSION etc)

+1

lorsque le formulaire est soumis le $ _GET ['id'] n'est pas soumis – meWantToLearn

+0

Ensuite, utilisez la 2ème solution, ou vous pouvez également vérifier si (! Isset ($ _SESSION ['user'])) 'au lieu de' if (isset ($ _ GET ['id'])) ' – haltabush

+0

csci203) – meWantToLearn

Questions connexes