Avatar billede tras Juniormester
21. maj 2007 - 09:31 Der er 11 kommentarer og
1 løsning

Update min session?

Hej når man logger ind på min side oprettes der nogle sessions med username, color, text osv.

Ideen med dette er at den fra start af henter personens data og design på hjemmesiden. Jeg har lavet så man kan endre color på siden men man skal logge ud og ind igen for at opdatere dens session!

er der ikke en anden måde jeg kan opdatere min session gennem denne insert side.?

<?php
include("func.php");
DB::Conn("open");

if (isset($_POST['submit'])) {

if (!$_POST['color'] | !$_POST['username']) {
    Java::Alert("Du har glemt at skrive i alle felter!");
    Java::GoToURL("index.php?menu=konto&page=settings");
    die;
}

$_POST['color'] = strip_tags($_POST['color']);
$_POST['username'] = strip_tags($_POST['username']);

$color = $_POST['color'];
$username = $_POST['username'];
mysql_query("update tdf_users set color = '$color' WHERE username = '$username'") or die (Java::Alert("MySQL Error: ".mysql_error()));
Db::Conn(close);       
Java::Alert("Du har nu valgt nu fave, du skal logud før den er klar!");   
Java::GoToURL("index.php?menu=konto&page=settings");
}?>

Håber i kan hjælpe vil virkelig hjælpe mig meget
Avatar billede michael_stim Ekspert
21. maj 2007 - 09:34 #1
Men du har jo ikke din session med i den kode.
$_SESSION['color'] = "#121212";
Avatar billede tras Juniormester
21. maj 2007 - 09:35 #2
her er min login side..

<?php
include("func.php");
DB::Conn("open");
session_start();

// check is form is submittet

if (isset($_POST['submit'])) {
   
    // cleans up the username and password to work with the database, and to help prevent fraud logins
   
    $username = trim($_POST['username']);
    $password = md5(trim($_POST['password']));
   
    // if the username and / or password is empty report it to user and return
   
    if(!$username || !$password){
        Java::Alert("Du har glemt at skrive i alle felter!");
        Java::GoToURL("index.php?menu=konto&page=login");
        die;
    }
   
    // Searches the database for a user ho match the posted username
   
    $result = mysql_query("SELECT * FROM tdf_users WHERE username = '$username' LIMIT 1");
   
    // Loops through the result to match a user and password, then starts a session to keep them logged in
   
    while($r=mysql_fetch_assoc($result)){
   
        if(($r['username'] == $username) && ($r['password'] == $password && ($r['activation'] == "valid"))){
       
            // Sets the session's name
           
            session_name("sid");
           
            // Starts the session
           
            session_start();
           
            $_SESSION['user_rating'] = $r['user_rating'];
           
            $_SESSION['color'] = $r['color'];
           
            // Sets the username in the session to be passed from page to page
           
           
            $_SESSION['username'] = $username;
           
           
           
        }elseif(!$r['activation'] == "valid"){
       
            // kills the script if the user has not been activated
           
            Java::Alert("Du har ikke bekraftet din E-mail i nu, se om du har modtaget en E-Mail med et link");
            Java::GoToURL("index.php?menu=konto&page=login");
            die;
           
        }else{
       
            // kills the script if something didn't match up above
           
            Java::Alert("Dit brugernavn eller password er forkert. Prøv igen");
            Java::GoToURL("index.php?menu=konto&page=login");
            die;
           
        }
    }
   
    // Checks to make sure the session's username was set, or kills the script
   
    if(empty($_SESSION['username'])){
   
        Java::Alert("Der er sket en fejl, prøv at logge ind igen eller skriv til admin");
        Java::GoToURL("index.php?menu=konto&page=login");
        die;
   
    }

    // Go back to form_login
    Java::GoToURL("index.php?menu=konto&page=person");
       
}else{

    // Stop siden og gå tilbage "hackker"
    Java::Alert("Der er sket en fejl, prøv at logge ind igen eller skriv til admin");
    Java::GoToURL("index.php");
       
}
?>
Avatar billede tras Juniormester
21. maj 2007 - 09:36 #3
Nej fordi jeg ikke ved hvordan jeg skal gøre i dette tilfælde :/
Avatar billede tras Juniormester
21. maj 2007 - 09:39 #4
og så opdatere den ikke min session vis jeg sætter den ind sådan her :(

$color = $_POST['color'];
$username = $_POST['username'];
mysql_query("update tdf_users set color = '$color' WHERE username = '$username'") or die (Java::Alert("MySQL Error: ".mysql_error()));
Db::Conn(close);
$_SESSION['color'] = '$color';
Avatar billede michael_stim Ekspert
21. maj 2007 - 09:41 #5
Eller:
$result=mysql_query("SELECT color FROM tdf_users WHERE username = '$username'") or die (Java::Alert("MySQL Error: ".mysql_error()));
$row = mysql_fetch_array($query);
$_SESSION['color']=$row['color'];
Avatar billede michael_stim Ekspert
21. maj 2007 - 09:42 #6
$row = mysql_fetch_array($result);

Copy/paste-fejl.
Avatar billede tras Juniormester
21. maj 2007 - 09:49 #7
?! min login virker fint. den skal bare update color når jeg gemmer den så jeg ikke skal logge ud.

alså skal det ske på denne side.

<?php
include("func.php");
DB::Conn("open");

if (isset($_POST['submit'])) {

if (!$_POST['color'] | !$_POST['username']) {
    Java::Alert("Du har glemt at skrive i alle felter!");
    Java::GoToURL("index.php?menu=konto&page=settings");
    die;
}

$_POST['color'] = strip_tags($_POST['color']);
$_POST['username'] = strip_tags($_POST['username']);

$color = $_POST['color'];
$username = $_POST['username'];
mysql_query("update tdf_users set color = '$color' WHERE username = '$username'") or die (Java::Alert("MySQL Error: ".mysql_error()));
Db::Conn(close);       
Java::Alert("Du har nu valgt nu fave, du skal logud før den er klar!");   
Java::GoToURL("index.php?menu=konto&page=settings");
}?>
Avatar billede tras Juniormester
21. maj 2007 - 09:55 #8
Sådan :P havde slet ikke tænkt på at sætte session start ind :S hehe

<?php
include("func.php");
DB::Conn("open");

if (isset($_POST['submit'])) {

if (!$_POST['color'] | !$_POST['username']) {
    Java::Alert("Du har glemt at skrive i alle felter!");
    Java::GoToURL("index.php?menu=konto&page=settings");
    die;
}

$_POST['color'] = strip_tags($_POST['color']);
$_POST['username'] = strip_tags($_POST['username']);

$color = $_POST['color'];
$username = $_POST['username'];
mysql_query("update tdf_users set color = '$color' WHERE username = '$username'") or die (Java::Alert("MySQL Error: ".mysql_error()));
Db::Conn(close);
session_start();
$_SESSION['color'] = '$color';
Java::Alert("Du har nu valgt nu fave, du skal logud før den er klar!");   
Java::GoToURL("index.php?menu=konto&page=settings");
}?>

Så virker det ;) tak
Avatar billede tras Juniormester
21. maj 2007 - 09:58 #9
og ikke aligevel. den kunne kun endre faven 1 gang så gider den ikke mere :S
Avatar billede tras Juniormester
21. maj 2007 - 10:00 #10
$_SESSION['color'] = $_POST['color']; SÅDAn :D:D:D
Avatar billede tras Juniormester
27. juni 2007 - 12:41 #11
Closed - missing answers
Avatar billede tras Juniormester
27. juni 2007 - 12:41 #12
Closed - missing answers
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