Avatar billede cdygaard Nybegynder
16. oktober 2004 - 14:26 Der er 5 kommentarer og
1 løsning

isset true, value lig ingenting

Jeg har et lidt mystisk problem med min php kode. Først tjekker jeg en post variabel $user, og senere en sessions variabel, hvorefter jeg kører en if som returnerer true hvis en af variablerne har en værdi. Problemet er bare at den returnerer true selvom variablerne ikke har noget værdi. Min kode ser sådan ud:

$user = isset($HTTP_POST_VARS["useruid"]) ? $HTTP_POST_VARS["useruid"] : '';

print ($user . " first.<br/>");
       
if (isset($_SESSION["user"]) AND $user == "") { $user = $_SESSION["user"]; }

print ($user . " second.<br/>");       
       
if (!$user == "") { session_register($user); } else { print ("Session not registered.<br/>"); }

// Get user name:
       
if (isset($_SESSION["user"]) || isset($user)) {
           
    print ("isset<br/>");

    $conn = mysql_connect(DB_HOST, DB_USER, DB_PASS)
    or die ("Could not connect: ".mysql_error());
    $sql = "SELECT fornavn_VC, efternavn_VC, fødselsdag_DT FROM " . DB_NAME . ".Brugere_T";
    $sql .= " WHERE primarykey_IN = '";
           
    if (isset($_SESSION["user"])) { $sql .= $_SESSION["user"]; } else { $sql .= $user; }
               
    $sql .= "'";
    print ($sql . "<br/>"); ...

Mit output ser sådan ud:

first.
second.
Session not registered.
isset
SELECT fornavn_VC, efternavn_VC, fødselsdag_DT FROM net_db.Brugere_T WHERE primarykey_IN = ''

Hvad er der galt?
Avatar billede htm Nybegynder
16. oktober 2004 - 14:28 #1
isset() tjekker kun om variablen er sat, dvs. at test på denne variabel $var = ""; vil returnere sandt.
Hvis du vil tjekke om den er tom skal du bruge empty() - http://dk2.php.net/empty
Avatar billede cdygaard Nybegynder
16. oktober 2004 - 14:32 #2
Tak for det, giv lige et svar.
Avatar billede htm Nybegynder
16. oktober 2004 - 14:33 #3
OK :-), men læg også selv et svar - dette spørgsmål er ikke 100 point værd.
Avatar billede cdygaard Nybegynder
16. oktober 2004 - 14:49 #4
Måske kan du svare mig på hvorfor $_SESSION["user"] ikke har nogen værdi når iframen bliver kørt igen. Så får du 100 point.
Avatar billede htm Nybegynder
16. oktober 2004 - 14:59 #5
Du bruger session_register sammen med $_SESSION det er ikke godt... læs her: http://dk2.php.net/session_regiester

If you are using $_SESSION  (or $HTTP_SESSION_VARS), do not use session_register(), session_is_registered(), and session_unregister().

Og så kan det godt være at sessions først er til stede på næste side.
Avatar billede cdygaard Nybegynder
16. oktober 2004 - 15:09 #6
Tak ;0)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester