Avatar billede c Nybegynder
01. juli 2003 - 19:52 Der er 5 kommentarer og
1 løsning

Problemer med sessions

Hejsa

Jeg har et problem med sessions, da jeg ikke kn læse dem fra add.php siden.

jeg er først lige begyndt at arbejde med sessions, og ved der for ikke så meget om det... nogen der kan hjælpe mig?

mvh
Christian

login.php
<?
session_start();
function aaben_mysql() {
  $server = "localhost";
  $bruger = "xxxxxxxx";
  $kodeord = "xxxxxxx";
  $database = "xxxxxxxxxx";
  if (!mysql_connect("$server","$bruger","$kodeord")) {
    print("Kunne ikke oprette en forbindelse til MySQL.");
  }

  if(!mysql_select_db("$database")) {
    print("Kunne ikke vælge databasen: $database");
  }
};//mysql tænd

function luk_mysql() {
  if(!mysql_close()) {
    print("Kunne ikke lukke forbindelsen til MySQL!");
  }
};//mysql luk

//hvis form er submittet
if (isset($brugernavn) && isset($brugerpassword)) {
   
//password i databasen er krypteret, så det gøres også med indtastet password
$dopass = md5($brugerpassword);
aaben_mysql();
$tjek = mysql_query("SELECT navn, status FROM brugere WHERE
brugernavn='".$brugernavn."' AND password='".$dopass."'");
if(mysql_num_rows($tjek) != 0) {
        $_SESSION['sessionnr'] = session_id();
        $_SESSION['navn'] = $var["navn"];
        $_SESSON['Status'] = $var["status"];
        session_register("sessionnr");
        session_register("navn");
        session_register("Status");
        $sessionnr = session_id();
        $navn = $var["navn"];
        $Status = $var["Status"];
        print("<meta http-equiv=\"refresh\"
content=\"0;url=add.php?PHPSESSID=".$sessionnr."\" />");
        print($navn);
        exit;
    }else{
        header("Location:logind.php?error=fejl");
        exit;
    }
}else{
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
    <title>Nyt dokument</title>
<meta name="generator" content="TSW WebCoder">
</head>

<body>
<form method="post" action="login.php">
<table>
<tr>
    <td>Brugernavn:</td>
    <td><input type="text" size="20" name="brugernavn"></td>
</tr>
<tr>
    <td>Password:</td>
    <td><input type="password" size="20" name="brugerpassword"></td>
</tr>
<tr>
    <td></td>
    <td><input type="submit" value="Login"></td>
</tr>
</table>
</form>


</body>
</html>
<?
};
?>
add.php
<?
session_start();
include('funktioner.php');
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
    <title>Nyt dokument</title>
<meta name="generator" content="TSW WebCoder">
</head>

<body>
<?
print($_SESSION['navn']."<br>");
if (isset($_SESSION['Status'])){
    if ($side == "add_user") {
        if ($_SESSION['Status'] == 1){
            print("<form action='add.php'>");
            print("<input type='hidden' name='side' value='save_user'>");
            print("<table><caption>Opret
Bruger</caption><tr><td>Brugernavn:</td><td><input type='text'
name='brugernavn' size='20'></td></tr>");
            print("<tr><td>Password:</td><td><input type='password' name='password'
size='20'></td></tr>");
            print("<tr><td>Status:</td><td>");
            print("<select name='status'>");
            print("<option value='1'>Admin</option>");
            print("<option value='2'>Coadmin</option>");
            print("</select>");

            print("</td></tr>");
            print("<tr><td>Navn:</td><td><input type='text' name='navn'
size='20'></td></tr>");
            print("<tr><td>Email:</td><td><input type='text' name='mail'
size='20'></td></tr>");
            print("<tr><td></td><td><input type='submit'
value='Opret'></td></tr></table>");
            print("</form>");
        }else{
            $side = "add_news";
        };
    };
    if ($side == "save_user") {
        if ($_SESSION['Status'] == 1){
            aaben_mysql();
            mysql_query("INSERT INTO Brugere (brugernavn, password, navn, email, status)
VALUES ('".$brugernavn."',
'".md5($password)."','".$navn."','".$mail."','".$status."')");

            luk_mysql();
        }else{
            $side = "add_news";
        };
    };
    if ($side == "add_news") {
        if ($_SESSION['Status'] == 1 || $_SESSION['Status'] == 2){

            print("<form action='add.php' name='news'>");
            print("<input type='hidden' name='side' value='save_news'>");
            print("<table>");
            print("<tr>");
            print("<td>Lead billede</td>");
            print("<td></td>");
            print("</tr>");
            print("<tr>");
            print("<td>Overskrift</td>");
            print("<td><input type='text' name='overskrift'
size='20'></td>");
            print("</tr>");
            print("<tr>");
            print("<td vlaing='top'>Nyhed:</td>");
            print("<td><textarea name='nyhed'></textarea></td>");
            print("</tr>");
           
            print("<tr>");
            print("<td>Billede 1</td>");
            print("<td><input type='text' name='img1' size='20'></td>");
            print("</tr>");
            print("<tr>");
            $i=1;
            while ($i<=10) {
                print("<tr>");
                print("<td>Billede $i</td>");
                print("<td><input type='text' name='img.$i'
size='20'></td>");
                print("</tr>");
                print("<tr>");
                $i++;
            };

            print("<tr>");
            print("<td></td>");
            print("<td><input type='submit' name='post' value='gem'></td>");
            print("</tr>");
            print("</table>");
            print("</form>");


        }else{
            $side = "fejl";
        };
    };
    if ($side == "save_news") {
        if ($_SESSION['Status'] == 1 || $_SESSION['Status'] == 2){
            aaben_mysql();
            mysql_query("INSERT INTO Brugere (brugernavn, password, navn, email, status)
VALUES ('".$_GET['brugernavn']."',
'".md5($_GET['password'])."','".$_GET['navn']."','".$_GET['mail'
]."','".$_GET['status']."')");
            luk_mysql();
        }else{
            $side = "fejl";
        };
    };
    if ($side == "fejl") {
        print("Der er sket en fejl. Log venligst ind igen.");       
    };
}else{
    print("Der er sket en fejl. Log venligst ind igen.");
};
?>
</body>
</html>
Avatar billede detox Nybegynder
01. juli 2003 - 20:14 #1
Det ser ud til, at du mangle at fetche dit resultat:
$dopass = md5($brugerpassword);
aaben_mysql();
$tjek = mysql_query("SELECT navn, status FROM brugere WHERE
brugernavn='".$brugernavn."' AND password='".$dopass."'");
if(mysql_num_rows($tjek) != 0) {
$var = mysql_fetch_array($tjek);
        $_SESSION['sessionnr'] = session_id();
        $_SESSION['navn'] = $var["navn"];
        $_SESSON['Status'] = $var["status"];
Avatar billede detox Nybegynder
01. juli 2003 - 20:26 #2
Forøvrigt skulle det ikke være nødvendigt at registrere dine sessions flere gange:
$_SESSION['sessionnr'] = session_id();
        $_SESSION['navn'] = $var["navn"];
        $_SESSON['Status'] = $var["status"];
        session_register("sessionnr");
        session_register("navn");
        session_register("Status");
Du kan nøjes med:
$_SESSION['sessionnr'] = session_id();
        $_SESSION['navn'] = $var["navn"];
        $_SESSON['Status'] = $var["status"];
Avatar billede c Nybegynder
01. juli 2003 - 20:28 #3
dette er rettet... men det virker stadig ikke...
Avatar billede detox Nybegynder
01. juli 2003 - 20:42 #4
Dine forms mangler en method="post" og når du så henter dem fra add.php skal du bruge fx: $_SERVER['brugernavn'];
Avatar billede c Nybegynder
01. marts 2004 - 22:37 #5
hmm... jeg har vidst fået det til at virke.. men kan ikke huske hvordan.. skriv et svar hvis du vil have points.
Avatar billede detox Nybegynder
01. marts 2004 - 23:52 #6
Ok, så.
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

IT-JOB

Capgemini Danmark A/S

AI Data Architect

Capgemini Danmark A/S

Java Engineer

Jyske Bank

AI-udvikler