18. februar 2010 - 20:29Der er
16 kommentarer og 1 løsning
Tjek om tagwall_ban er sat til = 0 uden session
Heej Eksperten :b
Ja. på min side har jeg en tagwall. Lige nu starter man en session med Tagwall_ban som skal tjekke om det er til =0 eller =1 hvis den er =1 så man bannet. og hvis man er = 0 så man ikke bannet.
I det man logger ind starter du en Session Men hvis du nu er online og en bruger bliver tagwall bannet altså tagwall_ban = 1 så har man jo stadig adgang fordi session huske der tidligere nemlig tagwall_ban = 0
Hvordan får man den til at tjekke uden session. så den tjekker HVER gang man besøger tagwall.php (:
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
så skal du jo lave et db-opslag, når brugeren besøger tagwall.php, derefter kan du så gemme resultatet i en session og starte med at tjekke om den session er sat inden du spørger db'en...
hvis f.eks. brugeren er banned er der ingen grund til at tjekke igen, når han besøger tagwall.php for anden gang i samme session, men omvendt, hvis han ikke er banned er det måske en god ting at tjekke hver gang han besøger siden (hvis det gav mening :) )
men det er jo en smagssag, du kan også bare nøjes med at tjekke når han logger ind og så gemme det i sessionen dér...
Hej Splazz... Det nederste er det jeg gør i forvejen. Problemet er at hvis han så bliver bannet EFTEr sig login så er han jo ALTID unbannet indtil han logger ind næste gang
Der ryger lidt pointen i at banne en spammende bruger :D
if($_SESSION['ban']){ //bruger er banned /skriv evt besked og send videre til forside eller andet efter 5 sek. }else{ //bruger er ikke banned (i session), tjek db og sæt $_SESSION['ban']=1; hvis brugeren er banned i db }
Nej. det funger med Session. men problemet er at i det du udfylder login formulars og trykker "Login" bliver man sendt til "check-Login.php" hvis der er fejl skriver den "Fejl i login" hvis det lukkedes starter den følgende sessioner
Problemet er at efter den har startet følgende sessioner så hjælper det jo INGEN ting at en admin tagwall banner brugeren da den huske der der blev valgt inden han blev bannet... Det jeg ønsker er jo så at den skal ungå at skrive session eller noget andet smart og nemt ( Er lidt nu i PHP ) så man ikke skal logge ud for at tagwall banningen træder i kræft!
det er jo osse derfor at jeg mener du skal tjekke en brugers ban-status i db, hvis han IKKE er bannet, HVER gang han går ind på tagwallendu kan jo godt ændre din session efter den er sat ved login...
$res = mysql_query("SELECT ban FROM users WHERE id='$user_id'") or die(mysql_error()); $user_ban = mysql_fetch_array($res); $_SESSION['ban'] = $user_ban['ban']; if($_SESSION['ban']){ echo "du er banned i en uge, vi ses!"; }else{ //vis tagwall }
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.