Avatar billede bravida Nybegynder
09. november 2006 - 15:07 Der er 164 kommentarer og
2 løsninger

Loginsystem for flere brugere

Har prøvet at spørge et par gange, men ingen har endnu kunnet løse dette spørgsmål.
Så der er ikke andet end at prøve igen om der skulle være en som forstår at løse dette.

Spørgsmålet drejer sig om at der er flere brugere som hver især har adgang til sin egen admin side, som de er blevet tildelt af administratoren. ( hvordan får jeg det til at virke )

Som det er nu, kan login systemet kun åbne den side som er forudbestemt i koden.

For at forstå det noget bedre ligger der en beskrivelse og forklaring på dette link.

http://home1.stofanet.dk/duo2/
Avatar billede michaeltryl Seniormester
09. november 2006 - 16:44 #1
duhar en side hvor der indtastes brugernavn og adgangskode. når brugeren så trykker login bliver de sendt til en anden side.
på denne side tjekker du hvem der er logget ind

når det er tjekket skal du tjekke i databasen hvilket adgangs nr. personen har
derefter laver du en række if sætninger som f.eks kan se sådan ud

if ($adgang == 1)
{
header("Location: index.php");
}

så bliver alle der logger ind og som har adgang nr. 1 sendt til index.php
Avatar billede zynzz Praktikant
09. november 2006 - 16:57 #2
<?
session_start();
include("../Connections/cms.php");

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

mysql_select_db($database_cms, $cms);

$sql = mysql_query("SELECT * FROM brugere WHERE brugernavn = '".addslashes($_POST['brugernavn'])."' AND adgangskode = '".addslashes($_POST['adgangskode'])."'");
$number = mysql_num_rows($sql);
$data = mysql_fetch_array($sql);

if($numb == 1) {
//SÆT DINE SESSIONS HER
// med dine sessions styrere du hvilke sider folk skal have adgang til!
}
}
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.style2 {color: #FFFFFF}
-->
</style>
<form ACTION="" method="POST" name="login">
<table width="400" border="0" align="center" cellpadding="1" cellspacing="0">
<tr>
<td><div align="center">
<table width="100%" border="0" cellspacing="0" cellpadding="2">
<tr bgcolor="#CCCCCC">
<td width="28%" class="style2">Log p&aring;</td>
<td width="72%">&nbsp;</td>
</tr>
<tr>
<td>Brugernavn:</td>
<td><input name="brugernavn" type="text" size="40"></td>
</tr>
<tr>
<td>Adgangskode:</td>
<td><input name="adgangskode" type="password" size="40"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input name="login" type="submit" value="login"></td>
</tr>
</table>
</div></td>
</tr>
</table>
</form>
Avatar billede bravida Nybegynder
09. november 2006 - 18:22 #3
michaeltryl: Har nu prøvet som du beskrev.

Har nu oprettet en ny side hvor brugere bliver logget ind. Indsat denne kode, men de bliver ikke sendt videre.

<?php
session_start();
include("../Connections/cms.php");

if ($adgang == 1)

====================================================================================
zynzz: Det er fint at du ligger en kode, skal den erstattes med min login kode eller hvad.
SÆT DINE SESSIONS HER
Hvad med at vide dette så jeg kan se hvad du mener.

{
header("Location: index.php");
}

if ($adgang == 2)
{
header("Location: forside.php");
}

if ($adgang == 2)
{
header("Location: menu_2.php");
}
?>
Avatar billede bravida Nybegynder
09. november 2006 - 18:37 #4
michaeltryl: der manglede end del kode så du bedre kan se dette.

<?php
session_start();
include("../Connections/cms.php");

if ($adgang == 1)
{
header("Location: index.php");
}

if ($adgang == 2)
{
header("Location: forside.php");
}

if ($adgang == 3)
{
header("Location: menu_2.php");
}

?>
Avatar billede michaeltryl Seniormester
09. november 2006 - 18:49 #5
du mangler at tjekke hvilken adgangs nr. den bruger der logger ind har.
lav en forspørgsel i din tabel hvor du henter adgang ud for den bruger der er logget ind. prøv dette.

<?php
session_start();
include("../Connections/cms.php");
$bruger = $_SESSION['brugernavn'];

$get = mysql_query("SELECT adgang FROM brugere WHERE brugernavn = '$bruger' LIMIT 1") or die(mysql_error()); // henter adgang for bruger der er logget ind
$show = mysql_fetch_array($get);
$adgang = $show[adgang];


if ($adgang == 1)
{
header("Location: index.php");
}

if ($adgang == 2)
{
header("Location: forside.php");
}

if ($adgang == 3)
{
header("Location: menu_2.php");
}

?>
Avatar billede michaeltryl Seniormester
09. november 2006 - 18:53 #6
du skal huske lige efter
include("../Connections/cms.php");
at indsætte det tjek du har som tjekker om brugeren findes i databasen
Avatar billede bravida Nybegynder
09. november 2006 - 18:59 #7
michaeltryl: kan du vise et eks. vedr. dit sidste svar.
Avatar billede bravida Nybegynder
09. november 2006 - 19:31 #8
Bliver ikke sendt videre fra siden

<?php
session_start();
include("../Connections/cms.php");admin_1;admin_2;admin_3;
$bruger = $_SESSION['brugernavn'];

$get = mysql_query("SELECT adgang FROM brugere WHERE brugernavn = '$bruger' LIMIT 1") or die(mysql_error()); // henter adgang for bruger der er logget ind
$show = mysql_fetch_array($get);
$adgang = $show[adgang];


if ($adgang == 1)
{
header("Location: index.php");
}

if ($adgang == 2)
{
header("Location: forside.php");
}

if ($adgang == 3)
{
header("Location: menu_2.php");
}

?>
Avatar billede michaeltryl Seniormester
09. november 2006 - 22:20 #9
efter du har indtastet brugernavn og password og trykker login bliver du så sendt til siden med denne kode som er i forrige indlæg. Hvis du ikke gør det skal du sikre dig du gør det og hvis/når du gør det så prøv at indsætte denne kode på siden i stedet så tager vi den derfra

<?php
session_start();
include("../Connections/cms.php");admin_1;admin_2;admin_3;
$bruger = $_SESSION['brugernavn'];

$get = mysql_query("SELECT adgang FROM brugere WHERE brugernavn = '$bruger' LIMIT 1") or die(mysql_error()); // henter adgang for bruger der er logget ind
$show = mysql_fetch_array($get);
$adgang = $show[adgang];

echo"adgang = $adgang";

når du så logger ind skulle du gerne få en side hvor der står

adgang = (her skal så stå det nr. for den bruger der er logget ind)
Avatar billede bravida Nybegynder
09. november 2006 - 23:15 #10
Får så denne fejl.
Parse error: parse error in C:\Programmer\Apache Group\Apache2\htdocs\websted\admin\admin_sider.php on line 12

Indsat dette:

<?php
session_start();
include("../Connections/cms.php");admin_1;admin_2;admin_3;
$bruger = $_SESSION['brugernavn'];

$get = mysql_query("SELECT adgang FROM brugere WHERE brugernavn = '$bruger' LIMIT 1") or die(mysql_error()); // henter adgang for bruger der er logget ind
$show = mysql_fetch_array($get);
$adgang = $show[adgang];

echo"adgang = $adgang";

adgang = ()
?>
Avatar billede michaeltryl Seniormester
09. november 2006 - 23:35 #11
indsæt kun dette

<?php
session_start();
include("../Connections/cms.php");admin_1;admin_2;admin_3;
$bruger = $_SESSION['brugernavn'];

$get = mysql_query("SELECT adgang FROM brugere WHERE brugernavn = '$bruger' LIMIT 1") or die(mysql_error()); // henter adgang for bruger der er logget ind
$show = mysql_fetch_array($get);
$adgang = $show[adgang];

echo"adgang = $adgang";

?>
Avatar billede michaeltryl Seniormester
09. november 2006 - 23:35 #12
når du så logger ind skulle der gerne blive udskreve det nummer som brugeren har i adgang
Avatar billede bravida Nybegynder
09. november 2006 - 23:36 #13
Nu åbner siden men viser sådan: adgang =

Sådan ser koden ud.

<?php
session_start();
include("../Connections/cms.php");admin_1;admin_2;admin_3;
$bruger = $_SESSION['brugernavn'];

$get = mysql_query("SELECT adgang FROM brugere WHERE brugernavn = '$bruger' LIMIT 1") or die(mysql_error()); // henter adgang for bruger der er logget ind
$show = mysql_fetch_array($get);
$adgang = $show[adgang];

echo"adgang = $adgang";
?>
Avatar billede ellebaek Nybegynder
09. november 2006 - 23:42 #14
$adgang = $show[0];
Avatar billede bravida Nybegynder
09. november 2006 - 23:49 #15
$adgang = $show[0];
Viser stadig sådan: adgang =
Avatar billede bravida Nybegynder
09. november 2006 - 23:51 #16
Tror at fejlen ligger i dette: admin_1;admin_2;admin_3;
Avatar billede michaeltryl Seniormester
09. november 2006 - 23:59 #17
hvorfor har du også det med?
altså admin_1;admin_2;admin_3;
Avatar billede bravida Nybegynder
10. november 2006 - 00:05 #18
Derfor:  du skal huske lige efter
include("../Connections/cms.php");
at indsætte det tjek du har som tjekker om brugeren findes i databasen
Avatar billede michaeltryl Seniormester
10. november 2006 - 00:10 #19
okay du har misforstået mig.
prøv at starte med at test dette

<?php
session_start();
include("../Connections/cms.php");
$bruger = $_SESSION['brugernavn'];

$get = mysql_query("SELECT adgang FROM brugere WHERE brugernavn = '$bruger' LIMIT 1") or die(mysql_error()); // henter adgang for bruger der er logget ind
$show = mysql_fetch_array($get);
$adgang = $show[adgang];

echo"adgang = $adgang";
?>
Avatar billede bravida Nybegynder
10. november 2006 - 00:12 #20
Stadig det samme: adgang =
Avatar billede michaeltryl Seniormester
10. november 2006 - 00:29 #21
he he jeg tror jeg er træt men tror jeg har fundet fejlen nu
prøv dette
<?
$postbruger = $_POST['brugernavn'];
$postadgang = $_POST['adgangskode'];
$_SESSION['brugernavn'] = $postbruger;
$_SESSION['adgangskode'] = $postadgang;

$bruger = $_SESSION['brugernavn'];
$get = mysql_query("SELECT adgang FROM brugere WHERE brugernavn = '$bruger' LIMIT 1") or die(mysql_error()); // henter adgang for bruger der er logget ind
$show = mysql_fetch_array($get);
$adgang = $show[adgang];

echo"adgang = $adgang";

?>
Avatar billede michaeltryl Seniormester
10. november 2006 - 00:38 #22
virker det efter hensigten så gør du sådan

<?
$postbruger = $_POST['brugernavn'];
$postadgang = $_POST['adgangskode'];

$resultat = mysql_query("SELECT Id FROM `brugere` WHERE brugernavn = '$postbruger' AND adgangskode = '$postadgang'");//Spørger efter ID
$number = mysql_num_rows($resultat);//Tæller antaller af resultater

if($number == 1) {
$_SESSION['inde'] = 1;
$_SESSION['brugernavn'] = $postbruger;
$_SESSION['adgangskode'] = $postadgang;

$bruger = $_SESSION['brugernavn'];
$get = mysql_query("SELECT adgang FROM brugere WHERE brugernavn = '$bruger' LIMIT 1") or die(mysql_error()); // henter adgang for bruger der er logget ind
$show = mysql_fetch_array($get);
$adgang = $show[adgang];

if ($adgang == 1)
{
header("Location: index.php");
}

if ($adgang == 2)
{
header("Location: forside.php");
}

if ($adgang == 3)
{
header("Location: menu_2.php");
}
}
else
{
echo"Du er ikke logget ind";
}
?>
Avatar billede michaeltryl Seniormester
10. november 2006 - 00:40 #23
derefter indsætter du dette øverst på alle sider du vil beskytte

<?
session_start();
if(!$_SESSION['inde'] == 1) {//Hvis brugeren ikke er logget ind
header("Location: ../index.html");//Sender brugeren videre til login siden
exit;//Sørger for at resten af koden, ikke bliver udført
}
include"../connect.php";
//herunder sætter du alt din kode
?>
Avatar billede bravida Nybegynder
10. november 2006 - 00:49 #24
Virker ikke: No Database Selected
Avatar billede michaeltryl Seniormester
10. november 2006 - 10:51 #25
og din connect fil er rigtig og ligger der hvor du henviser til?
Avatar billede michaeltryl Seniormester
10. november 2006 - 10:54 #26
ups opdagede lige at jeg ikke har indsat connecten.
her skulle den være

<?
session_start();
include("../Connections/cms.php");
$postbruger = $_POST['brugernavn'];
$postadgang = $_POST['adgangskode'];

$resultat = mysql_query("SELECT Id FROM `brugere` WHERE brugernavn = '$postbruger' AND adgangskode = '$postadgang'");//Spørger efter ID
$number = mysql_num_rows($resultat);//Tæller antaller af resultater

if($number == 1) {
$_SESSION['inde'] = 1;
$_SESSION['brugernavn'] = $postbruger;
$_SESSION['adgangskode'] = $postadgang;

$bruger = $_SESSION['brugernavn'];
$get = mysql_query("SELECT adgang FROM brugere WHERE brugernavn = '$bruger' LIMIT 1") or die(mysql_error()); // henter adgang for bruger der er logget ind
$show = mysql_fetch_array($get);
$adgang = $show[adgang];

if ($adgang == 1)
{
header("Location: index.php");
}

if ($adgang == 2)
{
header("Location: forside.php");
}

if ($adgang == 3)
{
header("Location: menu_2.php");
}
}
else
{
echo"Du er ikke logget ind";
}
?>

og på alle sider du vil beskytte skal dette stå øverst i koden (husk at stien til connect filen skal rettes til alt efter hvor filen med denne kode ligger i)

<?
session_start();

if(!$_SESSION['inde'] == 1) {//Hvis brugeren ikke er logget ind
header("Location: ../index.html");//Sender brugeren videre til login siden
exit;//Sørger for at resten af koden, ikke bliver udført
}
include("../Connections/cms.php");
//herunder sætter du alt din kode
?>
Avatar billede bravida Nybegynder
10. november 2006 - 10:59 #27
Hej michaeltryl

Vi tager den lige herfra: 10/11-2006 00:29:26

Efter indsættelse af koden kommer denne meddelse:  No Database Selected
Avatar billede sw_red_6 Nybegynder
10. november 2006 - 11:03 #28
det er fordi du mangler at logge ind til databasen.
//Connection til databasen
$link = mysql_connect("localhost", "BRUGERNAVN", "PASSWORD") or die("Could not connect");
mysql_select_db("DATABASE") or die("Could not select database");
Avatar billede michaeltryl Seniormester
10. november 2006 - 11:12 #29
okay jeg var lige lidt for langt fremme
men det er det som sw_red_6 siger du kan også bruger denne istedet

include("../Connections/cms.php");

så har du kun en connect at koncentrere dig om
Avatar billede bravida Nybegynder
10. november 2006 - 11:16 #30
Har rettet koden til vedr. : 10/11-2006 00:29:26

Viser stadig dette:  adgang =

<?php
session_start();
include("../Connections/cms.php");
$postbruger = $_POST['brugernavn'];
$postadgang = $_POST['adgangskode'];
$_SESSION['brugernavn'] = $postbruger;
$_SESSION['adgangskode'] = $postadgang;

$bruger = $_SESSION['brugernavn'];
$get = mysql_query("SELECT adgang FROM brugere WHERE brugernavn = '$bruger' LIMIT 1") or die(mysql_error()); // henter adgang for bruger der er logget ind
$show = mysql_fetch_array($get);
$adgang = $show[adgang];

echo"adgang = $adgang";

?>
Avatar billede sw_red_6 Nybegynder
10. november 2006 - 11:18 #31
prøv det her:
$get = mysql_query("SELECT adgang FROM brugere WHERE brugernavn = '".$_SESSION['brugernavn']."' LIMIT 1") or die(mysql_error()); // henter adgang for bruger der er logget ind
Avatar billede bravida Nybegynder
10. november 2006 - 11:37 #32
Efter afprøvning med dette stykke kode, vises der stradig: adgang =

<?php
session_start();
include("../Connections/cms.php");
$postbruger = $_POST['brugernavn'];
$postadgang = $_POST['adgangskode'];
$_SESSION['brugernavn'] = $postbruger;
$_SESSION['adgangskode'] = $postadgang;

$bruger = $_SESSION['brugernavn'];
$get = mysql_query("SELECT adgang FROM brugere WHERE brugernavn = '".$_SESSION['brugernavn']."' LIMIT 1") or die(mysql_error()); // henter adgang for bruger der er logget ind
$show = mysql_fetch_array($get);
$adgang = $show[adgang];

echo"adgang = $adgang";

?>
Avatar billede michaeltryl Seniormester
10. november 2006 - 11:54 #33
prøv lige at lave en ny side med dette på

<?
$get = mysql_query("SELECT * FROM brugere") or die(mysql_error()); // henter adgang for bruger der er logget ind
$show = mysql_fetch_array($get);
{
$brugernavn = $show[brugernavn];
$adgang = $show[adgang];

echo"$brugernavn - $adgang<br>";
}
?>
så skulle du gerne få en liste med alle brugernavnene i databsen og efter hvert navn skal deres adgangs nr. stå
Avatar billede bravida Nybegynder
10. november 2006 - 12:06 #34
Mener du sådan her:

<?php
session_start();
include("../Connections/cms.php");
$postbruger = $_POST['brugernavn'];
$postadgang = $_POST['adgangskode'];
$_SESSION['brugernavn'] = $postbruger;
$_SESSION['adgangskode'] = $postadgang;

$bruger = $_SESSION['brugernavn'];
$get = mysql_query("SELECT * FROM brugere") or die(mysql_error()); // henter adgang for bruger der er logget ind
$show = mysql_fetch_array($get);
{
$brugernavn = $show[brugernavn];
$adgang = $show[adgang];

echo"$brugernavn - $adgang<br>";
}
?>
Avatar billede michaeltryl Seniormester
10. november 2006 - 12:08 #35
glem et øjblik login systemet og bare lav en ny side som du kan kalde f.eks test.php.
i denne fil indsætter du kun dette

<?
include("../Connections/cms.php");
$get = mysql_query("SELECT * FROM brugere") or die(mysql_error()); // henter adgang for bruger der er logget ind
$show = mysql_fetch_array($get);
{
$brugernavn = $show[brugernavn];
$adgang = $show[adgang];

echo"$brugernavn - $adgang<br>";
}
?>

upload den og åben den i din browser
så skulle du gerne få en liste med alle brugernavnene i databsen og efter hvert navn skal deres adgangs nr. stå
Avatar billede bravida Nybegynder
10. november 2006 - 12:12 #36
Ok: var vist sådan du mente.

Vise dette uanset hvilken admin_1 eller admin_2 eller admin_3 jeg logger ind med det samme hele tiden: admin_1 - 1

<?php
session_start();
include("../Connections/cms.php");
$get = mysql_query("SELECT * FROM brugere") or die(mysql_error()); // henter adgang for bruger der er logget ind
$show = mysql_fetch_array($get);
{
$brugernavn = $show[brugernavn];
$adgang = $show[adgang];

echo"$brugernavn - $adgang<br>";
}
?>
Avatar billede michaeltryl Seniormester
10. november 2006 - 12:17 #37
du skal ikke logge ind bare åbne siden test.php
Avatar billede bravida Nybegynder
10. november 2006 - 12:31 #38
Viser dette på siden: admin_1 - 1
Avatar billede michaeltryl Seniormester
10. november 2006 - 12:46 #39
og du er sikker på der er flere brugere i databasen?
prøv lige at skifte koden i test.php ud med dette og skriv hvad den udskriver

<?php
include("../Connections/cms.php");
$tael = mysql_query("SELECT COUNT(*) AS antal FROM brugere") or die(mysql_error());
$row = mysql_fetch_array($tael);
{
$antal = $row[antal];
echo "$antal";
}
?>
Avatar billede bravida Nybegynder
10. november 2006 - 12:58 #40
og du er sikker på der er flere brugere i databasen? Disse her:
admin_1    adgang 1
admin_2    adgang 2
admin_3    adgang 3
admin_4    adgang 4
admin_5    adgang 5

Efter indsættelse af det sidste stykke kode, viser den: 5
Avatar billede sw_red_6 Nybegynder
10. november 2006 - 13:21 #41
heh prøv at bruge det her i stedet for:
<?php
session_start();
include("../Connections/cms.php");
$get = mysql_query("SELECT * FROM brugere") or die(mysql_error()); // henter adgang for bruger der er logget ind
while ($show = mysql_fetch_array($get)) {
$brugernavn = $show[brugernavn];
$adgang = $show[adgang];

echo"$brugernavn - $adgang<br>";
}
?>
Avatar billede bravida Nybegynder
10. november 2006 - 13:25 #42
Så vises dette på test.php

admin_1 - 1
admin_2 - 2
admin_3 - 3
admin_4 - 4
admin_5 - 5
Avatar billede michaeltryl Seniormester
10. november 2006 - 13:32 #43
ja selvfølgelig sw_red_6 den havde jeg ikke lige set

så burde dette virke

<?
session_start();
include("../Connections/cms.php");
$postbruger = $_POST['brugernavn'];
$postadgang = $_POST['adgangskode'];

$resultat = mysql_query("SELECT Id FROM `brugere` WHERE brugernavn = '$postbruger' AND adgangskode = '$postadgang'
$number = mysql_num_rows($resultat);//Tæller antaller af resultater

if($number == 1) {
$_SESSION['inde'] = 1;
$_SESSION['brugernavn'] = $postbruger;
$_SESSION['adgangskode'] = $postadgang;

$bruger = $_SESSION['brugernavn'];
$get = mysql_query("SELECT * FROM brugere WHERE brugernavn = '$bruger' LIMIT 1") or die(mysql_error()); // henter adgang for bruger der er logget ind
while ($show = mysql_fetch_array($get)) {

$adgang = $show[adgang];

if ($adgang == 1)
{
header("Location: index.php");
}

if ($adgang == 2)
{
header("Location: forside.php");
}

if ($adgang == 3)
{
header("Location: menu_2.php");
}
}
else
{
echo"Du er ikke logget ind";
}
?>
Avatar billede michaeltryl Seniormester
10. november 2006 - 13:35 #44
ups sådan herglemte lige en
}
lige før
?>

så slutningen af koden skal se sådan ud

echo"Du er ikke logget ind";
}
}
?>
Avatar billede bravida Nybegynder
10. november 2006 - 13:41 #45
Får nu denne linje fejl.

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in C:\Programmer\Apache Group\Apache2\htdocs\websted\admin\admin_sider.php on line 11
Avatar billede michaeltryl Seniormester
10. november 2006 - 13:45 #46
og er det admin_sider.php vi hjælper dig med her?
Avatar billede michaeltryl Seniormester
10. november 2006 - 13:47 #47
hvis det er så prøv dette

<?
session_start();
include("../Connections/cms.php");
$postbruger = $_POST['brugernavn'];
$postadgang = $_POST['adgangskode'];

$resultat = mysql_query("SELECT Id FROM `brugere` WHERE brugernavn = '$postbruger' AND adgangskode = '$postadgang'
$number = mysql_num_rows($resultat);//Tæller antaller af resultater

if($number == 1) {
$_SESSION['inde'] = 1;
$_SESSION['brugernavn'] = $postbruger;
$_SESSION['adgangskode'] = $postadgang;

$bruger = $_SESSION['brugernavn'];
$get = mysql_query("SELECT * FROM brugere WHERE brugernavn = '$bruger' LIMIT 1") or die(mysql_error()); // henter adgang for bruger der er logget ind
while ($show = mysql_fetch_array($get)) {

$adgang = $show[adgang];

if ($adgang == 1)
{
header("Location: index.php");
}

if ($adgang == 2)
{
header("Location: forside.php");
}

if ($adgang == 3)
{
header("Location: menu_2.php");
}
}
}
else
{
echo"Du er ikke logget ind";
}
?>
Avatar billede bravida Nybegynder
10. november 2006 - 13:56 #48
nu er jeg ikke helt med.

test.php som viser alle brugere fra databasen, skal jeg bruge den nu, eller ??

Har ikke brugt login menuen endnu vedr. test.php
Avatar billede michaeltryl Seniormester
10. november 2006 - 15:03 #49
nej du kan godt slette test.php nu
nu skal du gå tilbage og tænke på login systemet igen.
den side du taster login oplysningerne ind på og derefter trykker login den side sender til en side og den side den sender til skal indeholde den kode jeg har skrevt her
michaeltryl
10/11-2006 13:47:13
Avatar billede bravida Nybegynder
10. november 2006 - 15:42 #50
Ok så var det rigtig som jeg havde gjort.

Mit login sender mig til denne side: admin_sider.php
I admin_sider.php har jeg lagt koden ind: 10/11-2006 13:47:13

Får så denne linje fejl:

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in C:\Programmer\Apache Group\Apache2\htdocs\websted\admin\admin_sider.php on line 11
Avatar billede michaeltryl Seniormester
10. november 2006 - 15:53 #51
prøv at lave denne linie
$_SESSION['inde'] = 1;

om til

$_SESSION['inde'] = "1";
Avatar billede bravida Nybegynder
10. november 2006 - 15:59 #52
Stadig den samme fejl.
Avatar billede michaeltryl Seniormester
10. november 2006 - 16:12 #53
hvad så med dette

<?
session_start();
include("../Connections/cms.php");
$postbruger = $_POST['brugernavn'];
$postadgang = $_POST['adgangskode'];

$resultat = mysql_query("SELECT Id FROM `brugere` WHERE brugernavn = '$postbruger' AND adgangskode = '$postadgang'
$number = mysql_num_rows($resultat);//Tæller antaller af resultater

if($number == 1)
{
$_SESSION['inde'] = 1;
$_SESSION['brugernavn'] = $postbruger;
$_SESSION['adgangskode'] = $postadgang;

$bruger = $_SESSION['brugernavn'];
$get = mysql_query("SELECT * FROM brugere WHERE brugernavn = '$bruger' LIMIT 1") or die(mysql_error()); // henter adgang for bruger der er logget ind
while ($show = mysql_fetch_array($get)) {

$adgang = $show[adgang];
}
if ($adgang == 1)
{
header("Location: index.php");
}

else if ($adgang == 2)
{
header("Location: forside.php");
}

else if ($adgang == 3)
{
header("Location: menu_2.php");
}
}
else
{
echo"Du er ikke logget ind";
}
?>
Avatar billede bravida Nybegynder
10. november 2006 - 16:27 #54
Får så line 12 fejl 

denne linje: $_SESSION['inde'] = 1;
Avatar billede michaeltryl Seniormester
10. november 2006 - 16:31 #55
hvilken fejl får du
og hvis det er den samme så prøv

$_SESSION['inde'] = "1";
eller
$_SESSION['inde'] = '1';
Avatar billede bravida Nybegynder
10. november 2006 - 16:37 #56
Får samme fejl ved at prøve dem begge: $_SESSION['inde'] = "1";
                                      $_SESSION['inde'] = '1';

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in C:\Programmer\Apache Group\Apache2\htdocs\websted\admin\admin_sider.php on line 12
Avatar billede michaeltryl Seniormester
10. november 2006 - 16:48 #57
tror jeg har fundet fejlen nu
der er en fejl i denne linie
$resultat = mysql_query("SELECT Id FROM `brugere` WHERE brugernavn = '$postbruger' AND adgangskode = '$postadgang'

prøv med dette

<?
session_start();
include("../Connections/cms.php");
$postbruger = $_POST['brugernavn'];
$postadgang = $_POST['adgangskode'];

$resultat = mysql_query("SELECT Id FROM `brugere` WHERE brugernavn = '$postbruger' AND adgangskode = '$postadgang'");
$number = mysql_num_rows($resultat);//Tæller antaller af resultater

if($number == 1)
{
$_SESSION['inde'] = 1;
$_SESSION['brugernavn'] = $postbruger;
$_SESSION['adgangskode'] = $postadgang;

$bruger = $_SESSION['brugernavn'];
$get = mysql_query("SELECT * FROM brugere WHERE brugernavn = '$bruger' LIMIT 1") or die(mysql_error()); // henter adgang for bruger der er logget ind
while ($show = mysql_fetch_array($get)) {

$adgang = $show[adgang];
}
if ($adgang == 1)
{
header("Location: index.php");
}

else if ($adgang == 2)
{
header("Location: forside.php");
}

else if ($adgang == 3)
{
header("Location: menu_2.php");
}
}
else
{
echo"Du er ikke logget ind";
}
?>
Avatar billede bravida Nybegynder
10. november 2006 - 16:54 #58
Får nu denne meddelse når jeg logger mig på: Du er ikke logget ind
Avatar billede michaeltryl Seniormester
10. november 2006 - 17:18 #59
hvad sker der hvis du imellem disse to linier

$number = mysql_num_rows($resultat);//Tæller antaller af resultater

if($number == 1)

skriver
echo"$number<br>";
Avatar billede bravida Nybegynder
10. november 2006 - 17:21 #60
Dette her:

0
Du er ikke logget ind
Avatar billede michaeltryl Seniormester
10. november 2006 - 17:58 #61
så prøv og bytte

echo"$number<br>";

ud med

echo "$postbruger<br>
echo"$postadgang";

så skulle der gerne stå brugernavn og adgansgs koden på den der prøver at logge ind
Avatar billede bravida Nybegynder
10. november 2006 - 19:38 #62
Får så denne fejl:

Parse error: parse error, expecting `','' or `';'' in C:\Programmer\Apache Group\Apache2\htdocs\websted\admin\admin_sider.php on line 10
Avatar billede michaeltryl Seniormester
10. november 2006 - 19:46 #63
ups jeg mente sådan

echo "$postbruger<br>";
echo"$postadgang";
Avatar billede bravida Nybegynder
10. november 2006 - 19:50 #64
Har nu afprøvet begge og får denne meddelse for begge to: Du er ikke logget ind
Avatar billede michaeltryl Seniormester
10. november 2006 - 19:55 #65
C:\Programmer\Apache Group\Apache2\htdocs\websted\admin\admin_sider.php

prøv lige at uploade filen til dit websted da stien
C:\Programmer\Apache Group\Apache2\htdocs\websted\admin\admin_sider.php ikke er en webadresse men stien til en fil på din computer
Avatar billede bravida Nybegynder
10. november 2006 - 21:47 #66
Vedr. svar: 10/11-2006 19:55:52

Det er total det samme som på min egen server. De samme fejlmeddelser.
Avatar billede michaeltryl Seniormester
10. november 2006 - 23:30 #67
det er mærkeligt jeg synes ikke jeg kan se nogen fejl, men har prøvet noget lidt andet, så prøv lige denne kode

<?
session_start();
include("../Connections/cms.php");
$postbruger = $_POST['brugernavn'];
$postadgang = $_POST['adgangskode'];

$tael = mysql_query("SELECT COUNT(*) AS antal FROM brugere WHERE brugernavn = '$postbruger' AND adgangskode = '$postadgang'") or die(mysql_error());
while ($a = mysql_fetch_array($tael)) {

$antal = $a[antal];
}

if($antal == 1)
{
$_SESSION['inde'] = 1;
$_SESSION['brugernavn'] = $postbruger;
$_SESSION['adgangskode'] = $postadgang;

$bruger = $_SESSION['brugernavn'];
$get = mysql_query("SELECT * FROM brugere WHERE brugernavn = '$bruger' LIMIT 1") or die(mysql_error()); // henter adgang for bruger der er logget ind
while ($show = mysql_fetch_array($get)) {

$adgang = $show[adgang];
}
if ($adgang == 1)
{
header("Location: index.php");
}

else if ($adgang == 2)
{
header("Location: forside.php");
}

else if ($adgang == 3)
{
header("Location: menu_2.php");
}
}
else
{
echo"Du er ikke logget ind";
}
?>
Avatar billede bravida Nybegynder
10. november 2006 - 23:38 #68
Stadig det samme: Du er ikke logget ind
Avatar billede michaeltryl Seniormester
10. november 2006 - 23:55 #69
hvad hvis du ændre de to gange der står

else if

til

else
Avatar billede bravida Nybegynder
11. november 2006 - 00:06 #70
Så kommer der en line fejl 31
Avatar billede michaeltryl Seniormester
11. november 2006 - 00:11 #71
nu har jeg tjekket det hele igennem igen og fandt endnu en lille fejl som jeg havde glemt at tjekke for før.
det er vist for sent at sige 3. gang er lykkens gang, men prøv nu lige det her jeg vil næsten tro den er der nu

<?php
session_start();
include("../Connections/cms.php");

$postbruger = $_POST['brugernavn'];
$postadgang = $_POST['adgangskode'];
       
$resultat = mysql_query("SELECT id FROM `brugere` WHERE brugernavn = '$postbruger' AND adgangskode = '$postadgang'");
$number = mysql_num_rows($resultat);//Tæller antaller af resultater
if($number == 1) {
        $_SESSION['inde'] = 1;
        $_SESSION['brugernavn'] = $postbruger;
        $_SESSION['adgangskode'] = $postadgang;

$bruger = $_SESSION['brugernavn'];
$hvor = mysql_query("SELECT * FROM brugere WHERE brugernavn = '$bruger' LIMIT 1") or die(mysql_error());
while ($a = mysql_fetch_array($hvor)) {

$adgang = $show[adgang];

}
if ($adgang == 1)
{
header("Location: index.php");
}

else if ($adgang == 2)
{
header("Location: forside.php");
}

else if ($adgang == 3)
{
header("Location: menu_2.php");
}
}
else
{
echo"Du er ikke logget ind";
}


?>
Avatar billede bravida Nybegynder
11. november 2006 - 00:24 #72
Stadig det samme: Du er ikke logget ind
Avatar billede michaeltryl Seniormester
11. november 2006 - 00:30 #73
okay hvad får du hvis du indsætter

echo "$postbruger <br>$postadgang";

lige efter
$postbruger = $_POST['brugernavn'];
$postadgang = $_POST['adgangskode'];

og så prøver at logge ind
Avatar billede michaeltryl Seniormester
11. november 2006 - 00:32 #74
der skulle gerne komme til at stå brugernavn og password på den der logger ind
Avatar billede ellebaek Nybegynder
11. november 2006 - 00:36 #75
undskyld jeg lige blander mig igen... Jeg har efterhånden fået ret mange mails om dette spg, så nu kommer jeg lige med mit besyv..

<?php
session_start();
include("../Connections/cms.php");

$postbruger = $_POST['brugernavn'];
$postadgang = $_POST['adgangskode'];
     
$resultat = mysql_query("SELECT adgang FROM `brugere` WHERE brugernavn = '$postbruger' AND adgangskode = '$postadgang'");
$number = mysql_num_rows($resultat);//Tæller antaller af resultater
if($number == 1) {
  $_SESSION['inde'] = 1;
  $_SESSION['brugernavn'] = $postbruger;
  $_SESSION['adgangskode'] = $postadgang;

$row = mysql_fetch_array($resultat);
$adgang = $show[0];

}

switch ($adgang) {
case 1:
  header("Location: index.php");
  break;
case 2:
  header("Location: forside.php");
  break;
case 3:
  header("Location: menu_2.php");
  break;
case else:
  echo "Du er ikke logget ind";
  break;
}
?>
der er rigtig mange variable i spil. Jeg har ryddet en del op i dem, lavet nogle lidt mere begrænsede udtræk, og så ellers valgt det rette element fra det array der bliver hentet i recordsettet....

prøv dette, det burde kunne gøre tricket...
Avatar billede ellebaek Nybegynder
11. november 2006 - 00:38 #76
og så skriver jeg self forkert....

<?php
session_start();
include("../Connections/cms.php");

$postbruger = $_POST['brugernavn'];
$postadgang = $_POST['adgangskode'];
   
$resultat = mysql_query("SELECT adgang FROM `brugere` WHERE brugernavn = '$postbruger' AND adgangskode = '$postadgang'");
$number = mysql_num_rows($resultat);//Tæller antaller af resultater
if($number == 1) {
  $_SESSION['inde'] = 1;
  $_SESSION['brugernavn'] = $postbruger;
  $_SESSION['adgangskode'] = $postadgang;

$row = mysql_fetch_array($resultat);
$adgang = $row[0];

}

switch ($adgang) {
case 1:
  header("Location: index.php");
  break;
case 2:
  header("Location: forside.php");
  break;
case 3:
  header("Location: menu_2.php");
  break;
case else:
  echo "Du er ikke logget ind";
  break;
}
?>

sådan her...
Avatar billede ellebaek Nybegynder
11. november 2006 - 00:41 #77
og bare for at spare en variabel mere, så kunne man slå de her 2 linier:

$number = mysql_num_rows($resultat);//Tæller antaller af resultater
if($number == 1) {

sammen til:

if(mysql_num_rows($resultat) == 1) {
Avatar billede bravida Nybegynder
11. november 2006 - 10:52 #78
michaeltryl: Vedr. svar: 11/11-2006 00:30:50 > Stadig det samme: Du er ikke logget ind
************************************************************************************
ellebaek: Vedr. svar: 11/11-2006 00:38:35 > Får denne line fejl.

Parse error: parse error in C:\Programmer\Apache Group\Apache2\htdocs\websted\admin\admin_sider.php on line 30
Avatar billede ellebaek Nybegynder
11. november 2006 - 11:00 #79
det er ikke til når man blander php og asp sammen :-)

denne linie:
case else:

skal ændres til:
default:
Avatar billede bravida Nybegynder
11. november 2006 - 11:23 #80
ellebaek: Så er jeg tilbage til samme stadie igen.

Denne meddelse: Du er ikke logget ind
Avatar billede ellebaek Nybegynder
11. november 2006 - 11:47 #81
okay...

nu skal du vise alt det kode som siden skriver ud til dig:

<?php
session_start();
include("../Connections/cms.php");

$postbruger = $_POST['brugernavn'];
$postadgang = $_POST['adgangskode'];
 
$query = "SELECT adgang FROM `brugere` WHERE brugernavn = '$postbruger' AND adgangskode = '$postadgang'";
echo $query . "<br>";
$resultat = mysql_query($query);

$number = mysql_num_rows($resultat);//Tæller antaller af resultater
if($number == 1) {
  echo "Der er fundet en række<br>";
  $_SESSION['inde'] = 1;
  $_SESSION['brugernavn'] = $postbruger;
  $_SESSION['adgangskode'] = $postadgang;

$row = mysql_fetch_array($resultat);
$adgang = $row[0];
echo "Adgang på følgende niveau: " . $adgang . "<br>";
}
else {
echo "Der er dette antal records: " . $number;
}

switch ($adgang) {
case 1:
  header("Location: index.php");
  break;
case 2:
  header("Location: forside.php");
  break;
case 3:
  header("Location: menu_2.php");
  break;
case else:
  echo "Du er ikke logget ind";
  break;
}
?>
Avatar billede bravida Nybegynder
11. november 2006 - 11:51 #82
Blander du ikke igen asp og php sammen ?? vedr. koden ovenover
Avatar billede ellebaek Nybegynder
11. november 2006 - 11:57 #83
hehe jo :-)
lige en gang copy-paste for meget uden lige at fange den med default: :-)

Fikser du selv den, så skal jeg nok rette den til de næste indlæg..
Avatar billede bravida Nybegynder
11. november 2006 - 12:01 #84
Denne fejlmeddelse:

SELECT adgang FROM `brugere` WHERE brugernavn = '' AND adgangskode = ''
Der er dette antal records: 0Du er ikke logget ind
Avatar billede ellebaek Nybegynder
11. november 2006 - 12:05 #85
godt så... der kommer ikke nogen felter med over, i hvert fald ikke som den er nu...
prøv lige det samme her:

<?php
session_start();
include("../Connections/cms.php");

$postbruger = $_POST['brugernavn'];
$postadgang = $_POST['adgangskode'];

$query = "SELECT adgang FROM `brugere` WHERE brugernavn = '".$postbruger."' AND adgangskode = '".$postadgang."'";
echo $query . "<br>";
$resultat = mysql_query($query);

$number = mysql_num_rows($resultat);//Tæller antaller af resultater
if($number == 1) {
  echo "Der er fundet en række<br>";
  $_SESSION['inde'] = 1;
  $_SESSION['brugernavn'] = $postbruger;
  $_SESSION['adgangskode'] = $postadgang;

$row = mysql_fetch_array($resultat);
$adgang = $row[0];
echo "Adgang på følgende niveau: " . $adgang . "<br>";
}
else {
echo "Der er dette antal records: " . $number;
}

switch ($adgang) {
case 1:
  header("Location: index.php");
  break;
case 2:
  header("Location: forside.php");
  break;
case 3:
  header("Location: menu_2.php");
  break;
default:
  echo "Du er ikke logget ind";
  break;
}
?>
Avatar billede bravida Nybegynder
11. november 2006 - 12:09 #86
Denne fejlmeddelse:

SELECT adgang FROM `brugere` WHERE brugernavn = '' AND adgangskode = ''
Der er dette antal records: 0Du er ikke logget ind
Avatar billede ellebaek Nybegynder
11. november 2006 - 12:12 #87
okay...altså ligger fejlen i disse linier...


$postbruger = $_POST['brugernavn'];
$postadgang = $_POST['adgangskode'];

hvordan ser din form ud?
Altså der hvor du taster brugernavn og password ind..
Avatar billede bravida Nybegynder
11. november 2006 - 12:14 #88
<?php require_once('../Connections/cms.php'); ?>
<?php
// *** Validate request to login to this site.
session_start();

$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($accesscheck)) {
  $GLOBALS['PrevUrl'] = $accesscheck;
  session_register('PrevUrl');
}

if (isset($_POST['brugernavn'])) {
  $loginUsername=$_POST['brugernavn'];
  $password=$_POST['adgangskode'];
  $MM_fldUserAuthorization = "adgang";
  $MM_redirectLoginSuccess = "admin_sider.php";
  $MM_redirectLoginFailed = "login.php";
  $MM_redirecttoReferrer = false;
  mysql_select_db($database_cms, $cms);
     
  $LoginRS__query=sprintf("SELECT brugernavn, adgangskode, adgang FROM brugere WHERE brugernavn='%s' AND adgangskode='%s'",
  get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password));
 
  $LoginRS = mysql_query($LoginRS__query, $cms) or die(mysql_error());
  $loginFoundUser = mysql_num_rows($LoginRS);
  if ($loginFoundUser) {
   
    $loginStrGroup  = mysql_result($LoginRS,0,'adgang');
   
    //declare two session variables and assign them
    $GLOBALS['MM_Username'] = $loginUsername;
    $GLOBALS['MM_UserGroup'] = $loginStrGroup;         

    //register the session variables
    session_register("MM_Username");
    session_register("MM_UserGroup");

    if (isset($_SESSION['PrevUrl']) && false) {
      $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];   
    }
    header("Location: " . $MM_redirectLoginSuccess );
  }
  else {
      header("Location: ". $MM_redirectLoginFailed );
  }
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Login</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.style2 {color: #FFFFFF}
-->
</style>
</head>

<body>
<form ACTION="<?php echo $loginFormAction; ?>" method="POST" name="login" id="login">
  <table width="400" border="0" align="center" cellpadding="1" cellspacing="0">
    <tr>
      <td><div align="center">
        <table width="100%"  border="0" cellspacing="0" cellpadding="2">
          <tr bgcolor="#CCCCCC">
            <td width="28%" class="style2">Log p&aring;</td>
            <td width="72%">&nbsp;</td>
          </tr>
          <tr>
            <td>Brugernavn:</td>
            <td><input name="brugernavn" type="text" id="brugernavn" size="40"></td>
          </tr>
          <tr>
            <td>Adgangskode:</td>
            <td><input name="adgangskode" type="password" id="adgangskode" size="40"></td>
          </tr>
          <tr>
            <td>&nbsp;</td>
            <td><input name="log p&aring;" type="submit" id="log p&aring;" value="Log p&aring;"></td>
          </tr>
        </table>
      </div></td>
    </tr>
  </table>
</form>
</body>
</html>
Avatar billede ellebaek Nybegynder
11. november 2006 - 12:20 #89
Jeg tror muligvis det er fordi det er en forkert fil der er ændret i, har ikke rigtig styr på hvad der er hvad... men prøv lige denne kode engang... istedet for det du postede før...

<?php require_once('../Connections/cms.php'); ?>
<?php
// *** Validate request to login to this site.
session_start();

$loginFormAction = $_SERVER['PHP_SELF'];

if (isset($_POST['brugernavn'])) {
$postbruger = $_POST['brugernavn'];
$postadgang = $_POST['adgangskode'];

$query = "SELECT adgang FROM `brugere` WHERE brugernavn = '".$postbruger."' AND adgangskode = '".$postadgang."'";
echo $query . "<br>";
$resultat = mysql_query($query);

$number = mysql_num_rows($resultat);//Tæller antaller af resultater
if($number == 1) {
  echo "Der er fundet en række<br>";
  $_SESSION['inde'] = 1;
  $_SESSION['brugernavn'] = $postbruger;
  $_SESSION['adgangskode'] = $postadgang;

$row = mysql_fetch_array($resultat);
$adgang = $row[0];
echo "Adgang på følgende niveau: " . $adgang . "<br>";
}
else {
echo "Der er dette antal records: " . $number;
}

switch ($adgang) {
case 1:
  header("Location: index.php");
  break;
case 2:
  header("Location: forside.php");
  break;
case 3:
  header("Location: menu_2.php");
  break;
default:
  echo "Du er ikke logget ind";
  break;
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Login</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.style2 {color: #FFFFFF}
-->
</style>
</head>

<body>
<form ACTION="<?php echo $loginFormAction; ?>" method="POST" name="login" id="login">
  <table width="400" border="0" align="center" cellpadding="1" cellspacing="0">
    <tr>
      <td><div align="center">
        <table width="100%"  border="0" cellspacing="0" cellpadding="2">
          <tr bgcolor="#CCCCCC">
            <td width="28%" class="style2">Log p&aring;</td>
            <td width="72%">&nbsp;</td>
          </tr>
          <tr>
            <td>Brugernavn:</td>
            <td><input name="brugernavn" type="text" id="brugernavn" size="40"></td>
          </tr>
          <tr>
            <td>Adgangskode:</td>
            <td><input name="adgangskode" type="password" id="adgangskode" size="40"></td>
          </tr>
          <tr>
            <td>&nbsp;</td>
            <td><input name="log p&aring;" type="submit" id="log p&aring;" value="Log p&aring;"></td>
          </tr>
        </table>
      </div></td>
    </tr>
  </table>
</form>
</body>
</html>
Avatar billede bravida Nybegynder
11. november 2006 - 12:28 #90
Se sådan ud når man logger sig på:

SELECT adgang FROM `brugere` WHERE brugernavn = 'admin_2' AND adgangskode = '1234'
Der er fundet en række
Adgang på følgende niveau: 2

Warning: Cannot modify header information - headers already sent by (output started at C:\Programmer\Apache Group\Apache2\htdocs\websted\admin\login.php:13) in C:\Programmer\Apache Group\Apache2\htdocs\websted\admin\login.php on line 36

Log på 
Brugernavn: 
Adgangskode:
Avatar billede ellebaek Nybegynder
11. november 2006 - 12:29 #91
godt... nu virker det som det skal...

<?php require_once('../Connections/cms.php'); ?>
<?php
// *** Validate request to login to this site.
session_start();

$loginFormAction = $_SERVER['PHP_SELF'];

if (isset($_POST['brugernavn'])) {
$postbruger = $_POST['brugernavn'];
$postadgang = $_POST['adgangskode'];

$query = "SELECT adgang FROM `brugere` WHERE brugernavn = '".$postbruger."' AND adgangskode = '".$postadgang."'";
$resultat = mysql_query($query);

$number = mysql_num_rows($resultat);//Tæller antaller af resultater
if($number == 1) {
  $_SESSION['inde'] = 1;
  $_SESSION['brugernavn'] = $postbruger;
  $_SESSION['adgangskode'] = $postadgang;

$row = mysql_fetch_array($resultat);
$adgang = $row[0];
}

switch ($adgang) {
case 1:
  header("Location: index.php");
  break;
case 2:
  header("Location: forside.php");
  break;
case 3:
  header("Location: menu_2.php");
  break;
default:
  echo "Du er ikke logget ind";
  break;
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Login</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.style2 {color: #FFFFFF}
-->
</style>
</head>

<body>
<form ACTION="<?php echo $loginFormAction; ?>" method="POST" name="login" id="login">
  <table width="400" border="0" align="center" cellpadding="1" cellspacing="0">
    <tr>
      <td><div align="center">
        <table width="100%"  border="0" cellspacing="0" cellpadding="2">
          <tr bgcolor="#CCCCCC">
            <td width="28%" class="style2">Log p&aring;</td>
            <td width="72%">&nbsp;</td>
          </tr>
          <tr>
            <td>Brugernavn:</td>
            <td><input name="brugernavn" type="text" id="brugernavn" size="40"></td>
          </tr>
          <tr>
            <td>Adgangskode:</td>
            <td><input name="adgangskode" type="password" id="adgangskode" size="40"></td>
          </tr>
          <tr>
            <td>&nbsp;</td>
            <td><input name="log p&aring;" type="submit" id="log p&aring;" value="Log p&aring;"></td>
          </tr>
        </table>
      </div></td>
    </tr>
  </table>
</form>
</body>
</html>

så skal du bare erstatte det hele med denne kode i stedet...
Avatar billede bravida Nybegynder
11. november 2006 - 12:40 #92
Uanset hvilken admin jeg logger ind med får jeg denne besked fra siden som jeg vil ind på.

Du har ikke adgang hertil

Hvis du kikker på dette link kan du se hvordan det forholder sig.

http://home1.stofanet.dk/duo2/
Avatar billede ellebaek Nybegynder
11. november 2006 - 12:47 #93
okay...nu er jeg ved at være med i hvad det er der skal ske...

det kan ikke betale sig at gøre det med login delen, med en switch eller if eller tilsvarende.. i stedet vil jeg anbefale dig at du laver et felt mere i databasen, som indeholder oplysning om hvilken side brugeren skal sendes til når han er logget ind, altså index.php, forside.php, menu_2.php etc...

kald dette felt fx: loginside.

så skal du rette login siden til dette:

<?php require_once('../Connections/cms.php'); ?>
<?php
// *** Validate request to login to this site.
session_start();

$loginFormAction = $_SERVER['PHP_SELF'];

if (isset($_POST['brugernavn'])) {
$postbruger = $_POST['brugernavn'];
$postadgang = $_POST['adgangskode'];

$query = "SELECT adgang, loginside FROM `brugere` WHERE brugernavn = '".$postbruger."' AND adgangskode = '".$postadgang."'";
$resultat = mysql_query($query);

$number = mysql_num_rows($resultat);//Tæller antaller af resultater
$row = mysql_fetch_array($resultat);
if($number == 1) {
  $adgang = $row[0];
  $_SESSION['inde'] = 1;
  $_SESSION['adgang'] = $adgang;
  $_SESSION['brugernavn'] = $postbruger;
  $_SESSION['adgangskode'] = $postadgang;

  header("Location: " . $row[1]);

}
else {
echo "Login failed";
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Login</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.style2 {color: #FFFFFF}
-->
</style>
</head>

<body>
<form ACTION="<?php echo $loginFormAction; ?>" method="POST" name="login" id="login">
  <table width="400" border="0" align="center" cellpadding="1" cellspacing="0">
    <tr>
      <td><div align="center">
        <table width="100%"  border="0" cellspacing="0" cellpadding="2">
          <tr bgcolor="#CCCCCC">
            <td width="28%" class="style2">Log p&aring;</td>
            <td width="72%">&nbsp;</td>
          </tr>
          <tr>
            <td>Brugernavn:</td>
            <td><input name="brugernavn" type="text" id="brugernavn" size="40"></td>
          </tr>
          <tr>
            <td>Adgangskode:</td>
            <td><input name="adgangskode" type="password" id="adgangskode" size="40"></td>
          </tr>
          <tr>
            <td>&nbsp;</td>
            <td><input name="log p&aring;" type="submit" id="log p&aring;" value="Log p&aring;"></td>
          </tr>
        </table>
      </div></td>
    </tr>
  </table>
</form>
</body>
</html>

Nu bliver du så sendt til den side som ligger i databasen...

herefter skal du rette disse linier:
if ($row['adgang'] != "2") {
echo "<p style=\"color: #ff0000; margin: 0px; font-weight: bold;\">Du har ikke adgang hertil</p>";
exit;

til:
if ($row['adgang'] != 2) {
echo "<p style=\"color: #ff0000; margin: 0px; font-weight: bold;\">Du har ikke adgang hertil</p>";
exit;

dette da der er forskel på om $row['adgang'] er en streng eller et tal, og i dit tilfælde er det et tal... Så er vi vidst ved at være ved målet tror jeg:-)
Avatar billede bravida Nybegynder
11. november 2006 - 13:00 #94
Nej det dur ikke som du foreslå. Det skal være som det er i myadmin med feltet adgang for hver bruger. Det er så tallet i feltet der bestemmer hvilken administrationsside vedkommen må få adgang til.

Jeg har en fil lavet hvor topadministrator kan se brugernavn, password, adgangs nr.
På denne side kan administratoren skifte adgangsnr. ud for oprettet bruger.

Hver bruger kan også på sin admin side selv skifte password.

Så det skal være sådan at når brugeren logger sig på med tildelt adgangs nr. kommer bruger kun til den side som indeholder det rette adgangs nr.
Avatar billede ellebaek Nybegynder
11. november 2006 - 13:02 #95
okay... hmm... men hvordan gemmer du så hvilken side hvilket nummer referere til? for som jeg forstår det, så er det dynamisk...?
Avatar billede bravida Nybegynder
11. november 2006 - 13:06 #96
I hver admin side er der indsat et stykke kode som indeholder adgangs nr. for siden.
Der er ingen admin side som har samme nr.
Avatar billede ellebaek Nybegynder
11. november 2006 - 13:13 #97
okay... men det er et dynamisk antal sider der er eller hvad..?

hvis det er tilfældet, så ville jeg vælge at lave en tabel mere der hedder fx:
side_adgang

denne tabel indeholder:
  - sidenavn
  - adgang

så får du altså en tabel der har fx. disse oplysninger:
index.php      1
loggetind.php  2
menu_2.php    3

og sådan... hvis du gør det, så bliver det stadig til at arbejde med..
så skal du rette disse linier kode her fra det kode jeg gav dig før:
if (isset($_POST['brugernavn'])) {
$postbruger = $_POST['brugernavn'];
$postadgang = $_POST['adgangskode'];

$query = "SELECT adgang, loginside FROM `brugere` WHERE brugernavn = '".$postbruger."' AND adgangskode = '".$postadgang."'";
$resultat = mysql_query($query);

$number = mysql_num_rows($resultat);//Tæller antaller af resultater
$row = mysql_fetch_array($resultat);
if($number == 1) {
  $adgang = $row[0];
  $_SESSION['inde'] = 1;
  $_SESSION['adgang'] = $adgang;
  $_SESSION['brugernavn'] = $postbruger;
  $_SESSION['adgangskode'] = $postadgang;

  header("Location: " . $row[1]);

}

til det her:
if (isset($_POST['brugernavn'])) {
$postbruger = $_POST['brugernavn'];
$postadgang = $_POST['adgangskode'];

$query = "SELECT adgang FROM `brugere` WHERE brugernavn = '".$postbruger."' AND adgangskode = '".$postadgang."'";
$resultat = mysql_query($query);

$number = mysql_num_rows($resultat);//Tæller antaller af resultater
$row = mysql_fetch_array($resultat);
if($number == 1) {
  $adgang = $row[0];
  $_SESSION['inde'] = 1;
  $_SESSION['adgang'] = $adgang;
  $_SESSION['brugernavn'] = $postbruger;
  $_SESSION['adgangskode'] = $postadgang;

  $query = "SELECT sidenavn FROM side_adgang WHERE adgang = " . $row[0];
  $result = mysql_query($result);

  if (mysql_num_rows($result) == 1) {
    $row = mysql_fetch_array($result);
    header("Location: " . $row[0]);
  }
}

fordelen ved at gøre det på denne måde er at du er sikker på du bare kan tilføje en side mere uden at skulle til at ændre i koden på siden...
Avatar billede bravida Nybegynder
11. november 2006 - 13:29 #98
ok. Har nu oprettet en ny tabel i phpmyadmin.
Navn: side_adgang. Indeholder 3 felter - id - sidenavn - adgang
Har oprettet 3 sider i tabellen.

Er dette korrekt. ??
Avatar billede ellebaek Nybegynder
11. november 2006 - 13:30 #99
ja... det skulle det være....
så er det bare at teste login systemet igen:-)
Avatar billede bravida Nybegynder
11. november 2006 - 13:37 #100
Indsæt lige den login kode som du mener er rigtig og virker nu.
Avatar billede bravida Nybegynder
11. november 2006 - 14:33 #101
Har nu afprøvet med koden som du har anvist. Ser sådan ud.

<?php require_once('../Connections/cms.php'); ?>
<?php
// *** Validate request to login to this site.
session_start();

$loginFormAction = $_SERVER['PHP_SELF'];

if (isset($_POST['brugernavn'])) {
$postbruger = $_POST['brugernavn'];
$postadgang = $_POST['adgangskode'];

$query = "SELECT adgang FROM `brugere` WHERE brugernavn = '".$postbruger."' AND adgangskode = '".$postadgang."'";
$resultat = mysql_query($query);

$number = mysql_num_rows($resultat);//Tæller antaller af resultater
$row = mysql_fetch_array($resultat);
if($number == 1) {
  $adgang = $row[0];
  $_SESSION['inde'] = 1;
  $_SESSION['adgang'] = $adgang;
  $_SESSION['brugernavn'] = $postbruger;
  $_SESSION['adgangskode'] = $postadgang;

  $query = "SELECT sidenavn FROM side_adgang WHERE adgang = " . $row[0];
  $result = mysql_query($result);

  if (mysql_num_rows($result) == 1) {
    $row = mysql_fetch_array($result);
    header("Location: " . $row[0]);
  }
}
else {
echo "Login failed";
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Login</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.style2 {color: #FFFFFF}
-->
</style>
</head>

<body>
<form ACTION="<?php echo $loginFormAction; ?>" method="POST" name="login" id="login">
  <table width="400" border="0" align="center" cellpadding="1" cellspacing="0">
    <tr>
      <td><div align="center">
        <table width="100%"  border="0" cellspacing="0" cellpadding="2">
          <tr bgcolor="#CCCCCC">
            <td width="28%" class="style2">Log p&aring;</td>
            <td width="72%">&nbsp;</td>
          </tr>
          <tr>
            <td>Brugernavn:</td>
            <td><input name="brugernavn" type="text" id="brugernavn" size="40"></td>
          </tr>
          <tr>
            <td>Adgangskode:</td>
            <td><input name="adgangskode" type="password" id="adgangskode" size="40"></td>
          </tr>
          <tr>
            <td>&nbsp;</td>
            <td><input name="log p&aring;" type="submit" id="log p&aring;" value="Log p&aring;"></td>
          </tr>
        </table>
      </div></td>
    </tr>
  </table>
</form>
</body>
</html>

Får nu denne fejlmeddelse:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Programmer\Apache Group\Apache2\htdocs\websted\admin\login.php on line 27

Log på 
Brugernavn: 
Adgangskode:
Avatar billede ellebaek Nybegynder
11. november 2006 - 15:54 #102
undskyld jeg ikke svarede før nu...

men det var en tastefejl før...
du skal rette denne linie:
$result = mysql_query($result);

til:
$result = mysql_query($query);
Avatar billede bravida Nybegynder
11. november 2006 - 16:07 #103
Prøv at kikke den igennem, er rettet ?? Se fejlmeddelse
Avatar billede bravida Nybegynder
11. november 2006 - 16:07 #104
11/11-2006 14:33:31
Avatar billede ellebaek Nybegynder
12. november 2006 - 13:05 #105
får du stadig samme fejl?

<?php require_once('../Connections/cms.php'); ?>
<?php
// *** Validate request to login to this site.
session_start();

$loginFormAction = $_SERVER['PHP_SELF'];

if (isset($_POST['brugernavn'])) {
$postbruger = $_POST['brugernavn'];
$postadgang = $_POST['adgangskode'];

$query = "SELECT adgang FROM `brugere` WHERE brugernavn = '".$postbruger."' AND adgangskode = '".$postadgang."'";
$resultat = mysql_query($query);

$number = mysql_num_rows($resultat);//Tæller antaller af resultater
if($number == 1) {
  $row = mysql_fetch_array($resultat);
  $adgang = $row[0];
  $_SESSION['inde'] = 1;
  $_SESSION['adgang'] = $adgang;
  $_SESSION['brugernavn'] = $postbruger;
  $_SESSION['adgangskode'] = $postadgang;

  $query = "SELECT sidenavn FROM side_adgang WHERE adgang = " . $adgang;
  $result = mysql_query($query);

  if (mysql_num_rows($result) == 1) {
    $row = mysql_fetch_array($result);
    header("Location: " . $row[0]);
  }
}
else {
echo "Login failed";
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Login</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.style2 {color: #FFFFFF}
-->
</style>
</head>

<body>
<form ACTION="<?php echo $loginFormAction; ?>" method="POST" name="login" id="login">
  <table width="400" border="0" align="center" cellpadding="1" cellspacing="0">
    <tr>
      <td><div align="center">
        <table width="100%"  border="0" cellspacing="0" cellpadding="2">
          <tr bgcolor="#CCCCCC">
            <td width="28%" class="style2">Log p&aring;</td>
            <td width="72%">&nbsp;</td>
          </tr>
          <tr>
            <td>Brugernavn:</td>
            <td><input name="brugernavn" type="text" id="brugernavn" size="40"></td>
          </tr>
          <tr>
            <td>Adgangskode:</td>
            <td><input name="adgangskode" type="password" id="adgangskode" size="40"></td>
          </tr>
          <tr>
            <td>&nbsp;</td>
            <td><input name="log p&aring;" type="submit" id="log p&aring;" value="Log p&aring;"></td>
          </tr>
        </table>
      </div></td>
    </tr>
  </table>
</form>
</body>
</html>
Avatar billede bravida Nybegynder
12. november 2006 - 13:35 #106
Får denne fejlmeddelse vedr. koden:12/11-2006 13:05:31
PS: Kan ikke se hvor i koden du bruger den nye oprettet tabel i phpmyadmin som du selv foreslog > side_adgang

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Programmer\Apache Group\Apache2\htdocs\websted\admin\login.php on line 15
Login failed
Log på 
Brugernavn: 
Adgangskode:
Avatar billede ellebaek Nybegynder
12. november 2006 - 13:39 #107
det gør jeg her:
$query = "SELECT sidenavn FROM side_adgang WHERE adgang = " . $adgang;

Prøv lige efter den linie at skrive:

echo $query;
Avatar billede bravida Nybegynder
12. november 2006 - 13:47 #108
Sådan, men total samme fejl som før.

  $query = "SELECT sidenavn FROM side_adgang WHERE adgang = " . $adgang;
  echo $query;
  $result = mysql_query($query);
Avatar billede ellebaek Nybegynder
12. november 2006 - 16:24 #109
jeps... men hvad skriver den ud over fejlen?
Den skulle gerne vise queryen...
Avatar billede bravida Nybegynder
12. november 2006 - 16:36 #110
Den bliver på login siden med denne fejlmeddelse.

SELECT sidenavn FROM side_adgang WHERE adgang = 2
Warning: Cannot modify header information - headers already sent by (output started at C:\Programmer\Apache Group\Apache2\htdocs\websted\admin\login.php:25) in C:\Programmer\Apache Group\Apache2\htdocs\websted\admin\login.php on line 30
Avatar billede ellebaek Nybegynder
12. november 2006 - 16:46 #111
hmm... mystisk... for den fejl du får nu, den betyder at den godt kunne finde ud af det...
prøv at slette echo $query; igen.. og så kør siden en gang mere, og så post fejlen her..
Avatar billede bravida Nybegynder
12. november 2006 - 16:59 #112
Nu åbner den den rigtige sti i browsen, med hvilken admin der logger ind, men får så denne meddelse, som ligger i koden på admin selve siden.

Du har ikke adgang hertil
Avatar billede bravida Nybegynder
12. november 2006 - 17:22 #113
Så er den samme fejl igen der, det kører ikke rigtig.

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Programmer\Apache Group\Apache2\htdocs\websted\admin\login.php on line 15
Login failed
Avatar billede ellebaek Nybegynder
12. november 2006 - 21:05 #114
jeg bliver nødt til at se hele koden for dit logincheck på admin siderne..

Og den fejl du fik der til sidst det er altså denne linie den har problemer med:
$query = "SELECT adgang FROM `brugere` WHERE brugernavn = '".$postbruger."' AND adgangskode = '".$postadgang."'";

så prøv her at smide en echo $query; med og så se hvad den skriver ud til dig...!
Avatar billede bravida Nybegynder
12. november 2006 - 21:31 #115
Indsat dette igen som du kan se:

  $query = "SELECT sidenavn FROM side_adgang WHERE adgang = " . $adgang;
  echo $query;
  $result = mysql_query($query);

Denne meddelse kommer på siden login

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Programmer\Apache Group\Apache2\htdocs\websted\admin\login.php on line 15
Login failed
*************************************************************************************
Koden vedr. admin siden for bruger med adgang 1

<?php
session_start();

require_once('../Connections/cms.php');

$user = $_SESSION['MM_Username'];
$query = mysql_query("select * from brugere WHERE brugernavn = '$user'") or die (mysql_error());
$row=mysql_fetch_array($query);

if ($row['adgang'] != "1") {
echo "<p style=\"color: #ff0000; margin: 0px; font-weight: bold;\">Du har ikke adgang hertil</p>";
exit;
}else{
Avatar billede ellebaek Nybegynder
12. november 2006 - 21:58 #116
ret lige starten af login.php til det her:

<?php require_once('../Connections/cms.php'); ?>
<?php
// *** Validate request to login to this site.
session_start();

$loginFormAction = $_SERVER['PHP_SELF'];

if (isset($_POST['brugernavn'])) {
$postbruger = $_POST['brugernavn'];
$postadgang = $_POST['adgangskode'];

$query = "SELECT adgang FROM `brugere` WHERE brugernavn = '".$postbruger."' AND adgangskode = '".$postadgang."'";
echo $query;
$resultat = mysql_query($query);

$number = mysql_num_rows($resultat);//Tæller antaller af resultater
if($number == 1) {
  $row = mysql_fetch_array($resultat);
  $adgang = $row[0];
  $_SESSION['inde'] = 1;
  $_SESSION['adgang'] = $adgang;
  $_SESSION['brugernavn'] = $postbruger;
  $_SESSION['adgangskode'] = $postadgang;

  $query = "SELECT sidenavn FROM side_adgang WHERE adgang = " . $adgang;
  $result = mysql_query($query);

  if (mysql_num_rows($result) == 1) {
    $row = mysql_fetch_array($result);
    header("Location: " . $row[0]);
  }
}
else {
echo "Login failed";
}
}
?>

samtidig skal du rette starten af de beskyttede sider fra det her:
<?php
session_start();

require_once('../Connections/cms.php');

$user = $_SESSION['MM_Username'];
$query = mysql_query("select * from brugere WHERE brugernavn = '$user'") or die (mysql_error());
$row=mysql_fetch_array($query);

if ($row['adgang'] != "1") {
echo "<p style=\"color: #ff0000; margin: 0px; font-weight: bold;\">Du har ikke adgang hertil</p>";
exit;
}else{

til:

<?php
session_start();

require_once('../Connections/cms.php');

$user = $_SESSION['brugernavn'];
$query = mysql_query("select * from brugere WHERE brugernavn = '$user'") or die (mysql_error());
if (mysql_num_rows($query) != 1) {
echo "Du har ikke adgang";
die();
}
$row=mysql_fetch_array($query);

if ($row['adgang'] != "1") {
echo "<p style=\"color: #ff0000; margin: 0px; font-weight: bold;\">Du har ikke adgang  hertil</p>";
exit;
}else{
Avatar billede bravida Nybegynder
12. november 2006 - 22:19 #117
Jeg kan ikke se hvad du mener vedr. rettelse, da du skriver til 2 gange
Avatar billede ellebaek Nybegynder
12. november 2006 - 22:22 #118
ok... login.php skal se sådan her ud:

<?php require_once('../Connections/cms.php'); ?>
<?php
// *** Validate request to login to this site.
session_start();

$loginFormAction = $_SERVER['PHP_SELF'];

if (isset($_POST['brugernavn'])) {
$postbruger = $_POST['brugernavn'];
$postadgang = $_POST['adgangskode'];

$query = "SELECT adgang FROM `brugere` WHERE brugernavn = '".$postbruger."' AND adgangskode = '".$postadgang."'";
echo $query;
$resultat = mysql_query($query);

$number = mysql_num_rows($resultat);//Tæller antaller af resultater
$row = mysql_fetch_array($resultat);
if($number == 1) {
  $adgang = $row[0];
  $_SESSION['inde'] = 1;
  $_SESSION['adgang'] = $adgang;
  $_SESSION['brugernavn'] = $postbruger;
  $_SESSION['adgangskode'] = $postadgang;

  $query = "SELECT sidenavn FROM side_adgang WHERE adgang = " . $row[0];
  $result = mysql_query($result);

  if (mysql_num_rows($result) == 1) {
    $row = mysql_fetch_array($result);
    header("Location: " . $row[0]);
  }
}
else {
echo "Login failed";
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Login</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.style2 {color: #FFFFFF}
-->
</style>
</head>

<body>
<form ACTION="<?php echo $loginFormAction; ?>" method="POST" name="login" id="login">
  <table width="400" border="0" align="center" cellpadding="1" cellspacing="0">
    <tr>
      <td><div align="center">
        <table width="100%"  border="0" cellspacing="0" cellpadding="2">
          <tr bgcolor="#CCCCCC">
            <td width="28%" class="style2">Log p&aring;</td>
            <td width="72%">&nbsp;</td>
          </tr>
          <tr>
            <td>Brugernavn:</td>
            <td><input name="brugernavn" type="text" id="brugernavn" size="40"></td>
          </tr>
          <tr>
            <td>Adgangskode:</td>
            <td><input name="adgangskode" type="password" id="adgangskode" size="40"></td>
          </tr>
          <tr>
            <td>&nbsp;</td>
            <td><input name="log p&aring;" type="submit" id="log p&aring;" value="Log p&aring;"></td>
          </tr>
        </table>
      </div></td>
    </tr>
  </table>
</form>
</body>
</html>


//***************************************************************
herefter skal du rette det der står på de beskyttede sider, altså det her:
****

<?php
session_start();

require_once('../Connections/cms.php');

$user = $_SESSION['MM_Username'];
$query = mysql_query("select * from brugere WHERE brugernavn = '$user'") or die (mysql_error());
$row=mysql_fetch_array($query);

if ($row['adgang'] != "1") {
echo "<p style=\"color: #ff0000; margin: 0px; font-weight: bold;\">Du har ikke adgang hertil</p>";
exit;
}else{

//************************************************'
Det skal rettes til det her:
<?php
session_start();

require_once('../Connections/cms.php');

$user = $_SESSION['brugernavn'];
$query = mysql_query("select * from brugere WHERE brugernavn = '$user'") or die (mysql_error());
if (mysql_num_rows($query) != 1) {
echo "Du har ikke adgang";
die();
}
$row=mysql_fetch_array($query);

if ($row['adgang'] != "1") {
echo "<p style=\"color: #ff0000; margin: 0px; font-weight: bold;\">Du har ikke adgang  hertil</p>";
exit;
}else{
Avatar billede bravida Nybegynder
12. november 2006 - 22:31 #119
Har nu rettet begge dele. Får nu denne meddelse på login siden.

SELECT adgang FROM `brugere` WHERE brugernavn = 'admin_1' AND adgangskode = '1234'
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Programmer\Apache Group\Apache2\htdocs\websted\admin\login.php on line 16

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Programmer\Apache Group\Apache2\htdocs\websted\admin\login.php on line 17
Login failed
Avatar billede ellebaek Nybegynder
12. november 2006 - 22:39 #120
sidste forsøg for i aften... forstår simpelt hen ikk at du får en fejl i linie 16... det giver ingen mening, linie 17 kan jeg godt se problemet med som sådan, og så alligevel ikke... Dog kan det måske være noget med feltet adgang. jeg læser at dette felt er af typen LEVEL? den datatype kender jeg ikke.. men det kan måske være det der gør det... prøv eventuelt at lave den om til Integer.
men prøv at rette login.php til:
<?php require_once('../Connections/cms.php'); ?>
<?php
// *** Validate request to login to this site.
session_start();

$loginFormAction = $_SERVER['PHP_SELF'];

if (isset($_POST['brugernavn'])) {
$postbruger = $_POST['brugernavn'];
$postadgang = $_POST['adgangskode'];

$query = "SELECT adgang FROM brugere WHERE brugernavn = '".$postbruger."' AND adgangskode = '".$postadgang."'";
$resultat = mysql_query($query);

$number = mysql_num_rows($resultat);//Tæller antaller af resultater

if($number == 1) {
$row = mysql_fetch_array($resultat);

  $adgang = $row[0];
  $_SESSION['inde'] = 1;
  $_SESSION['adgang'] = $adgang;
  $_SESSION['brugernavn'] = $postbruger;
  $_SESSION['adgangskode'] = $postadgang;

  $query = "SELECT sidenavn FROM side_adgang WHERE adgang = " . $row[0];
  $result = mysql_query($result);

  if (mysql_num_rows($result) == 1) {
    $row = mysql_fetch_array($result);
    header("Location: " . $row[0]);
  }
}
else {
echo "Login failed";
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Login</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.style2 {color: #FFFFFF}
-->
</style>
</head>

<body>
<form ACTION="<?php echo $loginFormAction; ?>" method="POST" name="login" id="login">
  <table width="400" border="0" align="center" cellpadding="1" cellspacing="0">
    <tr>
      <td><div align="center">
        <table width="100%"  border="0" cellspacing="0" cellpadding="2">
          <tr bgcolor="#CCCCCC">
            <td width="28%" class="style2">Log p&aring;</td>
            <td width="72%">&nbsp;</td>
          </tr>
          <tr>
            <td>Brugernavn:</td>
            <td><input name="brugernavn" type="text" id="brugernavn" size="40"></td>
          </tr>
          <tr>
            <td>Adgangskode:</td>
            <td><input name="adgangskode" type="password" id="adgangskode" size="40"></td>
          </tr>
          <tr>
            <td>&nbsp;</td>
            <td><input name="log p&aring;" type="submit" id="log p&aring;" value="Log p&aring;"></td>
          </tr>
        </table>
      </div></td>
    </tr>
  </table>
</form>
</body>
</html>
Avatar billede bravida Nybegynder
12. november 2006 - 22:45 #121
Denne fejl på login siden nu.

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Programmer\Apache Group\Apache2\htdocs\websted\admin\login.php on line 15
Login failed
Avatar billede sw_red_6 Nybegynder
13. november 2006 - 09:03 #122
med udgangspunkt i seneste kode fra ellebaek:
<?php require_once('../Connections/cms.php'); ?>
<?php
// *** Validate request to login to this site.
session_start();

$loginFormAction = $_SERVER['PHP_SELF'];

if (isset($_POST['brugernavn']) && $_POST['brugernavn'] != '') {
$postbruger = $_POST['brugernavn'];
$postadgang = $_POST['adgangskode'];

$query = "SELECT adgang FROM brugere WHERE brugernavn = '".$postbruger."' AND adgangskode = '".$postadgang."'";
$resultat = mysql_query($query) or die($query."<br>".mysql_error());//tilføjet or die()

$number = mysql_num_rows($resultat);//Tæller antaller af resultater

if($number == 1) {
$row = mysql_fetch_array($resultat);

  $adgang = $row[0];
  $_SESSION['inde'] = 1;
  $_SESSION['adgang'] = $adgang;
  $_SESSION['brugernavn'] = $postbruger;
  $_SESSION['adgangskode'] = $postadgang;

  $query = "SELECT sidenavn FROM side_adgang WHERE adgang = " . $row[0];
  $result = mysql_query($result);

  if (mysql_num_rows($result) == 1) {
    $row = mysql_fetch_array($result);
    header("Location: " . $row[0]);
  }
}
else {
echo "Login failed";
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Login</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.style2 {color: #FFFFFF}
-->
</style>
</head>

<body>
<form ACTION="<?php echo $loginFormAction; ?>" method="POST" name="login" id="login">
  <table width="400" border="0" align="center" cellpadding="1" cellspacing="0">
    <tr>
      <td><div align="center">
        <table width="100%"  border="0" cellspacing="0" cellpadding="2">
          <tr bgcolor="#CCCCCC">
            <td width="28%" class="style2">Log p&aring;</td>
            <td width="72%">&nbsp;</td>
          </tr>
          <tr>
            <td>Brugernavn:</td>
            <td><input name="brugernavn" type="text" id="brugernavn" size="40"></td>
          </tr>
          <tr>
            <td>Adgangskode:</td>
            <td><input name="adgangskode" type="password" id="adgangskode" size="40"></td>
          </tr>
          <tr>
            <td>&nbsp;</td>
            <td><input name="log_paa" type="submit" id="log_paa" value="Log p&aring;"></td>
          </tr>
        </table>
      </div></td>
    </tr>
  </table>
</form>
</body>
</html>
Avatar billede ohs Nybegynder
13. november 2006 - 09:16 #123
Får nu denne meddelse efter indsat kode: 13/11-2006 09:03:35

SELECT adgang FROM brugere WHERE brugernavn = 'admin_1' AND adgangskode = '1234'
No Database Selected
Avatar billede sw_red_6 Nybegynder
13. november 2006 - 09:23 #124
har du en mappe der hedder "Connections" og er der en fil i den mappe der hedder "cms.php"?
Hvor ligger mappen "Connections" i forhold til mappen "admin"?
Har du tjekket at der står nøjagtig det samme i mappenavn og filnavn, som der står i "login.php", mht. store og små bogstaver mm?
Hvordan ser "cms.php" ud, hvis du har den?
Avatar billede ohs Nybegynder
13. november 2006 - 09:46 #125
Siden jeg kalder ser det første stykke kode sådan ud.

<?php
session_start();

require_once('../Connections/cms.php');

$user = $_SESSION['MM_Username'];
$query = mysql_query("select * from brugere WHERE brugernavn = '$user'") or die (mysql_error());
$row=mysql_fetch_array($query);

if ($row['adgang'] != "1") {
echo "<p style=\"color: #ff0000; margin: 0px; font-weight: bold;\">Du har ikke adgang hertil</p>";
exit;
}else{
Avatar billede sw_red_6 Nybegynder
13. november 2006 - 11:24 #126
kan du ikke lige svare på alle mine spørgsmål fra 13/11-2006 09:23:32?
Avatar billede bravida Nybegynder
13. november 2006 - 12:13 #127
Mappen ligger i roden og den er korrekt, og der er ikke lavet om på denne. Den har virket perfekt.
Avatar billede sw_red_6 Nybegynder
13. november 2006 - 16:13 #128
muligvis, men som du kan se efter du brugte koden fra 13/11-2006 09:03:35 så mangler du at vælge en database.
Avatar billede bravida Nybegynder
13. november 2006 - 16:55 #129
En skam med alt den energi der er blevet brugt på dette spørgsmål at man ikke har kunnet finde en løsning som virker.

Det nemmeste ville være hvis man selv havde installeret en local server på sin PCer, og derfra afprøvet koden for at se om den virker.

sw red 6: din kode virker ikke, da den ikke kalder databasen korrekt, og derved får man denne meddelse: No Database Selected
Avatar billede ellebaek Nybegynder
13. november 2006 - 18:36 #130
den side du kalder skal det første stykke kode altså se ud som:

<?php
session_start();

require_once('../Connections/cms.php');

$user = $_SESSION['brugernavn'];
$query = mysql_query("select * from brugere WHERE brugernavn = '$user'") or die (mysql_error());
$row=mysql_fetch_array($query);

if ($row['adgang'] != 1) {
echo "<p style=\"color: #ff0000; margin: 0px; font-weight: bold;\">Du har ikke adgang hertil</p>";
exit;
}else{

Ligger dine filer ikke i roden, eller ligger de i en undermappe?
Avatar billede bravida Nybegynder
13. november 2006 - 19:01 #131
ellebaek: Den kode som du lige har forelagt og også her, hvor jeg skulle rette koden til: 12/11-2006 22:22:57

Dette er afprøvet og ved at indsætte din kode kan jeg ikke kalde siden: Du har ikke adgang

Ved min kode virker det. Derved kan man se bort fra din kode vedr. admin sider ikke kan bruges.

Fejlen ligger i koden login og den kan man ikke finde ud af.

Det bedste ville være hvis en selv havde install. en local server med MySQL, Apache og phpMyAdmin og derved kunne afprøve den forespurgte løsning, inden den blev sendt ud.
Avatar billede ellebaek Nybegynder
13. november 2006 - 19:13 #132
det har jeg...

men! det der fanger min opmærksomhed lige nu er at du åbenbart ikke har rettet filerne som vi beder dig om!
$user = $_SESSION['MM_Username'];
denne linie vil ikke give dig noget resultat med de linier vi arbejder med..
Henviser her til: 12/11-2006 22:39:05
da der ingen steder bliver sat sessionen MM_Username hvilke filer arbejder du med?
Lægger du dem et sted så de kan downloades, så kan det rettes!

men jeg henviser igen til min kommentar:
12/11-2006 22:39:05
Dog kan det måske være noget med feltet adgang. jeg læser at dette felt er af typen LEVEL? den datatype kender jeg ikke.. men det kan måske være det der gør det... prøv eventuelt at lave den om til Integer.
Avatar billede bravida Nybegynder
13. november 2006 - 19:31 #133
ellebaek > Prøv at se her.

Her er den sidste kode fra sw_red_6: 13/11-2006 09:03:35

<?php require_once('../Connections/cms.php'); ?>
<?php
// *** Validate request to login to this site.
session_start();

$loginFormAction = $_SERVER['PHP_SELF'];

if (isset($_POST['brugernavn']) && $_POST['brugernavn'] != '') {
$postbruger = $_POST['brugernavn'];
$postadgang = $_POST['adgangskode'];

$query = "SELECT adgang FROM brugere WHERE brugernavn = '".$postbruger."' AND adgangskode = '".$postadgang."'";
$resultat = mysql_query($query) or die($query."<br>".mysql_error());//tilføjet or die()

$number = mysql_num_rows($resultat);//Tæller antaller af resultater

if($number == 1) {
$row = mysql_fetch_array($resultat);

  $adgang = $row[0];
  $_SESSION['inde'] = 1;
  $_SESSION['adgang'] = $adgang;
  $_SESSION['brugernavn'] = $postbruger;
  $_SESSION['adgangskode'] = $postadgang;

  $query = "SELECT sidenavn FROM side_adgang WHERE adgang = " . $row[0];
  $result = mysql_query($result);

  if (mysql_num_rows($result) == 1) {
    $row = mysql_fetch_array($result);
    header("Location: " . $row[0]);
  }
}
else {
echo "Login failed";
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Login</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.style2 {color: #FFFFFF}
-->
</style>
</head>

<body>
<form ACTION="<?php echo $loginFormAction; ?>" method="POST" name="login" id="login">
  <table width="400" border="0" align="center" cellpadding="1" cellspacing="0">
    <tr>
      <td><div align="center">
        <table width="100%"  border="0" cellspacing="0" cellpadding="2">
          <tr bgcolor="#CCCCCC">
            <td width="28%" class="style2">Log p&aring;</td>
            <td width="72%">&nbsp;</td>
          </tr>
          <tr>
            <td>Brugernavn:</td>
            <td><input name="brugernavn" type="text" id="brugernavn" size="40"></td>
          </tr>
          <tr>
            <td>Adgangskode:</td>
            <td><input name="adgangskode" type="password" id="adgangskode" size="40"></td>
          </tr>
          <tr>
            <td>&nbsp;</td>
            <td><input name="log_paa" type="submit" id="log_paa" value="Log p&aring;"></td>
          </tr>
        </table>
      </div></td>
    </tr>
  </table>
</form>
</body>
</html>

Den virker ikke
===============
*************************************************************************************
Her er dig kode til admin sider:

<?php
session_start();

require_once('../Connections/cms.php');

$user = $_SESSION['brugernavn'];
$query = mysql_query("select * from brugere WHERE brugernavn = '$user'") or die (mysql_error());
$row=mysql_fetch_array($query);

if ($row['adgang'] != 1) {
echo "<p style=\"color: #ff0000; margin: 0px; font-weight: bold;\">Du har ikke adgang hertil</p>";
exit;
}else{

Den virker heller ikke.
=======================
*************************************************************************************
Begge koder er afprøvet sammen for at være sikker.
*************************************************************************************
Prøv om du kan kalde en side med koden fra login på din lokal server, hvor en side er tildelt en adgangs nr.
Avatar billede bravida Nybegynder
14. november 2006 - 10:44 #134
ellebaek: Med afprøvvelse af denne kode vedr. login.php, indlæg: 13/11-2006 09:03:35
************************************************************************************
Og denne kode på admin siden:

<?php
session_start();

require_once('../Connections/cms.php');

$user = $_SESSION['MM_Username'];
$query = mysql_query("select * from brugere WHERE brugernavn = '$user'") or die (mysql_error());
$row=mysql_fetch_array($query);

if ($row['adgang'] != "1") {
echo "<p style=\"color: #ff0000; margin: 0px; font-weight: bold;\">Du har ikke adgang hertil</p>";
exit;
}else{
*************************************************************************************
Så har jeg prøvet at logge mig på med admin_1, admin_2, admin_3
Ved admin_1 får jeg denne meddelse:
===============================================================================
SELECT adgang FROM brugere WHERE brugernavn = 'admin_1' AND adgangskode = '1234'
No Database Selected
====================
Samme besked ved admin_2, admin_3 bortset fra at der så står hvilken admin som logger på.
===============================================================================
Så den har kontakt med databasen, men på en eller anden måden fanger den ikke side_adgang i databasen som fortæller hvilken side der skal logges ind på.
===============================================================================
Avatar billede ellebaek Nybegynder
14. november 2006 - 17:49 #135
hvordan ser koden ud i din fil CMS.php?

For tydeligvis er det fordi du kun laver en mysql-connection, men ikke vælger en database...
Avatar billede bravida Nybegynder
14. november 2006 - 17:59 #136
Koden for CMS.php

<?php
# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_cms = "localhost";
$database_cms = "cms";
$username_cms = "root";
$password_cms = "dreamweaver";
$cms = mysql_pconnect($hostname_cms, $username_cms, $password_cms) or trigger_error(mysql_error(),E_USER_ERROR);
?>
Avatar billede ellebaek Nybegynder
14. november 2006 - 18:12 #137
ja, det dur ikke helt....

<?php
# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_cms = "localhost";
$database_cms = "cms";
$username_cms = "root";
$password_cms = "dreamweaver";
$cms = mysql_pconnect($hostname_cms, $username_cms, $password_cms);
if (!$cms) {
trigger_error(mysql_error(),E_USER_ERROR);
}
$db = mysql_select_db($database_cms,$cms);
if (!$db) {
trigger_error(mysql_error(),E_USER_ERROR);
}
?>


ret cms.php til dette...
Avatar billede bravida Nybegynder
14. november 2006 - 18:22 #138
Efter dette får jeg denne meddelse på login siden.

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Programmer\Apache Group\Apache2\htdocs\websted\admin\login.php on line 29
Avatar billede ellebaek Nybegynder
14. november 2006 - 21:01 #139
godt så... nu er der en fejl i den ene sql-sætning. Altså det er en syntax fejl hvilket vil sige at enten findes et felt ikke, eller også er det forkerte variabel-typer der er sat i sql-en!

  $query = "SELECT sidenavn FROM side_adgang WHERE adgang = " . $row[0];
  $result = mysql_query($result);

//Det er denne linie der giver fejlen. Altså er fejlen i sql-en oven for.
  if (mysql_num_rows($result) == 1) {



Nu skal du tjekke i mySQL-admin, og jeg skal have de rigtige oplysninger. dette på alle spørgsmål.
1. Er du sikker på at der er en tabel der hedder side_adgang?
2. I denne tabel, er der et felt der hedder sidenavn?
3. hvilken variabel-type er dette felt?
4. Er der i samme tabel et felt der hedder adgang?
5. hvilken type er dette felt?
6. hvilken type har feltet adgang i tabellen brugere ?

side_adgang.adgang's type skal være den samme som brugere.adgang.

Det skal siges at jeg har testet på min egen server herhjemme, og har ingen problemer med at få det til at virke.!
Avatar billede bravida Nybegynder
14. november 2006 - 21:24 #140
Hej, du kan se alle svar med billeder på dette link.

http://home1.stofanet.dk/duo2/
Avatar billede sw_red_6 Nybegynder
15. november 2006 - 09:04 #141
ville det ikke være bedre at ændre:
$query = "SELECT sidenavn FROM side_adgang WHERE adgang = " . $row[0];
til:
$query = "SELECT sidenavn FROM side_adgang WHERE adgang = '$adgang'";

du lægger jo row[0] over i $adgang lige før du opretter din session.
Der er sat ' ' om fordi typen i databasen er sat til varchar(255), hvilket måske ikke ville være det rigtige hvis det skal være tal der skal bruges til adgang..

bare for sjov og narrestreger så tag og ændre den her:
$result = mysql_query($result);
til det her:
$result = mysql_query($result) or die($query."<br>".mysql_error());

Det gør det en hel del nemmere at finde fejl i din sql-sætning, hvis det er der den er gal.
Avatar billede ellebaek Nybegynder
15. november 2006 - 09:23 #142
godt så... dette giver egentlig sig selv at det så giver fejl.
også derfor mit system virkede og dit ikke gjorde. Jeg har arbejdet med at adgang var af typen Int, hvilket i hvert fald i min verden giver noget mere mening. det var også det jeg bad dig om her: 12/11-2006 22:39:05...

men det du skal gøre nu for at få det til at fungere er:
ret denne linie: $query = "SELECT sidenavn FROM side_adgang WHERE adgang = " . $row[0];
til:
$query = "SELECT sidenavn FROM side_adgang WHERE adgang = '" . $row[0] . "'";

dette da du arbejder med varchar(255) som datatype, i stedet for int's...
Avatar billede ellebaek Nybegynder
15. november 2006 - 09:28 #143
det var da mystisk... nu har jeg så igen ikke bedt den om at smide et svar...
ved ikke helt hvad der sker for min computer... men det var i hvert fald ikke meningen...
Avatar billede bravida Nybegynder
15. november 2006 - 09:46 #144
Får nu denne meddelse på login siden.

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Programmer\Apache Group\Apache2\htdocs\websted\admin\login.php on line 30

PS: Er det bedre at rette varchar(255) som datatype, til int's...
Hvis ja, hvilke tabeller og felter skal så rettes.
Avatar billede sw_red_6 Nybegynder
15. november 2006 - 09:51 #145
alle de steder hvor du kun bruger tal, kan du uden problemer ændre til int.
Hvis du skal bruge tekst så er det varchar, men det er måske ikke nødvendigt at bruge 255 tegn alle steder..
Avatar billede bravida Nybegynder
15. november 2006 - 10:04 #146
Har nu også rettet tabellen brugere og side_adgang >adgang til INT i phpmyadmin.

Får igen denne meddelse på login siden.

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Programmer\Apache Group\Apache2\htdocs\websted\admin\login.php on line 30

PS: Måske er der så noget som skal rettes tilbage efter at phpmyadmin er blevet rettet.
Avatar billede sw_red_6 Nybegynder
15. november 2006 - 10:13 #147
det skulle der ikke, hvad står der på linje 20-40 i login.php?
Avatar billede bravida Nybegynder
15. november 2006 - 10:20 #148
Her er fra linje 20 til og med 42

/**
* @version $Id: index.php 8701 2006-10-01 19:10:07Z stingrey $
* @package
* @copyright Copyright (C) 2006 All rights reserved.
*/
// ** Logout the current user. **
$logoutAction = $_SERVER['PHP_SELF']."?doLogout=true";
if ((isset($_SERVER['QUERY_STRING'])) && ($_SERVER['QUERY_STRING'] != "")){
  $logoutAction .="&". htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_GET['doLogout'])) &&($_GET['doLogout']=="true")){
  //to fully log out a visitor we need to clear the session varialbles
  session_unregister('MM_Username');
  session_unregister('MM_UserGroup');
   
  $logoutGoTo = "../index.php";
  if ($logoutGoTo) {
    header("Location: $logoutGoTo");
    exit;
  }
}
?>
Avatar billede sw_red_6 Nybegynder
15. november 2006 - 10:21 #149
sikker på at det er fra den rigtige fil?
Avatar billede bravida Nybegynder
15. november 2006 - 10:26 #150
Sorry havde ikke fået skiftet fra index til login.

  $adgang = $row[0];
  $_SESSION['inde'] = 1;
  $_SESSION['adgang'] = $adgang;
  $_SESSION['brugernavn'] = $postbruger;
  $_SESSION['adgangskode'] = $postadgang;

  $query = "SELECT sidenavn FROM side_adgang WHERE adgang = '" . $row[0] . "'";

  $result = mysql_query($result);

  if (mysql_num_rows($result) == 1) {
    $row = mysql_fetch_array($result);
    header("Location: " . $row[0]);
  }
}
else {
echo "Login failed";
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Avatar billede sw_red_6 Nybegynder
15. november 2006 - 11:06 #151
Prøv lige at ændre den her:
$result = mysql_query($result);
til det her:
$result = mysql_query($query) or die($query."<br>".mysql_error());
det vil sikkert hjælpe en del hvis du bruger den rigtige variabel i mysql_query() ;o)
Avatar billede bravida Nybegynder
15. november 2006 - 12:22 #152
Efter rettelse vises dette i browseren, når man prøver at logge ind.

http://localhost/admin/login.php?accesscheck=%2Fadmin%2Findex.php
Avatar billede sw_red_6 Nybegynder
15. november 2006 - 12:56 #153
den kan godt nok blive lidt svær at se eftersom det er på localhost ;o)
Avatar billede bravida Nybegynder
15. november 2006 - 13:13 #154
Er nu på 155 kommentar, og er stadig helt tilbage fra starten med mit første spørgsmål.

Tror nu ikke mere på at spørgsmålet kan løses i denne tråd, så nok bedst at lukke dette.
Avatar billede michaeltryl Seniormester
15. november 2006 - 15:50 #155
dete r ikke så lang tid siden jeg hjalp enmed faktisk samme problem så det kan lade sig gøre. jeg har fulgt lidt med på sidelinien den sidste tid og har set at sw_red_6 og  ellebaek har gjort et stort forsøg på at hjælpe uden held. jeg har på fornemmelsen der er en meget lille fejl som ingen af os kan se et eller andet sted selvom vi har været det hele igennem flere gange.
mit forslag vil være nu at starte helt fra bunden igen evt. efter følgende opskrift.
1. lave sådan alle brugere og deres adgangs nr. bliver hentet ud.(test.php)
2. lade login siden (den hvor brugernavn og password skrives i inden login), sende til test.php
3. lave test.php om sådan den henter brugeren der logges ind.

når det virker kan test.php laves om til at tjekke om der må logges ind og session kan sættes

Jeg synes selv det lyder som en god ide, men er ikke helt med på om i har været igennem det, da jeg ikke har fået læst alle indlæg.
Avatar billede sw_red_6 Nybegynder
16. november 2006 - 09:02 #156
hvis vi kunne se den besked som du nu har linket til så ville det gøre det en hel del nemmere at komme frem til en løsning..
Avatar billede bravida Nybegynder
16. november 2006 - 09:35 #157
sw_red_6 > Hvis beskeden er til mig forstår jeg den ikke.
Avatar billede sw_red_6 Nybegynder
16. november 2006 - 10:21 #158
bravida>> i din kommentar fra 15/11-2006 12:22:55 er der et link som vi ikke rigtig kan bruge til så meget..
Avatar billede bravida Nybegynder
16. november 2006 - 10:32 #159
ok den, efter at jeg havde rettet det til efter din henvisning d. 15/11-2006 11:06:41
kom det til at stå i min browser efter at jeg prøvede at logge ind, men blev stadig på login siden.
Avatar billede sw_red_6 Nybegynder
16. november 2006 - 11:07 #160
har du nogen steder på login siden hvor du tjekker "accesscheck"?
Det ser nemlig ud til at du i stedet for at gå til siden /admin/index.php, bliver på login.php
Avatar billede bravida Nybegynder
16. november 2006 - 12:59 #161
Her er login koden for siden login.php

<?php require_once('../Connections/cms.php'); ?>
<?php
// *** Validate request to login to this site.
session_start();

$loginFormAction = $_SERVER['PHP_SELF'];

if (isset($_POST['brugernavn']) && $_POST['brugernavn'] != '') {
$postbruger = $_POST['brugernavn'];
$postadgang = $_POST['adgangskode'];

$query = "SELECT adgang FROM brugere WHERE brugernavn = '".$postbruger."' AND adgangskode = '".$postadgang."'";
$resultat = mysql_query($query) or die($query."<br>".mysql_error());//tilføjet or die()

$number = mysql_num_rows($resultat);//Tæller antaller af resultater

if($number == 1) {
$row = mysql_fetch_array($resultat);

  $adgang = $row[0];
  $_SESSION['inde'] = 1;
  $_SESSION['adgang'] = $adgang;
  $_SESSION['brugernavn'] = $postbruger;
  $_SESSION['adgangskode'] = $postadgang;

  $query = "SELECT sidenavn FROM side_adgang WHERE adgang = '" . $row[0] . "'";

  $result = mysql_query($query) or die($query."<br>".mysql_error());

  if (mysql_num_rows($result) == 1) {
    $row = mysql_fetch_array($result);
    header("Location: " . $row[0]);
  }
}
else {
echo "Login failed";
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Login</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.style2 {color: #FFFFFF}
-->
</style>
</head>

<body>
<form ACTION="<?php echo $loginFormAction; ?>" method="POST" name="login" id="login">
  <table width="400" border="0" align="center" cellpadding="1" cellspacing="0">
    <tr>
      <td><div align="center">
        <table width="100%"  border="0" cellspacing="0" cellpadding="2">
          <tr bgcolor="#CCCCCC">
            <td width="28%" class="style2">Log p&aring;</td>
            <td width="72%">&nbsp;</td>
          </tr>
          <tr>
            <td>Brugernavn:</td>
            <td><input name="brugernavn" type="text" id="brugernavn" size="40"></td>
          </tr>
          <tr>
            <td>Adgangskode:</td>
            <td><input name="adgangskode" type="password" id="adgangskode" size="40"></td>
          </tr>
          <tr>
            <td>&nbsp;</td>
            <td><input name="log p&aring;" type="submit" id="log p&aring;" value="Log p&aring;"></td>
          </tr>
        </table>
      </div></td>
    </tr>
  </table>
</form>
</body>
</html>
Avatar billede sw_red_6 Nybegynder
16. november 2006 - 14:21 #162
hmm hvad står der i "sidenavn" i tabellen?
Avatar billede bravida Nybegynder
16. november 2006 - 14:33 #163
se kommentar: 14/11-2006 21:24:21
Avatar billede sw_red_6 Nybegynder
16. november 2006 - 14:37 #164
hvad står der i $loginFormAction?
Avatar billede ellebaek Nybegynder
17. november 2006 - 19:32 #165
hmm... jeg er ret sikker på at der hvor fejlen er nu ligger i den side du bliver sendt til. altså i admin.php osv...

du skriver tidligere at du her denne kode i toppen af denne side:
?php
session_start();

require_once('../Connections/cms.php');

$user = $_SESSION['MM_Username'];
$query = mysql_query("select * from brugere WHERE brugernavn = '$user'") or die (mysql_error());
$row=mysql_fetch_array($query);

if ($row['adgang'] != "1") {
echo "<p style=\"color: #ff0000; margin: 0px; font-weight: bold;\">Du har ikke adgang hertil</p>";
exit;
}else{

du benytter ikke længere sessionen ved navn MM_Username.

derfor skal du alle steder rette:
$_SESSION['MM_Username']
til:
$_SESSION['brugernavn']
Avatar billede bravida Nybegynder
17. november 2006 - 20:02 #166
Hejsa: Vi stopper her, for nu bliver det blandet for meget sammen. Har heller ikke en fil som hedder admin.php. Desværre er den blevet grebet forkert an fra starten med for mange løse skud.


Takker for alle kommentar i denne tråd.
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