Avatar billede craliz2 Nybegynder
10. juli 2007 - 20:54 Der er 48 kommentarer

Log in script.. Men er mit script forældet til mysql databasen?

Kan nogen af jer hjælpe!! for ca. 1-2 år siden brugte jeg dette script til min hjemmeside.. det er hjemmelavet og virkede perfekt før i tiden.. men når jeg bruger det nu.. så logger den ikke ind.. altså den refererer ikke ind til brugerside$lvl altså fx. brugerside12.. Under mysql databasen har jeg sat brugernavn, og password også selvfølgelig lvl(level) altså hvilken brugerside den skal gå ind på.. Det burde virke sådan at hvis nu jeg siger at Brugernavn er: hund  -- og password er: hund2 - også sætter jeg lvl til brugeren skal være 12( som er master ) alt det sætter jeg i databasen.. så når jeg logger ind burde den gå ind på den side jeg har lavet til mastersiden. altså brugerside12.php.. men den rykker ikke videre.. Det er mit spørgsmål.. også hvordan kan det være det ikke virker? Det har virket før. er mit script forældet til mysql databasen som måske er blevet fornyet for mange gange.. hvis den er.. kan i hjælpe.. på forhånd tak!

<? 
require("connect.php"); 
if ($action == "login") { 

        $data = mysql_query("SELECT * FROM brugere WHERE login = '$Login' AND Password = '$Password'") or die(mysql_error()); 
  if( ($num = mysql_numrows($data)) == 0){
    echo "Du har indtastet forkert brugernavn/password";}
else {
                  session_start();
                        $lvl = $row[Level]; 
                        setcookie("brugernavn", "$Login", time() +172800 ); 
                        setcookie("password", "$Password", time() +172800 ); 
                      $ref = "brugerside$lvl.php"; 
                      print "<meta http-equiv='refresh'content='0;URL=$ref'>"; 
                         
                         


}  }
        mysql_close(); 

?> 

<body background='feltbg.jpg'>
<body bgproperties='fixed'>
<html>
<head>
<meta http-equiv="Content-Language" content="da">
<link rel="stylesheet" type="text/css" href="box.css">
<body style="text-align: center">
<body bgcolor='#000000' style="text-align: center">

 
<p><b><font face="Verdana" size="2" color="#FFFFFF">Log på</font></b></p>

 
<form action='<?php echo $_SERVER[PHP_SELF]; ?>' method="post"> <table cellspacing="0" cellpadding="0"

border="0">
<tr>
    <td width="200" align="center">
    <input type="Text" name="login" value="Login" size="20" style="float: left"><input type="hidden" name="action"

value="login"><br></td>
</tr>
<tr>
    <td width="200" align="center">
    <input type="password" name="password" type="hidden" value="Password" size="20" style="float: left"><br></td>
</tr>
<tr>
    <td width="240" align="center">
    <input type='submit' value='login' style="float: left"></td>
</tr>
</table>
    </form>
</body>
</html>
Avatar billede benzon Praktikant
10. juli 2007 - 22:21 #1
Vil sige print "<meta http-equiv='refresh'content='0;URL=$ref'>";  er dumt og bruge du skal bruge header funktionen der kan smide en videre.

Der ud over skal du være helt sikker på at det står på samme måde som det står i databasen det ser ud til at være case sencetive.

header("Location: $ref");
exit;
Avatar billede benzon Praktikant
10. juli 2007 - 22:27 #2
og undskyld jeg siger det, det php script du har skrevet der har ALDRIG virket der er fejl i flere syntaxer
Avatar billede benzon Praktikant
10. juli 2007 - 22:31 #3
<?php
require("connect.php");
if ($action == "login") {
    $data = mysql_query("SELECT * FROM brugere WHERE login = '$Login' AND Password = '$Password'") or die(mysql_error());
    $num = mysql_numrows($data);
    if($num == 0){
        echo "Du har indtastet forkert brugernavn/password";
    } else {
        $lvl = $row[Level];
        setcookie("brugernavn", "$Login", time() +172800 );
        setcookie("password", "$Password", time() +172800 );
        $ref = "brugerside$lvl.php";
        header("Location: $ref");
        exit;
    }
}
?>

Prøv noget i den stil der har rettet 5-6 syntax fejl
Avatar billede benzon Praktikant
10. juli 2007 - 22:32 #4
når ja hvorfor starter du en session når du bruger du også laver en setcookie det giver ikke mening
Avatar billede pidgeot Nybegynder
10. juli 2007 - 22:38 #5
Benzon, der er ingen syntaksfejl i den oprindelige kode. Der er en masse kode der er skrevet på en uhensigtsmæssig kode, ja, men der er ingen syntaksfejl.
Avatar billede benzon Praktikant
10. juli 2007 - 22:41 #6
jo der er fejl har lige sidet i maguma den er ikke lukket koden

echo "Du har indtastet forkert brugernavn/password";} <-- Syntax fejl!!!! derfor kommer han ikke videre til en ny side ;)
Avatar billede benzon Praktikant
10. juli 2007 - 22:43 #7
kan sige så meget mit Zend Studio brokkede sig over flere fejl har prøvet og rette på de fejl nu så må vi jo se om det virker den eneste fejl den gav mig var den ikke kunne include connect.php da jeg ikke har den fil til at ligge :D
Avatar billede pidgeot Nybegynder
10. juli 2007 - 22:48 #8
}'en lukker {'en på linjen for oven. Hvis din editor mener der er fejl, er dens syntax highlighting forkert.

PHP 5.2.3 fortolker fejlfrit når en tom connect.php oprettes (nå ja - den vil give nogle E_NOTICEs, men det vil din omskrivning også).
Avatar billede craliz2 Nybegynder
10. juli 2007 - 23:32 #9
Ok, bliver sku forvirret nu. hehe.. Så hvordan skal scriptet se ud.. ? Er dumpen rigtig så?

CREATE TABLE `brugere` (
  `ID` int(6) NOT NULL auto_increment,
  `Login` varchar(16) NOT NULL default '',
  `Password` varchar(16) NOT NULL default '',
  `Level` smallint(2) NOT NULL default '0',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=17 ;
Avatar billede ranglen Nybegynder
10. juli 2007 - 23:38 #10
jeg tror du skal kigge på register globals. På moderne servere er den slået fra. Så dine form-variabler skal hentes ud fra $_POST-arrayet
Avatar billede craliz2 Nybegynder
10. juli 2007 - 23:41 #11
Det er lidt svært når jeg ikke er ejer af mysqlserveren ;)
Avatar billede craliz2 Nybegynder
10. juli 2007 - 23:46 #12
Men altså, det du har givet mig indtil videre ændrer ikke noget.. Den hopper ikke videre til brugerside12.php..
Avatar billede craliz2 Nybegynder
10. juli 2007 - 23:51 #13
Måske er det noget på brugersiden der er helt galt.. i kan jo lige se det.. Håber virkelig i kan hjælpe ;) er ikke ekspert i php så derfor der er fejl og jeg spørger jer :) jeg ved bare det har virket..

<?
if (!$password) {
echo "Gå til forsiden og log ind";
} else {
include("connect.php");
$result = mysql_query("SELECT * from brugere where login = '$brugernavn' and password = '$password'") or die(mysql_error());
while ($row = mysql_fetch_array($result)) {
$login = $row[login];
$level = $row[level];
$password = $row[password];
print "
</font>
<a href='addadmin.php'><font color='#FFFFFF'>
<span style='text-decoration: none'>Tilføj eller fjern bruger</span></font></a><font color='#FFFFFF'><br>
</font>
<a href='banip.php?noget=5654'><font color='#FFFFFF'>
<span style='text-decoration: none'>ban</span></font></a><font color='#FFFFFF'><br>
</font>
<a href='sletban.php?noget=5654'><font color='#FFFFFF'>
<span style='text-decoration: none'>unban</span></font></a><font color='#FFFFFF'><br>
</font>
<a href='remote.php?noget=5654'><font color='#FFFFFF'>

</font>";
}
}
?>
Avatar billede benzon Praktikant
11. juli 2007 - 00:18 #14
Hmm tror han har ret register globals.

Du skal lave en liste eks


<?php
require("connect.php");
$action = $_POST['action'];
$login = $_POST['login'];
$password = $_POST['password'];
if ($action == "login") {
    $data = mysql_query("SELECT * FROM brugere WHERE login = '$Login' AND Password = '$Password'") or die(mysql_error());
    $num = mysql_numrows($data);
    if($num == 0){
        echo "Du har indtastet forkert brugernavn/password";
    } else {
        $lvl = $row[Level];
        setcookie("brugernavn", "$Login", time() +172800 );
        setcookie("password", "$Password", time() +172800 );
        $ref = "brugerside$lvl.php";
        header("Location: $ref");
        exit;
    }
}
?>

i dit andet script skal du bruge $password = $_COOKIE['password'];

Er du med på hvad jeg meneder du skal hente cookie på den måde og du skal tjekke variabler du har sent med en form med $_POST
Avatar billede craliz2 Nybegynder
11. juli 2007 - 00:35 #15
nu ser det således ud:

<?php
require("connect.php");
$action = $_POST['action'];
$login = $_POST['login'];
$password = $_POST['password'];
if ($action == "login") {
    $data = mysql_query("SELECT * FROM brugere WHERE login = '$login' AND password = '$password'") or die(mysql_error());
    $num = mysql_numrows($data);
    if($num == 0){
        echo "Du har indtastet forkert brugernavn/password";
    } else {
        $lvl = $row[Level];
        setcookie("brugernavn", "$login", time() +172800 );
        setcookie("password", "$password", time() +172800 );
        $ref = "brugerside$lvl.php";
        header("Location: $ref");
        exit;
    }
}
?>

når jeg skriver koden forkert nu, siger den prøv igen.. men når jeg så skriver rigtigt. så glemmer den at tage lvlsiden med. Dvs. når jeg skriver koden rigtig går $ref den kun til brugerside.php.. men den burde jo gøre så det blev brugerside$lvl.php heh
Avatar billede craliz2 Nybegynder
11. juli 2007 - 00:49 #16
NU ser det således ud:
Logon scriptet:

<?php
require("connect.php");
$action = $_POST['action'];
$login = $_POST['login'];
$password = $_POST['password'];
if ($action == "login") {
    $data = mysql_query("SELECT * FROM brugere WHERE login = '$login' AND password = '$password'") or die(mysql_error());
    $num = mysql_numrows($data);
    if($num == 0){
        echo "Du har indtastet forkert brugernavn/password";
    } else {
        $lvl = $row[level];
        setcookie("brugernavn", "$login", time() +172800 );
        setcookie("password", "$password", time() +172800 );
       
$ref = "brugerside$lvl.php";
        header("Location: $ref");
        exit;
    }
}
?>

Og brugersidescriptet:

<?
if (!$password) {
echo "Gå til forsiden og log ind";
} else {
require("connect.php");
$result = mysql_query("SELECT * from brugere where login = '$login' and password = '$password'") or die(mysql_error());
while ($row = mysql_fetch_array($result)) {
$login = $_COOKIE['login'];
$level = $_COOKIE['level'];
$password = $_COOKIE['password'];
print "
</font>
<a href='addadmin.php'><font color='#FFFFFF'>
<span style='text-decoration: none'>Tilføj eller fjern bruger</span></font></a><font color='#FFFFFF'><br>
</font>
<a href='banip.php?noget=5654'><font color='#FFFFFF'>
<span style='text-decoration: none'>ban</span></font></a><font color='#FFFFFF'><br>
</font>
<a href='sletban.php?noget=5654'><font color='#FFFFFF'>
<span style='text-decoration: none'>unban</span></font></a><font color='#FFFFFF'><br>
</font>
<a href='remote.php?noget=5654'><font color='#FFFFFF'>

</font>";
}
}
?>
Avatar billede benzon Praktikant
11. juli 2007 - 06:47 #17
<?php
require("connect.php");
$action = $_POST['action'];
$login = $_POST['login'];
$password = $_POST['password'];
if ($action == "login") {
    $data = mysql_query("SELECT * FROM brugere WHERE login = '$login' AND password = '$password'") or die(mysql_error());
    $num = mysql_numrows($data);
    $row = mysql_fetch_array($data);
    if($num == 0){
        echo "Du har indtastet forkert brugernavn/password";
    } else {
        $lvl = $row[level];
        setcookie("brugernavn", "$login", time() +172800 );
        setcookie("password", "$password", time() +172800 );
       
$ref = "brugerside$lvl.php";
        header("Location: $ref");
        exit;
    }
}
?>

Prøv det der det jeg har indsat i koden er $row = mysql_fetch_array($data);

Kunne ikke rigtig se andre steder hvor du lavede dataen om til en array så du har mulighed for at læse bruger level
Avatar billede benzon Praktikant
11. juli 2007 - 06:50 #18
og bruger siden

<?
$password = $_COOKIE['password'];
if (!$password) {
    echo "Gå til forsiden og log ind";
} else {
    require("connect.php");
    $result = mysql_query("SELECT * from brugere where login = '$login' and password = '$password'") or die(mysql_error());
    while ($row = mysql_fetch_array($result)) {
        $login = $_COOKIE['login'];
        $level = $_COOKIE['level'];
        $password = $_COOKIE['password'];
        echo "</font><a href='addadmin.php'><font color='#FFFFFF'><span style='text-decoration: none'>Tilføj eller fjern bruger</span></font></a><font color='#FFFFFF'><br></font><a href='banip.php?noget=5654'><font color='#FFFFFF'><span style='text-decoration: none'>ban</span></font></a><font color='#FFFFFF'><br></font><a href='sletban.php?noget=5654'><font color='#FFFFFF'><span style='text-decoration: none'>unban</span></font></a><font color='#FFFFFF'><br></font><a href='remote.php?noget=5654'><font color='#FFFFFF'></font>";
    }
}
?>
Avatar billede benzon Praktikant
11. juli 2007 - 07:06 #19
men altså kan se en sikkerheds fejl i dit login script er der en bruger der gætter på din level ville de kunne få adgang til din side rent faktisk bare ved og skrive brugerside12.php

Du mangler og lave et tjek på siden om de nu har adgang til nettop den side.

Der ud over har du glemt og oprette cookien level så har lige lavet lidt ændringer

<?php
require("connect.php");
$action = $_POST['action'];
$login = $_POST['login'];
$password = $_POST['password'];
if ($action == "login") {
    $data = mysql_query("SELECT * FROM brugere WHERE login = '$login' AND password = '$password'") or die(mysql_error());
    $num = mysql_numrows($data);
    $row = mysql_fetch_array($data);
    if($num == 0){
        echo "Du har indtastet forkert brugernavn/password";
    } else {
        $lvl = $row[level];
        setcookie("brugernavn", "$login", time() +172800 );
        setcookie("password", "$password", time() +172800 );
        setcookie("level", "$lvl", time() +172800 );
        $ref = "brugerside$lvl.php";
        header("Location: $ref");
        exit;
    }
}
?>

------------------------------------------

<?
if ($_COOKIE['level'] == "12" && !$_COOKIE['password']) {
    echo "Gå til forsiden og log ind";
} else {
    require("connect.php");
    $result = mysql_query("SELECT * from brugere where login = '$login' and password = '$password'") or die(mysql_error());
    while ($row = mysql_fetch_array($result)) {
        $login = $_COOKIE['login'];
        $level = $_COOKIE['level'];
        $password = $_COOKIE['password'];
        echo "</font><a href='addadmin.php'><font color='#FFFFFF'><span style='text-decoration: none'>Tilføj eller fjern bruger</span></font></a><font color='#FFFFFF'><br></font><a href='banip.php?noget=5654'><font color='#FFFFFF'><span style='text-decoration: none'>ban</span></font></a><font color='#FFFFFF'><br></font><a href='sletban.php?noget=5654'><font color='#FFFFFF'><span style='text-decoration: none'>unban</span></font></a><font color='#FFFFFF'><br></font><a href='remote.php?noget=5654'><font color='#FFFFFF'></font>";
    }
}
?>
Avatar billede benzon Praktikant
11. juli 2007 - 07:09 #20
sorry har da lige lavet en fejl i det sidste sider vist og halv sover

<?
if (!$_COOKIE['password'] or $_COOKIE['level'] > "12" or $_COOKIE['level'] < "12") {
    echo "Gå til forsiden og log ind";
} else {
    require("connect.php");
    $result = mysql_query("SELECT * from brugere where login = '$login' and password = '$password'") or die(mysql_error());
    while ($row = mysql_fetch_array($result)) {
        $login = $_COOKIE['login'];
        $level = $_COOKIE['level'];
        $password = $_COOKIE['password'];
        echo "</font><a href='addadmin.php'><font color='#FFFFFF'><span style='text-decoration: none'>Tilføj eller fjern bruger</span></font></a><font color='#FFFFFF'><br></font><a href='banip.php?noget=5654'><font color='#FFFFFF'><span style='text-decoration: none'>ban</span></font></a><font color='#FFFFFF'><br></font><a href='sletban.php?noget=5654'><font color='#FFFFFF'><span style='text-decoration: none'>unban</span></font></a><font color='#FFFFFF'><br></font><a href='remote.php?noget=5654'><font color='#FFFFFF'></font>";
    }
}
?>

Sådan der til bruger siden tror det virker er ikke helt sikker sider som sagt og er nada vågen og på vej i seng igen meeen forkølet så lige kæmpe hoste tur :D
Avatar billede craliz2 Nybegynder
11. juli 2007 - 10:16 #21
Det virker stadig ikke.. når jeg skriver koden rigtigt nu, så refererer den bare ind på brugerside.php som jo ikke findes.. Sidder og tænker om der er rod i $login $password og $level i begge scripte. har pillet ved det så meget at jeg slet ikke kan se om den selecter rigtigt from brugere where login = $login.... osv i begge scripte. heh
Avatar billede craliz2 Nybegynder
11. juli 2007 - 10:25 #22
Du siger også den skal hente lvl cookie.. men har jo ikke skrevet den skal lave en cookie i logon scriptet med level ?
Avatar billede benzon Praktikant
11. juli 2007 - 13:23 #23
prøv lige og smide din connect.php fil her ind også husk at fjerne brugernavn og password og så videre
Avatar billede benzon Praktikant
11. juli 2007 - 13:35 #24
CREATE TABLE `brugere` (
`id` int( 6 ) NOT NULL AUTO_INCREMENT ,
`login` varchar( 16 ) NOT NULL default '',
`password` varchar( 16 ) NOT NULL default '',
`level` smallint( 2 ) NOT NULL default '0',
PRIMARY KEY ( `id` )
) TYPE = MYISAM AUTO_INCREMENT =17;

Når ja prøv og bruge low case i din database tabel så alt står med småt
Avatar billede benzon Praktikant
11. juli 2007 - 13:53 #25
<?php
$action = $_POST['action'];
$login = $_POST['login'];
$password = $_POST['password'];
if ($action == "login") {
    $data = mysql_query("SELECT * FROM brugere WHERE login = '$login' AND password = '$password'") or die(mysql_error());
    $num = mysql_numrows($data);
    $row = mysql_fetch_array($data);
    if($num == 0){
        echo "Du har indtastet forkert brugernavn/password";
    } else {
        $lvl = $row[level];
        setcookie("brugernavn", "$login", time() +172800 );
        setcookie("password", "$password", time() +172800 );
        setcookie("level", "$lvl", time() +172800 );
        $ref = "brugerside" . $lvl . ".php";
        header("Location: $ref");
        exit;
    }
}
?>

<body background='feltbg.jpg'>
<body bgproperties='fixed'>
<html>
<head>
<meta http-equiv="Content-Language" content="da">
<link rel="stylesheet" type="text/css" href="box.css">
<body style="text-align: center">
<body bgcolor='#000000' style="text-align: center">

 
<p><b><font face="Verdana" size="2" color="#FFFFFF">Log på</font></b></p>

 
<form action='<?php echo $_SERVER[PHP_SELF]; ?>' method="post"> <table cellspacing="0" cellpadding="0"

border="0">
<tr>
    <td width="200" align="center">
    <input type="Text" name="login" value="Login" size="20" style="float: left"><input type="hidden" name="action"

value="login"><br></td>
</tr>
<tr>
    <td width="200" align="center">
    <input type="password" name="password" type="hidden" value="Password" size="20" style="float: left"><br></td>
</tr>
<tr>
    <td width="240" align="center">
    <input type='submit' value='login' style="float: left"></td>
</tr>
</table>
    </form>
</body>
</html>

Den her login side virker med garanti har testet den nu og den sender videre til brugerside12.php
Avatar billede benzon Praktikant
11. juli 2007 - 13:53 #26
brugersiden er så en anden ting den virker ikke helt efter hensigten får bare en hvid tom side hos mig lige nu griner
Avatar billede craliz2 Nybegynder
11. juli 2007 - 19:45 #27
<?
{

$server = "server";
$bruger = "brugern";
$kodeord = "kode";
$database = "database";

mysql_connect($server,$bruger,$kodeord) OR DIE(  "Kunne ikke etabler en forbindelse til MySQLen.!");
mysql_select_db($database) OR DIE(  "Kunne ikke finde databasen!");
}
?>


er connect.php ;)
Avatar billede benzon Praktikant
11. juli 2007 - 19:56 #28
Okay :) hvorfor { i starten og } i buden behøver du da ikke :) du skal bare fjerne det og skrive

<?php
$server = "server";
$bruger = "brugern";
$kodeord = "kode";
$database = "database";

mysql_connect($server,$bruger,$kodeord) OR DIE(  "Kunne ikke etabler en forbindelse til MySQLen.!");
mysql_select_db($database) OR DIE(  "Kunne ikke finde databasen!");
?>

Husk <?php mange servere godkender ikke <? længere
Avatar billede benzon Praktikant
11. juli 2007 - 19:56 #29
og prøv lige login delen af igen ved den virker har testet den og den virker som den skal :) det er kun brugersiden jeg ikke kan få til at virke lige nu har så heller ikke prøvet på at fixe det :)
Avatar billede craliz2 Nybegynder
11. juli 2007 - 19:59 #30
Okay, prøver det lige :)
Avatar billede benzon Praktikant
11. juli 2007 - 20:00 #31
men ændre lige dine database fælter til lowcase altså små bokstaver hele vejen igennem.
Avatar billede craliz2 Nybegynder
11. juli 2007 - 20:05 #32
Har jeg lige gjort.. men som det fjols jeg er :P har jeg lige gemt kopieret det som skulle være i logon over i brugerside12.. hehe.. så skal lige lave brugerside 12 igen ;) eller finde det
Avatar billede craliz2 Nybegynder
11. juli 2007 - 20:11 #33
Altså, nu er dette i brugerside12.php ?

<?
if (!$_COOKIE['password'] or $_COOKIE['level'] > "12" or $_COOKIE['level'] < "12") {
    echo "Gå til forsiden og log ind";
} else {
    require("connect.php");
    $result = mysql_query("SELECT * from brugere where login = '$login' and password = '$password'") or die(mysql_error());
    while ($row = mysql_fetch_array($result)) {
        $login = $_COOKIE['login'];
        $level = $_COOKIE['level'];
        $password = $_COOKIE['password'];
        echo "</font><a href='addadmin.php'><font color='#FFFFFF'><span style='text-decoration: none'>Tilføj eller fjern bruger</span></font></a><font color='#FFFFFF'><br></font><a href='banip.php?noget=5654'><font color='#FFFFFF'><span style='text-decoration: none'>ban</span></font></a><font color='#FFFFFF'><br></font><a href='sletban.php?noget=5654'><font color='#FFFFFF'><span style='text-decoration: none'>unban</span></font></a><font color='#FFFFFF'><br></font><a href='remote.php?noget=5654'><font color='#FFFFFF'></font>";
    }
}
?>

Er det korrekt? Når jeg så logger ind får jeg denne fejl.

Warning: mysql_query(): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111) in /data/cluster/minhjemmeside/logon.php on line 6

Warning: mysql_query(): A link to the server could not be established in /data/cluster/minhjemmeside/logon.php on line 6
Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)
Avatar billede craliz2 Nybegynder
11. juli 2007 - 20:12 #34
og det siger den uanset om jeg skriver forkert kode eller ej
Avatar billede craliz2 Nybegynder
11. juli 2007 - 20:14 #35
I databasen har jeg angivet ID som = 1 og så login og selvfølgelig et password.. også level som level 12
Avatar billede benzon Praktikant
12. juli 2007 - 08:28 #36
Skal nok lige prøve på og gøre noget ved side 12 :) - men nej du burde ikke få den fejl

Du har fjernet { } dem der fra din connect.php right?

id burde du ikke selv angive du har jo auto increase på griner, altså hvor den automatisk tildeler id.

Men kigger lige på brugerside12 har selv haft lidt problemer med den ved ikke hvorfor den opføre sig sådan som den gør :)
Avatar billede craliz2 Nybegynder
12. juli 2007 - 09:50 #37
Okay ;) det lyder super! jo har fjernet dem.
Avatar billede craliz2 Nybegynder
12. juli 2007 - 09:52 #38
lige noget så du er klar over det.. Det er meningen at jeg har forskellige brugersider. Dvs. at hvis en anden bruger kun har lvl 2 fx. så kommer han ikke ind på "master bruger" altså brugerside12.php men kun brugerside2.php
Avatar billede benzon Praktikant
12. juli 2007 - 10:07 #39
den del er jeg med på :)

Altså det med du vil have forskellige brugersider alt efter hvad level folk har :)
Avatar billede benzon Praktikant
12. juli 2007 - 10:22 #40
Må indrømme har lige omskrevet hele login delen til at bruge sessions i stedet og ved ikke hvorfor kedet mig vel griner og er godt igang med og prøve på at få din brugerside op og køre som den skal
Avatar billede benzon Praktikant
12. juli 2007 - 10:52 #41
Okay here we go :)

Login siden

[code]
<?php
require_once('connect.php');
if ($_POST['action'] == "login") {
    $data = mysql_query("SELECT * FROM brugere WHERE login = '" . $_POST['login'] . "' AND password = '" . $_POST['password'] . "'") or die(mysql_error());
    $num = mysql_numrows($data);
    $row = mysql_fetch_array($data);
    if($num == 0){
        header("Location: login.php?error=1");
        echo "Du har indtastet forkert brugernavn/password";
    } else {
        session_start();
        $_SESSION["brugernavn"] = $_POST['login'];
        $_SESSION["password"] = $_POST['password'];
        $_SESSION["level"] = $row['level'];
        header("Location: brugerside" . $_SESSION['level'] .".php");
        exit;
    }
}
switch ($_GET['error']) {
case "1":
    echo "<font color='#FFFFFF'>Du har indtastet forkert brugernavn/password.</font>";
    break;
case "2":
    echo "<font color='#FFFFFF'>Du er ikke logget ind.</font>";
    break;
case "3":
    echo "<font color='#FFFFFF'>Dit brugernavn findes ikke i databasen.</font>";
    break;
case "4":
    echo "<font color='#FFFFFF'>Din bruger rettighed passer ikke sammen med siden du prøvede og benytte.</font>";
    break;
}
?>

<body background='feltbg.jpg'>
<body bgproperties='fixed'>
<html>
<head>
<meta http-equiv="Content-Language" content="da">
<link rel="stylesheet" type="text/css" href="box.css">
<body style="text-align: center">
<body bgcolor='#000000' style="text-align: center">

 
<p><b><font face="Verdana" size="2" color="#FFFFFF">Log på</font></b></p>

 
<form action='<?php echo $_SERVER[PHP_SELF]; ?>' method="post"> <table cellspacing="0" cellpadding="0"

border="0">
<tr>
    <td width="200" align="center">
    <input type="Text" name="login" value="Login" size="20" style="float: left"><input type="hidden" name="action"

value="login"><br></td>
</tr>
<tr>
    <td width="200" align="center">
    <input type="password" name="password" type="hidden" value="Password" size="20" style="float: left"><br></td>
</tr>
<tr>
    <td width="240" align="center">
    <input type='submit' value='login' style="float: left"></td>
</tr>
</table>
    </form>
</body>
</html>
[/code]

------------------------------------------
Brugerside

[code]
<?php
session_start();
if (!$_SESSION['password']) {
    echo "Gå til forsiden og log ind";
} else {
    if($_SESSION['level'] == "12") {
        require_once('connect.php');
        $data = mysql_query("SELECT * FROM brugere WHERE login = '" . $_SESSION['brugernavn'] . "' AND password = '" . $_SESSION['password'] . "'") or die(mysql_error());
        $num = mysql_numrows($data);
        if($num == 0){
            echo "Din bruger findes ikke i databasen";
            session_unset();
            session_destroy();
        } else {
?>
<a href='addadmin.php'><font color='#000000'><span style='text-decoration: none'>Tilføj eller fjern bruger</span></font></a><font color='#FFFFFF'><br></font><a href='banip.php?noget=5654'><font color='#000000'><span style='text-decoration: none'>ban</span></font></a><font color='#000000'><br></font><a href='sletban.php?noget=5654'><font color='#000000'><span style='text-decoration: none'>unban</span></font></a><font color='#000000'><br></font><a href='remote.php?noget=5654'>
<?php
        }
    } else {
        echo "Du har ikke rettigheder til at se denne side";
    }
}
?>
[/code]

Der hvor html koden er, der skal ALT html på den side være!

Jeg bruger headers til og smide dem til forsiden hvis de har lavet lort i deres login :)

Ja det blev lidt mere advanceret end vi startede ud men det virker som det skal og du kan faktisk slette en bruger on the fly det vil sige de mister adgang med det samme fordi jeg lige tjekker om de stadig findes i databasen.
Avatar billede craliz2 Nybegynder
12. juli 2007 - 17:39 #42
Det lyder rigtig fedt.. men men men.. Det virker stadig ikke.. HMM!

når jeg skriver rigtig bruger og password får jeg dette tilbage på en hvid side:

code]
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /data/cluster/minhjemmeside/logon.php:2) in /data/cluster/minhjemmeside/logon.php on line 12

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /data/cluster/minhjemmeside/logon.php:2) in /data/cluster/minhjemmeside/logon.php on line 12

Warning: Cannot modify header information - headers already sent by (output started at /data/cluster/minhjemmeside//logon.php:2)
in /data/cluster/minhjemmeside/logon.php on line 16

OG

når jeg skriver forkert bruger og password får jeg dette:

[code]
Warning: Cannot modify header information - headers already sent by (output started at /data/cluster/minhjemmeside/logon.php:2)
in /data/cluster/minhjemmeside/logon.php on line 9
Du har indtastet forkert brugernavn/password

hehe.. Hvad mon det er..
Avatar billede benzon Praktikant
12. juli 2007 - 19:55 #43
hmm har du smidt html ind oven over scriptet?

Hvis ja så er det helt sikkert derfor jeg har ingen problemer med og køre scriptet og har testet to steder ind til nu

Prøv at lave et login.php der kun indeholder den kode jeg har skrevet og en bruger side lige så som kun indeholder det jeg har skrevet
Avatar billede benzon Praktikant
12. juli 2007 - 19:56 #44
og hvad webhost har du?
Avatar billede craliz2 Nybegynder
13. juli 2007 - 17:09 #45
Jamen lige nu bruger jeg bare sådan et gratis.. 1go.dk pga. jeg ik har betalt for et hotel endnu. så må det være derfor.. lort!
Avatar billede craliz2 Nybegynder
14. juli 2007 - 14:57 #46
Hey benzon.. Altså nu har jeg fået webhotel hos buydomains.. og det virker altså stadig ikke.. den siger det sammme som ovenover..
Avatar billede benzon Praktikant
18. juli 2007 - 17:40 #47
Prøver det lige af på mit eget webhotel vender tilbage senere med svaret
Avatar billede benzon Praktikant
18. juli 2007 - 17:49 #48
Ingen problemer her overhovedet

http://eskildsens.com/dev/login.php

Brugernavn: test
Password: test
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