Antworten auf deine Fragen:
Neues Thema erstellen

IP überprüfung nach 3 mal abschicken

Colincolin

Nicht mehr ganz neu hier

Hallo zusammen

Ich brauch eine kleine gedankenstütze zu folgendem Problem:

Ich habe ein Formular zur bestellung.

Der Benutzer kommt angemeldet auf diese Formular. Er darf maximal 3 Bestellungen (pro ip) und pro Tag machen

Also Tag1 :

Benutzer:Colin

Bestellung 1 mit der ip 97.231.214.17
Wasser, Chips
Bestellung 2 mit der ip 97.231.214.17
Toaster, Bier
Bestellung 3 mit der ip 97.231.214.17
Wein, Games, TV

nach den 3 Bestellungen soll eine Meldung kommen wie:

SIe haben für heute genug bestellt..

Nun hat mir jmd paar tipps? ich brauche nicht den code sondern nur wie ich die ips pro tag zählen soll

Gruss und Danke!

Colin
 

Antr4ks

Nicht mehr ganz neu hier

AW: IP überprüfung nach 3 mal abschicken

Äh? Ich denke mal, die Bestellungen werden samt IP und Datum gespeichert. Dann prüfst du enfach, ob IP und Datum bereits 3 mal vorhanden ist und gibst dann ne Fehlermeldung, dass die maximale Anzahl der Bestellungen bereits erreicht ist. Wenn du den Code nicht brauchst, wo liegt dann denn jetzt dein Problem?
 

ChrisvA

Aktives Mitglied

AW: IP überprüfung nach 3 mal abschicken

Alternativ, falls du immer um 0Uhr von vorne anfangen möchtest zu zählen, lege eine Datenbanktabelle an, bei der du die Bestellungen pro IP zählst. Um Mitternacht löschst du den Inhalt der Tabelle.
Falls du eine 24h Regel möchtest lege eine Tabelle an, die für jede IP 3 weitere Zeitstempel speichern kann. Bei einer Bestellung prüfst du dann, ob der älteste schon 24h zurück liegt und erneuerst ihn dann entsprechend.
Ab und zu würde ich die Tabelle aufräumen (IP, die 24 h gar nichts gekauft haben wieder raus löschen), damit die Suche schneller geht und dir die Datenbank nicht überläuft.
Die Idee von kannst du aber auch gut umsetzen, falls es eine solche Tabelle gibt. Hier nur noch 2 Alternativideen.
 

Colincolin

Nicht mehr ganz neu hier

AW: IP überprüfung nach 3 mal abschicken

hmm ja okay, vlt bischen falsch ausgedrückt... brauch nicht den genauen code aber vlt paar funktionen

also bsp. soll die db auslesen und danach mit num rows die ip zählen? aber wie mach ich das mit dem datum?

mysql_num_rows ($ip) > 3

und wie nehm ich da das datum rein? hab nie mit "datum" gearbeitet... also abfragen nach datum etc... da liegt das problem eigentlich
 

ChrisvA

Aktives Mitglied

AW: IP überprüfung nach 3 mal abschicken

Zeit wird in PHP meist als Sekunden seit dem 1.1.1970 gezählt.
Du trägst also diese Sekunden jeweils in die DB ein. Im Anschluss kannst du sie wie andere Zahlen auch vergleichen.
Bei meiner 2. Methode würde ich jedoch nach der IP in der Datenbank suchen und anschließend in PHP schauen, ob eine Zeit eine erneute Bestellung erlaubt.

mysql_num_rows ($ip) würde bei der von Antr4ks angesprochenen Methode funktionieren. Einfach alle Einträge, bei der die IP vorkommt und deren Zeitstempel in einer gewissen Spanne liegt zählen. Dann allerdings >2 testen und nicht größer 3. (oder größer gleich 3)
 

saila

Moderatorle

AW: IP überprüfung nach 3 mal abschicken

Hi,

ein weiterer Vorschlag :)

Neue DB-Tabelle anlegen. In dieser wird mit der Bestellung (falls vorhanden) die UserId und ein timestamp gespeichert. Zu dem timestamp (php-Funktion) addierst du 24 Stunden dazu. Bedeutet: $timeStamp = time() + (3600 * 24);

Wenn keine UserId dann eben die IP. Fraglich wird das allerdings für Nutzer von AOL-Accounts. Diese wechseln die IP und somit ist auch deine Prüfung im Eimer, falls diese ausschl. über IP laufen muss.

Zurück... bei der nächsten Bestellung nimmst du einfach den neuen timestamp() und vergleichst diesen in der Datenbank mit einem vorhandenen - passend zur IP. ist der vorhandene kleiner als der aktuelle, kann eine neue Bestellung erfolgen. Wenn nicht eben nicht.

Das prinzip ist Abfrageschonend und zugleich auch sehr simpel.

Damit du weist, was und wie ein time() funktioniert, folgendes Beispiel einfach bei dir irgendwo in eine PHP datei legen und danach aufrufen:
PHP:
<?php
$actualTime = time(),
$maxTime = time() + (3600 * 24);

echo 'So sieht der timestamp aus: '. $actualTime;
echo $actualTime .' entspricht '. date('d.m.Y', $actualTime);
echo 'Das ist der timestamp mit der Addition von 24 Stunden: '. $maxTime .' oder '. date('d.m.Y', $maxTime);
?>
 

AlexanderBo

Gesperrt

AW: IP überprüfung nach 3 mal abschicken

bei statischen IPs m8 das ja vllt sinn...
fast alle haben jedoch dynamische...
neu via ISP einloggen und schon is ne neue IP vorhanden...
insofern würd ich die bestellungen am user festmachen (pro tag)
und never anna IP;-)
 

Colincolin

Nicht mehr ganz neu hier

AW: IP überprüfung nach 3 mal abschicken

Vielen Dank für eure Vorschläge, ich werds mir morgen mal anschauen, ich gönne mir jetzt eine Pause :)

Ich schreib noch wenn Probleme auftreten oder wenns geklappt hat, Danke erstmal.

Gruss, schönen Samstag abend noch
 
R

rm21

Guest

AW: IP überprüfung nach 3 mal abschicken

Ich würd's auch am User festmachen, man braucht ja sonst bloß aus einem anderen Netzwerk bestellen, order den Router resetten... So bekommt jeder eine neue IP und die ganze Überprüfung ist hinfällig (außer Du machst das Ganze nur für ein LAN mit fixen IPs).
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.616
Beiträge
1.538.358
Mitglieder
67.536
Neuestes Mitglied
QuestionMark
Oben