29. juni 2012 - 20:17Der er
27 kommentarer og 1 løsning
Fra database til Session
Hej her inde :o)
Jeg har et problem, som jeg håber der er en der kan hjælpe mig med. Jeg forsøger at huske nogle data fra min database i MySQL til min session. Men den vil bare ikke huske dem. Jeg får den skrevet til min session, men når jeg så forsøger at læse dem igen, melder den at den ikke kan åbne den.
function OpenSession() { if (!@session_start()) return array(FALSE); if ($_SESSION['vare']) return array(TRUE);
$vars = array(); $vars[] = $_SESSION['vare']; $vars[] = $_SESSION['varenr']; $vars[] = $_SESSION['antal']; $vars[] = $_SESSION['pris']; $vars[] = $_SESSION['id']; return array(TRUE, $vars); } Men så viser den ikke det der står i databasen. Viser dog de echo "vare: $vare\n"; echo "varenr: $varenr\n"; echo "antal: $antal\n"; echo "pris: $pris\n"; echo "id: $id\n"; Bare uden det der står i databasen.
Jeg prøvede uden isset. Når jeg siger true, for som du siger. så vil den bare komme med en tom array. Så ville der komme noget frem, bare ikke det jeg forsøger at få ind i min session.
Er der noget jeg misforstår? Med hvilken del du skal bruge? Det er fordi de koder jeg bruger til session delen, er det der står i #2 og #3. Og det er der jeg ikke kan finde problemet. #3 skulle gerne oprette. Og #2 skulle gerne få de oplysninger frem.
// formoder at denne funktion ligger i en anden fil function OpenSession() { /* Ved denne metode opstår der ikke warnings med mere hvis session_start() har været kaldt */ if(!isset($_SESSION)) { session_start(); }
// Nedenstående vil returnere FALSE hvis $_SESSION['vare'] er sat // if (isset($_SESSION['vare'])) return array(FALSE);
// Opret $vars hvis $_SESSSION['vare'] er sat if(isset($_SESSIOn['vare']) { $vars = array(); $vars[] = $_SESSION['vare']; $vars[] = $_SESSION['varenr']; $vars[] = $_SESSION['antal']; $vars[] = $_SESSION['pris']; $vars[] = $_SESSION['id'];
Nu vil du se at der er oprettet en fil i den mappe som du fandt ved hjælp af php_info.php og navnet er vis i browser, kan dog have fået et prefix = sess_.
Dette script vil gemme $_SESSION['vare'] i filen
<?php session_start() $_SESSION['vare'] = "Godt vejr i resten af ugen"; ?>
husk at $_SESSION variabler udløber efter et vist tidsrum hvis bruger ikke har været aktiv.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.