Suche im Forum:
Suchen


« Vorheriges Thema anzeigen :: Nächstes Thema anzeigen »  
Autor Nachricht
Beitrag10.10.2010 um 21:13 (UTC)    
Titel: [erledigt] MySQL - IP-Sperre auf einer Seite.

Hallo,
Wie kann ich eine Seite für User die vor einer halben Stunde schon einmal auf dieser Seite waren sperren?
Ich denke man legt eine Tabelle mit 2 Spalten. ID und Time...ich trage jetzt die aktuelle Zeit und Ip von den ein, der auf dieser Seite ist. Aber wenn er jetzt nach einer wiederkommt, was muss ich dann machen?

Ich hoffe mir kann jemand helfen...

Lg
chafo




--------------------------------------------
Nachricht von damals
-------------------------------------------


Hallo,
Ich habe eine MySQL Tabelle mit ein paar Spalten.
Ich möchte die Spalte (ID) Ordnen. Dort sind zahlen enthalten. Dies geht mit DESC (Also ich möchte sie so ordnen, dass der größte Wert zuerst ist). Ich habe folgenden SQL-Code geschrieben:

Code:
SELECT * FROM tabelle ORDER BY id DESC


Aber wenn es zweinstellig wird, dann sind die einstelligen wieder vorne.
Also z.B:

9
..
22
..
15

Wie kann ich das so machen, dass der GRÖßTE Wert vorne ist?

lg
______________


Zuletzt bearbeitet von chafo am 13.10.2010, 20:40, insgesamt 3-mal bearbeitet
Beitrag10.10.2010 um 21:22 (UTC)    
Titel:

EDIT

Denkfehler Mr. Green
______________
Bitte keine Werbung per PN



Zuletzt bearbeitet von die-lustigen-vom-niederrhein am 11.10.2010, 08:52, insgesamt einmal bearbeitet
Beitrag10.10.2010 um 21:25 (UTC)    
Titel:

OK,

und wenn ich jetzt aber eine Zahl erhöhe ( $zahl++; ) dann wird z.B.
08 zu 9

kann man das ändern
______________


Zuletzt bearbeitet von chafo am 10.10.2010, 22:25, insgesamt einmal bearbeitet
Beitrag10.10.2010 um 23:39 (UTC)    
Titel:

Am besten machste bei der Spalte "id" bei dir in den Struktur Einstellungen (sofern du phpmyadmin nutzt, wovon ich eigtl. ausgehe) einmal einen Hacken bei "auto_increment" und gibst ihm das Attribut "unsigned". Dann musste beim hinzufügen der Einträge bei der ID nur NULL schreiben. Das hat den Effekt das die id immer um eins angehoben wird, automatisch. Also 1,2,3,4,5 .. usw.

Sonst hast du alles richtig gemacht via ORDER BY id DESC sortiert er nach den id's umgekehrt. Also von hinten Wink

mfg
______________
Du hast eine Frage? Ich stehe dir selbstverständlich jeder Zeit zur Verfügung!
Beitrag11.10.2010 um 01:06 (UTC)    
Titel:

Geht ja wohl hier nur um die Sortierung, oder?
Generell ist immer der Datentyp zu beachten.

Solltest du für die ID INT als Datentyp gewählt haben, so sollte er eigentlich zahlen auch richtig sortieren können.

Demnach


22
21
20
19
...
11
10
9
8
7
,,,

Speicherst du sie jedoch als Text (bsp. VARCHAR? TEXT?), dann sortiert er eben nach dem Wert es ersten Zeichens bzw. bei gleichem Wert die des nächsten Zeichens.

Wenn er bei dir also falsch sortiert, musst du schauen, ob der datentyp eben richtig ist.



Und den tipp vom Vorgänger zu beachten ist vielleicht auch nicht ganz verkehrt.

Wenn die ID der Erkennungswert sein soll, dann ist folgende Einstellung empfehlenswert:

Spalte id: INT, unsigned, auto_increment, PRIMARY KEY

PRIMARY KEY - Primärschlüssel eben.
Dies stellt dar, dass die ID der eindeutige Wiedererkennungswert der Zeile ist.
Die ID darf somit nur einmal vorkommen, niemals doppelt. Durch das auto_increment wird dies auch automatisch vergeben.
Und es wird keine ID doppelt vergeben. wird ein Eintrag gelöscht, so bleibt die ID auch gelöscht und wird nicht erneut vergeben.
______________
Beitrag11.10.2010 um 07:17 (UTC)    
Titel:

Vielen Dank für die schnelle Hilfe. Jetzt hats geklappt. Daran habe ich nicht gedacht. VACHAR zu INT...

Liebe Grüße
www.CHAFO.tk
______________
Beitrag11.10.2010 um 14:20 (UTC)    
Titel:

Hallo,
Wie kann ich eine Seite für User die vor einer halben Stunde schon einmal auf dieser Seite waren sperren?
Ich denke man legt eine Tabelle mit 2 Spalten. ID und Time...ich trage jetzt die aktuelle Zeit und Ip von den ein, der auf dieser Seite ist. Aber wenn er jetzt nach einer wiederkommt, was muss ich dann machen?

Ich hoffe mir kann jemand helfen...

Lg
chafo
______________
Beitrag11.10.2010 um 14:46 (UTC)    
Titel:

genau nimmst den unix timestamp udn vergleichst die aktuelle besuchszeit mit der zeit in der tabelle falsl utnerschied > 30 minuten => zulassen ansonsten sperren

brauchst nur ip und time einfacher gehts mit session cookies da brauchst du keine tabelle
______________
Video Portal Unplugged
Neues Gewinnspiel #1
Neues Gewinnspiel #2
Beitrag11.10.2010 um 15:23 (UTC)    
Titel:

wie vergleiche ich die zeiten?
______________
Beitrag11.10.2010 um 18:44 (UTC)    
Titel:

Mach einfach in einer tabelle die spalte timestamp oder so und speicher dann time() + 1800 ab. 1800 sek = 30min. Dann checkste das so:

if($timestamp < time()) {
//letzter Eintrag oder Aktivität des besuchers ist schon 30min her
}
else {
//die 30 min sind noch nicht um :b
}

mfg
______________
Du hast eine Frage? Ich stehe dir selbstverständlich jeder Zeit zur Verfügung!
Beitrag13.10.2010 um 18:17 (UTC)    
Titel:

Gut, ich habe es jetzt mit Cookies gemacht.
Cookie wird für eine halbe stunde erstellt
______________
Beiträge der letzten Zeit anzeigen:   


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de