Archief - PHP: persoon uit banlijst lezen

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Marbug

Legacy Member
scriptje:
PHP:
if (isset($_SESSION['gebruiker']) && !isset($_SESSION['ban'])) { 
  if (strstr(file_get_contents('members/banned.txt'), '(.+?)\|'.'(.+?)\|'.$_SESSION['gebruiker']).'|') {
	$_SESSION['ban'] = 1;}else{$_SESSION['ban'] = 0;}
   }
banlijst:
PHP:
(eerste regel is leeg)
1112647607|86400|Marbug|
1112651820|259200|test|
ik vind er maar niet aan wat er fout is, maar zelfs als de persoon niet in de banlijst staat, dan staat de $_SESSION['ban'] op 1, kan iemand de fout verbeteren als ge die vind?
alvast bedankt

S3cT0r

Legacy Member
Code:
if (strstr(file_get_contents('members/banned.txt'),'(.+?)\|'.'(.+?)\|'.$_SESSION['gebruiker']).'|')
De laatste keer dat ik checkte was strstr() toch helemaal geen regex functie?
Wat je volgens mij beter probeert is:
Code:
$tmp = file_get_contents('members/banned.txt');
$exp = explode("\r\n",$tmp);
foreach ($exp as $loop) {
if (...simpelere if check...) { $_SESSION['banned'] = 1; }
else { $_SESSION['banned'] = 0; }
}

(Die "\r\n" is omdat ik aanneem dat het een windows file is, als de file echter unix is, dan voldoet "\n").

Marbug

Legacy Member
k thx, na een tijdje enkele dingskes aanpassen is het me gelukt, die else { $_SESSION['banned'] = 0; } mocht er niet bij staan
PHP:
	if (isset($_SESSION['gebruiker'])) {
	$banned_file = file_get_contents ("members/banned.txt"); 
	$pieces = explode("\n", $banned_file);
    for ($i=1;$i<count($pieces);$i++) {  
	list($v_ban_tijd, $v_bantijdx, $v_ban_naam) = explode("|", $pieces[$i]);
	if($v_ban_naam == $_SESSION['gebruiker']){
		$_SESSION['ban'] = 1;
		}
	}}
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan