Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Välja behörighet vid inloggning.

Postades av 2009-02-13 21:36:00 - Anders Hall, i forum php, Tråden har 0 Kommentarer och lästs av 1489 personer

Försöker att skapa vilken behörighet användaren skall få vid inloggning. Har gjort en del ändringar i koden för att försöka ändra detta. Har en fil som skapar min admin i koden, se bifogad fil. Som jag har det nu så kommer alla användare till min adminPage, där skall admin kunna skriva inlägg och lägga till nya användare och övriga skall bara kunna skriva inlägg(alltså de som är inloggade).

Det som jag har testat i min adminPage är att kunna plocka fram vilken behörighet som inloggad har med enkel echo utskrift, men redan där får jag fel endast andra echo:t i if-satsen skrivs ut, även om jag är admin eller inte.

Men om jag vill styra från inloggsidan till vilken sida som de olika behöriga skall komma till så behöver jag lite hjälp.

Login.php

<?php
// ===========================================================================================

// PLogin.php
//
// Show a login-form, ask for user name and password.



$html = <<<EOD
<center><h2>Logga in</h2>
<p>
Ange ditt användarnamn och ditt lösenord för att logga in.
</p>
<fieldset>
<legend>Logga in</legend>
<form action="?p=loginp" method="post">
<input type='hidden' name='redirect' value='adminPage'>
<table>
<tr>
<td style="text-align: right">
<label for="namnUser">Användare:</label>
</td>
<td>
<input class="login" type="text" name="namnUser">
</td>
</tr>
<tr>
<td style="text-align: right">
<label for="passwordUser">Lösenord:</label>
</td>
<td>
<input class="password" type="password" name="passwordUser">
</td>
</tr>
<tr>
<td colspan='2' style="text-align: right"><button type="submit" name="submit">Logga in</button></td>
</tr>
</table>
</form>
</fieldset></center>

EOD;

// Create and print out the resulting page
//
require_once('CHTMLPage.php');

$page = new CHTMLPage();

$page->printHTMLHeader('Logga in');
$page->printPageHeader();
$page->printPageBody($html);
$page->printPageFooter();

?>

loginProcess

<?php

// Create a new database object, connect to the database.
//
$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE);

if (mysqli_connect_error()) {
echo "Connect failed: ".mysqli_connect_error()."<br>";
exit();
}

// Take care of _GET/_POST variables. Store them in a variable (if they are set).
//
$user = isset($_POST['namnUser']) ? $_POST['namnUser'] : '';
$password = isset($_POST['passwordUser']) ? $_POST['passwordUser'] : '';

// Prevent SQL injections
$user = $mysqli->real_escape_string($user);
$password = $mysqli->real_escape_string($password);



// Prepare and perform a SQL query.
//
$members = DB_PREFIX . 'members';

$query = <<< EOD
SELECT
idUser,
namnUser,
ansvarsomrade
FROM {$members}
WHERE
namnUser = '{$user}' AND
passwordUser = md5('{$password}')
;
EOD;


$res = $mysqli->query($query)
or die("<p>Could not query database,</p><code>{$mysqli->error}</code><code>{$query}</code>");
// -------------------------------------------------------------------------------------------
//
// Use the results of the query to populate a session that shows we are logged in
//
$row = $res->fetch_object();

//$_SESSION = Array(); // Clear the current session variables

// Must be one row in the resultset
if($res->num_rows === 1) {
$_SESSION['idUser'] = $row->idUser;
$_SESSION['namnUser'] = $row->namnUser;
$_SESSION['ansvarsomrade'] = $row->ansvarsomrade;
} else {
$_SESSION['errorMessage'] = "Inloggningen misslyckades";
$_POST['redirect'] = 'login';
}

$res->close();

$mysqli->close();

// Redirect to another page
//
$redirect = isset($_POST['redirect']) ? $_POST['redirect'] : 'adminPage';
header('Location: ' . WS_SITELINK . "?p={$redirect}");
exit;


?>

adminpage (där är något fel bl.a)

<?php
// ===========================================================================================

require_once('CHTMLPage.php');

$title = "PTemplate1Columns";
$style = "1-kolumns.css";

$page = new CHTMLPage($style);
//$page->printHTMLHeader('Fooglers blogg idag den ' . date(DATE_RFC822));

$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE);

if (mysqli_connect_errno()) {
echo "Connect failed: ".mysqli_connect_error()."<br>";
}

$query= "SELECT ansvarsomrade, namnUser FROM membersmembers WHERE idUser=1;"; // Byt 2 mot vad du har!
$result = $mysqli->query($query)
or die("Could not query database");

//$result = $mysqli->query($query)
// or die("<p>Could not query database,</p><code>{$mysqli->error}</code><code>{$query}</code>");
$query = "SELECT ansvarsomrade, namnUser FROM membersmembers WHERE idUser=1";
echo $query ;
if ($query = $mysqli->query("SELECT ansvarsomrade, namnUser FROM membersmembers WHERE idUser=1")) {
$fetch= mysqli_fetch_array($query);
}
if($fetch['ansvarsomrade'] == 1)
{
echo'admin';
}
else
{
echo 'användare';
}
/* free result set */
$result->close();



$html = <<<EOD
<center>
<h2>Administrat&ouml;r-sida.</h2>
Lägg till ny användare<br><br>
Skriv nytt inlägg
</center>
EOD;

$page->addPageBodyLeft($html);

// Print out the resulting page

$page->printPage($title);

?>

Har sökt och letat i forumet och i manualen hur jag skriver detta, men kommer inte fram till någon bra lösning. Det som inte är skapat än är en sida för vanliga användare som inte har admin behörighet, kommer sen.


Svara

Nyligen

  • 19:38 Rekommendera något intressant
  • 19:13 Международная перевозка грузов
  • 00:01 DL Van Tuning | Exclusive Body Kit
  • 12:08 Indian casino
  • 04:14 Vad finns det för kratomalternativ
  • 14:16 Indian online casino
  • 14:15 Indian online casino
  • 08:28 Butiksskyltar: Hur upplever utbude

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 869
27 965
271 770
489
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies