Jag håller på lite med en egen community (försöker lära mig bara) och har kommit fram till inloggningen.
Det är ju så att man endast ska kunna komma åt vissa sidor när man är inloggad. Hur ska jag lösa det? Lägga in ett "active" fält i databasen som ändras från 0 till 1 när man loggar in? Eller en session som ändras man loggar in? För det är väl lite svårt att kolla vad "active" i databasen har för värde när man inte är inloggad?
Använd sessioner ( Om jag har förstått frågan rätt ) för att kontrollera att en användare är inloggad.
<?php
session_start ();
if ( $_SESSION[ 'inloggad' ] == "sant" ) {
// Visa sida
}
else {
// Inte inloggad
}
?>
Vet du inte hur sessioner kan du söka här i forumet - det har diskuterats många gånger - eller kika på min artikel på http://www.phpportalen.net om sessioner.
Tack för ditt svar SPiN. Det verkar nog vara det bästa med sessions. Men en grej bara, en session måste registreras överst av all kod? För att i så fall har jag krånglat till det lite, kör nämligen med "include" filer lite här och var. Bl.a på toppen.
Om man inte har register_globals till on i PHP.ini, bl.a. Det är också en fråga om säkerhet - vem som helst kan nu gå in på din sida med addressen: http://server.nu/sida.php?UserActive=1
Se till att kontrollera att det verkligen är en sessionsvariabel du jobbar med.
Orsaken till att det inte fungerade kan vara att du kör en äldre version av PHP, så försök med $HTTP_SESSION_VARS[] istället för $_SESSION[].
Nu har jag stött på problem, kan jag inte skriva vanlig HTML text i en IF-sats? Utan måste jag skriva ut allting med "echo"? Det blir ju väldigt jobbigt!
<?php
// PHP
if ( $variabel == "värde" ) {
?>
<! HTML >
<?php
}
else {
?>
<! HTML >
<?php
}
// PHP
?>
Det blir dock väldigt fult och segt, så använd hellre echo - eller helt av allt templates. Mycket snyggare & lättläsligare kod plus att den tolkas snabbare.
<?php
session_start();
if ( $HTTP_SESSION_VARS[ 'UserActive' ] == "1" ) {
?>
<html>
<head>
<title>Rob Community 1.0</title>
<link rel="stylesheet" href="css/rob.css">
</head>
<body>
<font face="Arial">
<table border="0" bgcolor="gray" width="400px" height="100%" cellspacing="2" cellpadding="5">
<tr>
<td valign="top" colspan="2" bgcolor="white" height="10%">
<br>
Välkommen till Rob Community 1.0. Varför jag har skapat detta är inte för någon speciell anledning utan mest
för att lära mig själv hur man programmerar. Hoppas allt funkar bra och att du får en trevlig stund på sidan!<br>
<br>
</td>
</tr>
<tr>
<td colspan="2" bgcolor="white" height="10%">
<?php
include("includes/menu.php");
?>
</td>
</tr>
Jag tycker det ser ganska jobbigt ut att ha sådana undersidor... egentligen skulle du ju kunna smälla i hopp allt i en fil, skulle jag gjort i det fallet...
258 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91