Avatar billede Banj0s Nybegynder
13. oktober 2009 - 22:36 Der er 2 kommentarer og
1 løsning

har brug for en der kan rette en del af mit script XD [jeg er nybegynder til php]

mit problem er at den ikke gider at ændrer session['online']
hvad er der galt med mit script? her kommer mit script
ps. det er lidt rodet er første gang jeg laver noget i php ^^:

<?php ///////////connect til mysql + start session/////////////////////////////////////////////////////////////////////////////////////////////////// ?>
<?php

        mysql_connect("localhost", "test", "trusttrust") or die(mysql_error());
        mysql_select_db("test") or die(mysql_error());
session_start();
?>
<?php
$ip=$_SERVER['REMOTE_ADDR'];

?>


<html>
<head>
<?php /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// html head /////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////// ?>
<title>PHP Test</title>
            <link rel="stylesheet" type="text/css" href="style/style.css">
</head>
<body>
<a href="index.php">index</a>
<br/>
<?php //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////det her bliver til en lille boks oppe i hjørnet///det skal du ikke tage dig af!//////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ?>
                                <div id="login_boks">

<?php
if ($_SESSION['online'] == "online")
{
echo "hej "." ønsker du at ";?>
<form action="php testing.php" method="post"><input type="submit" value=" logout " name="logout"></form>
<?php
}
else
{
?>

<form action="php testing.php" method="post">
    <input type="text" name="user">
    <input type="password" name="password">
    <input type="submit" value=" ok ">
</form>


<?php
}

if(isset($_POST['logout']))
{
$_SESSION['online'] = "offline";
}


if (isset($_POST['password']))
{
    $typed_user = $_POST['user'];
    $typed_passedword = $_POST['password'];
    $query = mysql_query("SELECT username FROM users WHERE username='$typed_user'");
    $row = mysql_fetch_assoc($query);
    $query2 = mysql_query("SELECT password FROM users WHERE password='$typed_passedword' AND username='$typed_user'");
    $row2 = mysql_fetch_assoc($query2);
    if ($_POST['user'] == $row['username'])
    {
        if ($_POST['password'] == $row2['password'])
        {
        echo "ja det jo bare dejlig";
        $_SESSION['Online'] = "online";
        echo $_SESSION['online'];
        }
        else
        {
   
            echo "Wrong Password";
        }
    }
    else
    {
   
        echo "Wrong user name";
    }
}
?>
                                    </div>
<?php //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////Main login det er her du skal kigge//////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ?>

<form action="php testing.php" method="post">
    <input type="text" name="user">
    <input type="password" name="password">
    <input type="submit" value=" ok ">
</form>

<?php /////////////////// det oven over er knapperne ////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////// her kommer scriptet ///////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////// ?>


<?php
$ip=$_SERVER['REMOTE_ADDR'];


if (isset($_POST['password']))
{
    $typed_user = $_POST['user'];
    $typed_passedword = $_POST['password'];
    $query = mysql_query("SELECT username FROM users WHERE username='$typed_user'");
    $row = mysql_fetch_assoc($query);
    $query2 = mysql_query("SELECT password FROM users WHERE password='$typed_passedword' AND username='$typed_user'");
    $row2 = mysql_fetch_assoc($query2);
    if ($_POST['user'] == $row['username'])
    {
        if ($_POST['password'] == $row2['password'])
        {
        echo "ja det jo bare dejlig";
        mysql_query("UPDATE users SET ip='$ip' WHERE password='$typed_passedword' AND username='$typed_user'");
        mysql_query("UPDATE users SET online='on' WHERE password='$typed_passedword' AND username='$typed_user'");
        $_SESSION['Online'] = "online";
        }
        else
        {
   
            echo "Wrong Password";
        }
    }
    else
    {
   
        echo "Wrong user name";
    }
}

?>
<?php


if ($_SESSION['online'] == "online")
{
echo "hej ".".";
}

?>
<?php //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ?>
</body>
</html>
Avatar billede erikjacobsen Ekspert
13. oktober 2009 - 23:37 #1
Du skal blive enig med dig selv, om du mener
  $_SESSION['Online']
eller
  $_SESSION['online']
Avatar billede ebusiness Nybegynder
13. oktober 2009 - 23:37 #2
Du har skrevet Online i stedet for online i en af linjerne, store og små bogstaver er forskellige.

Og bonusinformation, din kode er pivåben for SQL injections. http://en.wikipedia.org/wiki/SQL_injection
Avatar billede Banj0s Nybegynder
13. oktober 2009 - 23:40 #3
er lidt pinligt at jeg ikke så det XD men tak!
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