WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik



Im Homepage und Webhosting-Forum --- Problem mit Simplen Vote

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.

Forum » PHP & MySQL » Problem mit Simplen Vote - 04 Dez 2024 Antworten
im Forum für Webhosting Homepage gefunden:
Problem mit Simplen Vote
Bastian_W
Otto-Normal-Poster
Threadstarter




Beiträge: 85

Hi,

ich habe ein Problem mit einem Vote System. Wie erreiche ich das ein User nur einmal Voten kann... ok... indem ich die IP-Adresse mitlogge (siehe) nur wird die Datei dann ja riesengroß, evtl. kann man die Einträge ja begrenzen und immer nur 1000 IP´s loggen und die erste dann wieder überschreiben?!?! Ich würde ja einen Cookie einsetzen. Allerdings kann man zeitgleich mehrere Votes durchführen. Hat jemand ne Idee... das Script sieht bis jetzt so aus (siehe unten) soll aber wenn ich das hinbekommen habe, das 1 User nur einmal Voten kann als MySQL laufen.

$varia=file("fragen.txt","r");
$frage=array_pop($varia);
echo "$frage";
echo "
";
$i=0;
while(isset($varia[$i])) {
$j=$i+1;
echo "$varia[$i]
";
$i++;
}
echo "";
echo "
";
$z=file("antworten.txt","r");
if ($ant!='') {
$lvote=fopen("lastip.txt","r");
$lv=fgets($lvote,255);
fclose($lvote);
$ip=getenv("REMOTE_ADDR");
if ($lv!=$ip) {
$z[$ant-1]=$z[$ant-1]+1;
$datei=fopen("antworten.txt","w");
foreach ($z as $save) {fputs($datei,chop($save)."\n");}
fclose($datei);
$lvote=fopen("lastip.txt","w");
fputs($lvote,"$ip");
fclose($lvote);
}
}
$laenge=90;
$gesamt=0;
foreach($z as $zahl)
{ $gesamt=$gesamt+$zahl; }
$proz=array();
foreach ($z as $zahl) {
if ($gesamt!=0) {
$p=round($zahl/$gesamt*10000)/100;
array_push($proz,$p);
}
}
$max=1;
foreach ($z as $zahl) {
$zahl=$zahl*10/10;
if($zahl > $max) { $max=$zahl; }
}
$breite=array();
foreach ($z as $zahl)
{
$b=$zahl*$laenge/$max;
array_push($breite,$b);
}
$i=0;
while (isset($z[$i]))
{
echo "$varia[$i]
";
echo "\"$z[$i]";
$x=$laenge-$breite[$i];
echo "\"$z[$i]";
echo "$proz[$i]%";
echo "
";
$i++;
}
echo "
Stimmen: $gesamt (100%)";
?>



---
Bastian_W
------
Real programmers don't comment their code. It was hard to write, so it should be hard to read.

Diese Nachricht wurde geändert von: Bastian_W
  Profil   Editieren   Zitieren
HG
Posting-Schinder




Beiträge: 520

Ich hatte immer den Eindruck, daß viele Votes einfach einen Cookie auf meiner Festplatte gespeichert haben, um mich von weiteren Abstimmungen abzuhalten.

IP-Sperren sind dafür vielleicht nicht so gut geeignet, weil die meisten User über dynamische IPs verfügen, und du damit wahrscheinlich auch User aussperrst, die abstimmen dürften.

---
www.kuminatano.de

  Profil   E-Mail   Website   Editieren   Zitieren
Bastian_W
Otto-Normal-Poster
Threadstarter




Beiträge: 85

Jo... deshalb wollte ich von meiner IP Lösung auch weg. Nur nicht ganz. Ich werde das evtl. so machen, das ich die IP nur 10min Speichere + Cookie wird das ziemlich sicher sein, das den Vote niemand so schnell faken kann. Ist nur die Umsetzung:
Wie speichere ich cookies bzw. frage sie ab bei mehreren Umfragen?

---
Bastian_W
------
Real programmers don't comment their code. It was hard to write, so it should be hard to read.

  Profil   Editieren   Zitieren
HG
Posting-Schinder




Beiträge: 520

Da hast bei mehreren Votes wahrscheinlich eine Art "id" für jede Umfrage. Diese id müsstest du dann in einem Cookie speichern, und dann überprüfen, ob die ip in den letzten zehn minuten eine Antwort abgesandt hat.

Die Funkiton dafür ist setcookie: http://de2.php.net/manual/en/function.setcookie.php

---
www.kuminatano.de

  Profil   E-Mail   Website   Editieren   Zitieren
Bastian_W
Otto-Normal-Poster
Threadstarter




Beiträge: 85

Die Cookie Funktion ist schon klar...

doch wenn ich 500Links habe und jeden Link Bewerten lassen will kann ich nicht 500Cookies schreiben . Deshalb meine Frage ob jemand eine Idee hat ob man in einen Cookie mehrere Werte Speichern kann. Evtl. währe ja auch das "updaten/neuspeichern" von dem Cookie möglich.

---
Bastian_W
------
Real programmers don't comment their code. It was hard to write, so it should be hard to read.

  Profil   Editieren   Zitieren
languitar
Foren-Team




Beiträge: 2795

du könntest einfach alle Werte hintereinander mit einem | getrennt schreiben und die dann mit explode beim Auslesen wieder auseinanderwurschteln.

  Profil   Editieren   Zitieren
Bastian_W
Otto-Normal-Poster
Threadstarter




Beiträge: 85

Da bin ich auch gerade drann... ich werde alle Werte aus dem Cookie auslesen mit Explode auseinanderflücken den neuen Wert hinzufügen und alles wieder zurück in den Cookie schreiben. Bei 500 möglichen Votes aber ein "dickes" cookie aber mir fällt da spontan nix anderes ein.


Edit:Schreibfehler korigiert

---
Bastian_W
------
Real programmers don't comment their code. It was hard to write, so it should be hard to read.

Diese Nachricht wurde geändert von: Bastian_W
  Profil   Editieren   Zitieren
 

Antworten
Forum » PHP & MySQL » Problem mit Simplen Vote

Aktuelle Beiträge zur Hilfe im Forum für Homepage - Problem mit Simplen Vote im Forum Homepage Hosting AntwortenLetztes Posting
Cybersicherheit für Unternehmen
in "PHP & MySQL"
3 18.11.2024 14:05 von Gaswer
Wirtschaftslage in der Ukraine
in "PHP & MySQL"
3 22.10.2024 15:04 von Gaswer
Rangliste (Ohne Mysql) (Kompliziertes Ordner System)
in "PHP & MySQL"
3 19.07.2021 06:00 von newtopblog
kleines problem mit phpadmin
in "PHP & MySQL"
5 11.04.2021 22:22 von Zavylon
Counter mit PHP
in "PHP & MySQL"
4 22.03.2021 16:29 von Robeni
Fehlermeldung beim Importieren der Datenbank in phpmyadmin
in "PHP & MySQL"
0 02.08.2019 22:14 von iFuchs
CMS für Online Shop
in "PHP & MySQL"
18 26.05.2019 13:29 von raiserle
Regestrierungproblem
in "PHP & MySQL"
3 28.11.2018 13:20 von norbertofahey
PHP Datum ausgeben?
in "PHP & MySQL"
1 19.10.2018 10:04 von Klaus1973
PHP befehl ausführen
in "PHP & MySQL"
11 16.08.2018 09:08 von Klaus1973
Visual Composer selber programmieren?
in "PHP & MySQL"
0 22.01.2017 23:45 von Redji



Besucher : 8133344    Heute : 110     Gestern : 581     Online : 27     4.12.2024    9:11      0 Besucher in den letzten 60 Sekunden        
Nach oben