Avatar billede julemandenb Nybegynder
27. juli 2010 - 17:40 Der er 13 kommentarer og
1 løsning

Kick bruger i valgte minutter...

Hej eksperter ;)

- Jeg er igang med at programmer et fansite for en
kammerat. jeg har lavet en tagwall hvor folk kan
skrive frit i den... problemet er at vi i denne her
verden har nogle mennesker som kun ønsker at ødelægge
det sjove for andre. til det ønsker jeg mig en kick
funktion som kicker en bruger i valgte minutter


Jeg ønsker at få et link ved hvert indlæg hvor der står
"Kick" hvis man klikker på den skal den vise en side hvor
der fremkommer en dropdown menu med følgende kick minutter

2 minutter
5 minutter
10 minutter
15 minutter
20 minutter
25 minutter
30 minutter
45 minutter
60 minutter
120 minutter

Når man har valgt at kicke skal man trykke på en
submit knap hvor efter den kickede bruger <i>automatisk</i>
bliver smidt ud af tagwallen. hvis han derefter forsøger sig adgang til tagwallen igen skal der komme en besked hvor der står hvornår han kan komme i tagwallen igen....

Jeg er meget villig til selv at programmer scriptet men
skal virkelig have forklaret der fra top til bund...

min tagwall Pt. ser således ud.
________________________________________________________

<?php
session_start();
if(!isset($_SESSION['tal'])){
    include "include/ikke_logget_ind.php";
} else {
   
if(isset($_POST[send_tagwall])){
$besked = $_POST[besked];
$ip = $_SERVER["REMOTE_ADDR"];
$dato = date("Y-m-d H:i:s");
$query = mysql_query("INSERT INTO tagwall (fra, besked, px, color, dato, ip) VALUES ('$ses_id', '$besked', '$ses_tagwall_border_px', '$ses_tagwall_border_color', '$dato', '$ip')")or die(mysql_error());
$query = mysql_query("INSERT INTO tagwall_log (fra, besked, px, color, dato, ip) VALUES ('$ses_id', '$besked', '$ses_tagwall_border_px', '$ses_tagwall_border_color', '$dato', '$ip')")or die(mysql_error());
echo "<meta http-equiv='refresh' content='0;url=/index.php?hp=community/tw/index' />";
}
?>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<link href="../../css/styles.css" rel="stylesheet" type="text/css" />

<h2>Tagwall</h2>
<form action="" method="post">
<textarea name="besked" cols="45" rows="5"></textarea>
<input type="hidden" name="fra" value="<?php echo "".$_SESSION["id"].""; ?>" />
<?php
if($ses_rolle >= "1"){
?>
<table width="126" style="font-size:11px;">
<tr>
<td>
Admin:
</td>
<td>
<a href="index.php?hp=community/adm/tw/tom">Tøm Tagwall</a>
</td></tr>
</table>
<?php
}
?><br />
<input type="submit" name="send_tagwall" value="Send" />
</form>
<div id="getTagwall"></div>
<script>
    function AutoloadTagwall() {
        $.ajax({
               
                type: "POST",
                url: "/twload",
                data: "do=get",
                timeout: 5000,
                success: function( data ) { $("#getTagwall").html(data); }
        });
        setTimeout("AutoloadTagwall();", 5000);
    }
    $(document).ready( function() {
        AutoloadTagwall();
    });
</script>
<?php
}
?>
___________________________________________________________

Håber nogle er frisk på at hjælpe

Med Venlig Hilsen
Mikkel Bering
Avatar billede julemandenb Nybegynder
27. juli 2010 - 17:42 #1
EDIT D. 27/07-2010 Kl. 17:41
____________________________

- Jeg er igang med at programmer et fansite til mig
og en kammerat. jeg har lavet en tagwall hvor folk
kan skrive frit i den... problemet er at vi i denne
her verden har nogle mennesker som kun ønsker at
ødelægge det sjove for andre. til det ønsker jeg mig
en kick funktion som kicker en bruger i valgte minutter
Avatar billede majbom Novice
27. juli 2010 - 19:42 #2
har du et bruger-system, eller kan man skrive uden?
Avatar billede julemandenb Nybegynder
27. juli 2010 - 20:24 #3
Ja. jeg har et brugersystem... (:
Avatar billede majbom Novice
27. juli 2010 - 20:32 #4
så kunne du jo lave et felt i bruger-tabellen, der angiver hvornår brugeren er bannet, og et felt der angiver hvor længe (hvis felterne er tomme, er brugeren selvfølgelig ikke bannet)

nå så vedkommende vil poste tjekker du på om brugeren er bannet...
Avatar billede julemandenb Nybegynder
27. juli 2010 - 21:50 #5
Jamen hvordan skal det laves? :s
- Det har noget med tid osv at gøre men har virkelig ingen
anelse om hvordan det skal laves...
Avatar billede wanze Nybegynder
28. juli 2010 - 00:33 #6
Du opretter et felt i databasen, der hedder banned. I dette felt har du et timestamp, fx et UNIX-timestamp. Når du sætter dette timestamp ind, så tager du nuværende tidspunkt + 5 min, fx.

Hver gang en bruger forsøger at skrive på væggen, tjekkes feltet i databasen. Hvis det nuværende tidspunkt stadig er mindre end det i databasen, så vil brugeren være banned. Hvis feltet er tomt eller nuværende tidspunkt er større end tidspunktet i databasen, vil brugeren ikke være banned.

Det burde være nok til at du kan lave det. Hvis du ikke ved, hvad et UNIX-timestamp er, så må du Google det. Men kort fortalt er det det antal sekunder, der er gået siden 1970. Lige nu er unixtimestampet fx 1280273580. Om 5 minutter vil det være 1280273580+60*5. PHP's time()-funktion returnerer nuværende UNIX-timestamp.
Avatar billede majbom Novice
28. juli 2010 - 08:13 #7
-> wanze - selvfølgelig, der er jo ingen grund til to felter i databasen :)
Avatar billede wanze Nybegynder
28. juli 2010 - 15:45 #8
splazz: A-hva'?
Avatar billede majbom Novice
28. juli 2010 - 15:52 #9
-> wanze - det var fordi i mit forslag havde jeg ét felt til tiden hvor brugeren var blevet bannet og ét felt til det antal minutter vedkommende var bannet - men det e rjo ikke nødvendigt :)
Avatar billede wanze Nybegynder
28. juli 2010 - 16:04 #10
Ah, ja, læste ikke lige helt dit eksempel. ;)
Avatar billede julemandenb Nybegynder
31. juli 2010 - 02:40 #11
wanze - Din metode med Timestamp virker upåklageligt.
Smider du et svar så smider jeg nogle point? :D
Avatar billede wanze Nybegynder
31. juli 2010 - 10:55 #12
Yes. ;)
Avatar billede majbom Novice
04. november 2010 - 14:27 #13
husk at acceptere svaret julle :)
Avatar billede julemandenb Nybegynder
04. november 2010 - 16:06 #14
Undskyld, havde helt glemt den :)
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