ip-sperre

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Woosh
Mitglied
Beiträge: 9
Registriert: 11.08.2006 11:02
Kontaktdaten:

Beitrag 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
Jensemann
Ehemaliges Teammitglied
Beiträge: 2549
Registriert: 25.02.2002 01:00

Beitrag 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.
Benutzeravatar
witzigerkiller
Gesperrt
Beiträge: 878
Registriert: 05.02.2005 13:27
Wohnort: Sonthofen

Beitrag 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&auml;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&auml;hlt. Danke für deine Teilnahme an unserer Umfrage!</b>'; 
echo '<p>'; 
echo 'Bisherige Statistik &uuml;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&auml;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!'; 
} 
?> 
Bitte keine Anfragen mehr per PN
When you get me on my nerven I put you in the Gully and do the Deckel drüf and you never will come back to the Tageslicht.
Jensemann
Ehemaliges Teammitglied
Beiträge: 2549
Registriert: 25.02.2002 01:00

Beitrag von Jensemann »

witzigerkiller hat geschrieben: fopen = "ip/".$_SERVER['REMOTE_ADDR'].".txt";
Was soll das?
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag 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.
KB:knigge
Woosh
Mitglied
Beiträge: 9
Registriert: 11.08.2006 11:02
Kontaktdaten:

Beitrag 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
Benutzeravatar
witzigerkiller
Gesperrt
Beiträge: 878
Registriert: 05.02.2005 13:27
Wohnort: Sonthofen

Beitrag von witzigerkiller »

ich wurde als aol user hier auch gesperrt und bin selbst nichtmal mit router reseten mehr draufgekommen*XD*
Bitte keine Anfragen mehr per PN
When you get me on my nerven I put you in the Gully and do the Deckel drüf and you never will come back to the Tageslicht.
Woosh
Mitglied
Beiträge: 9
Registriert: 11.08.2006 11:02
Kontaktdaten:

Beitrag 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&auml;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&auml;hlt. Danke für deine Teilnahme an unserer Umfrage!</b>';
echo '<p>';
echo 'Bisherige Statistik &uuml;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&auml;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?
Woosh
Mitglied
Beiträge: 9
Registriert: 11.08.2006 11:02
Kontaktdaten:

Beitrag von Woosh »

okay, alles klar... jetzt geht alles... es gab nur noch ein problem mit den verlinkungen...

lg woosh
Antworten

Zurück zu „Coding & Technik“