Seite 2 von 2
Verfasst: 16.08.2006 15:07
von Woosh
uff, ja klar... ne datei erstellen... da wär ich auch nie draufgekommen... danke...
@witzigerkiller: mir wäre es aber lieber, wenn überhaupt JEDER nur EINMAL abstimmen könnte... und dann nie wieder... also du musst keine zeitbegrenzung einbauen... aber wenn du willst, hab ich auch kein problem damit... ich kann die begrenzung ja auch auf 2 oder 3 jahre stellen oder so

hihi... danke nochmal für deine hilfe... ich schätze wir chatten eh nochmal... bis dann
lg woosh
Verfasst: 16.08.2006 15:14
von Jensemann
Geht, ist aber Verschwendung.
Alle PHP-Funktionen mit diesem Hinweis in der Doku "Das Ergebnis dieses Funktionsaufrufes wird zwischengespeichert. Siehe auch clearstatcache() für weitere Einzelheiten." verwenden intern stat(), du rufst also quasi mehrmals eine Funktion aus um jeweils einen der Rückgabewerte rauszufusseln, das ist nicht unbedingt sauber, auch wenn es gecached wird.
filectime(), wie auch stat() geben False zurück bei einem Fehler, also z.B. wenn die Datei nicht existiert, du kannst also bereits diesen Rückgabewert auf den Boolchen-Wert False prüfen um zu ermitteln ob die Datei existiert oder nicht.
Verfasst: 16.08.2006 15:21
von witzigerkiller
hier mal der jetzige php code, den ich gemacht habe, ist vllt. nen fehler drinne, ist ja nix eingerück*schimpf mit woosh*
Code: Alles auswählen
<?
$txt;
if(isset($_POST['send']))
{
if (!file_exists($_SERVER['REMOTE_ADDR'].".txt"))
{
fopen = "ip/".$_SERVER['REMOTE_ADDR'].".txt";
switch($_POST['zeit'])
{
case '1_monat': $txt='files/1_monat.txt'; break;
case '2_monate': $txt='files/2_monate.txt'; break;
case '6_monate': $txt='files/6_monate.txt'; break;
case '12_monate': $txt='files/12_monate.txt'; break;
case 'laenger': $txt='files/laenger.txt'; break;
default: echo 'Du musst einen Zeitraum wählen!'; break;
}
$counter=fopen($txt,'r+');
$aufruf=fgets($counter,100);
$aufruf=$aufruf+1;
rewind($counter);
fputs($counter,$aufruf);
fclose($counter);
echo '<b>Deine Stimme wurde gezählt. Danke für deine Teilnahme an unserer Umfrage!</b>';
echo '<p>';
echo 'Bisherige Statistik über eure Meinungen:<p>';
echo '1 Monat: ';
include ('files/1_monat.txt');
echo ' Stimme/n<br>';
echo '2 Monate: ';
include ('files/2_monate.txt');
echo ' Stimme/n<br>';
echo '6 Monate: ';
include ('files/6_monate.txt');
echo ' Stimme/n<br>';
echo '12 Monate: ';
include ('files/12_monate.txt');
echo ' Stimme/n<br>';
echo 'Länger: ';
include ('files/laenger.txt');
echo ' Stimme/n<br>';
}
else
{
echo "Du hast schon einmal abgestimmt";
}
}
else
{
echo 'ERROR! (Es fand ein Übergabefehler der Variable send im Formular statt! Bitte versuch es nocheinmal!';
}
?>
Verfasst: 16.08.2006 15:26
von Jensemann
witzigerkiller hat geschrieben:
fopen = "ip/".$_SERVER['REMOTE_ADDR'].".txt";
Was soll das?
Verfasst: 16.08.2006 22:19
von Pyramide
Woosh hat geschrieben:@witzigerkiller: mir wäre es aber lieber, wenn überhaupt JEDER nur EINMAL abstimmen könnte... und dann nie wieder...
Das ist im Internet nicht möglich, da du Personen nicht eindeutig identifizieren kannst. Ein und dieselbe Person kann deine Seite unter verschiedenen IP-Adressen aufrufen, genauso wie hinter einer IP mehrere Benutzer stehen können. So kann es z.B. passieren, daß ein AOL User zehnmal hintereinander abstimmen kann und dann gar kein AOL Kunde mehr.
Verfasst: 16.08.2006 23:42
von Woosh
hm... da ist was dran... aber wie meinst du das? heißt das, dass bei aol deine ip-adresse wechselt? naja... okay, wenn das so ist, wäre es mir doch lieber, wenn eine zeitbegrenzung drin ist... du hast vollkommen recht pyramide...
@witzigerkiller: wenn ich dich richtig verstanden habe heute in icq, dann machst du es jetzt sowieso mit einer zeitbegrenzung oder?
lg woosh
Verfasst: 17.08.2006 12:17
von witzigerkiller
ich wurde als aol user hier auch gesperrt und bin selbst nichtmal mit router reseten mehr draufgekommen*XD*
Verfasst: 03.09.2006 16:01
von Woosh
also... hab das jetz mal ausprobiert... also hier mal die index.php
Code: Alles auswählen
<?
$txt;
if(isset($_POST['send']))
{
if (!file_exists("ip/".$_SERVER['REMOTE_ADDR'].".txt"))
{
fopen("ip/".$_SERVER['REMOTE_ADDR'].".txt", "w+");
switch($_POST['zeit'])
{
case '1_monat': $txt='files/1_monat.txt'; break;
case '2_monate': $txt='files/2_monate.txt'; break;
case '6_monate': $txt='files/6_monate.txt'; break;
case '12_monate': $txt='files/12_monate.txt'; break;
case 'laenger': $txt='files/laenger.txt'; break;
default: echo 'Du musst einen Zeitraum wählen!'; break;
}
$counter=fopen($txt,'r+');
$aufruf=fgets($counter,100);
$aufruf=$aufruf+1;
rewind($counter);
fputs($counter,$aufruf);
fclose($counter);
echo '<b>Deine Stimme wurde gezählt. Danke für deine Teilnahme an unserer Umfrage!</b>';
echo '<p>';
echo 'Bisherige Statistik über eure Meinungen:<p>';
echo '1 Monat: ';
include ('files/1_monat.txt');
echo ' Stimme/n<br>';
echo '2 Monate: ';
include ('files/2_monate.txt');
echo ' Stimme/n<br>';
echo '6 Monate: ';
include ('files/6_monate.txt');
echo ' Stimme/n<br>';
echo '12 Monate: ';
include ('files/12_monate.txt');
echo ' Stimme/n<br>';
echo 'Länger: ';
include ('files/laenger.txt');
echo ' Stimme/n<br>';
}
else
{
echo "Du hast schon einmal abgestimmt";
}
}
else
{
echo 'ERROR! (Es fand ein Übergabefehler der Variable send im Formular statt! Bitte versuch es nocheinmal!';
}
?>
allerdings gibt er mir immer das hier auf total weißem hintergrund aus:
Code: Alles auswählen
ERROR! (Es fand ein Übergabefehler der Variable send im Formular statt! Bitte versuch es nocheinmal!
weiß jemand weiter?
Verfasst: 06.09.2006 18:51
von Woosh
okay, alles klar... jetzt geht alles... es gab nur noch ein problem mit den verlinkungen...
lg woosh