Wat ik graag zou willen bereiken: Op mijn site kan de admin entries verwijderen uit het gastenboek. Nu zou ik graag hebben dat als zo'n entry verwijderd wordt, het ip ervan wordt opgeslagen in een tabel. Ik heb dus een tabel 'tblGastenboek' en een tabel 'tblBanned'.
Deze query wordt uitgevoerd indien de admin op de delete-link klikt:
Ik zou echter in dit bestand ook nog willen toevoegen dat hij het IP (kolom heet ook zo) uit tblGastenboek in tblBanned (kolom IP) toevoegt.
zoiets dus:
$sql = "SELECT IP FROM tblGastenboek WHERE GastenboekID=" . $_GET['id'] . ";";
$sql = "INSERT INTO tblBanned SET IP='ip ophalen uit vorige sql';";
$sql = "DELETE FROM tblGastenboek WHERE GastenboekID = " . $_GET['id'] . ";";
Zou iemand dit kunnen klaarspelen?
Mijn 2e vraag: is het mogelijk om in je .htaccess de ip-adressen uit de database op te roepen die geblokkeerd moeten worden? of kan je geen php implementeren in je htaccess? iemand raad?
Probleem 1 snap ik niet. Je kunt toch ook $_SERVER['REMOTE_ADDR'] opnieuw gebruiken in plaats van IP uit tblGastenboek te halen? En anders kun je gewoon mysql_fetch_assoc() gebruiken.
Probleem 2; je kunt een handler toevoegen; een script dat altijd wordt uitgevoerd van te voren. Of je kunt een htaccess laten genereren door je PHP script met fopen() en dergelijke.
Probleem 1 snap ik niet. Je kunt toch ook $_SERVER['REMOTE_ADDR'] opnieuw gebruiken in plaats van IP uit tblGastenboek te halen? En anders kun je gewoon mysql_fetch_assoc() gebruiken.
Wel, stel nu:
persoon met ip 1.1.1.1 post iets in het gastenboek. Zijn bericht en IP worden opgeslagen in tblGastenboek. De admin wil dit verwijderen en klikt op de delete-link. wat moet er dan gebeuren? -> entry van persoon 1 moet uit tblGastenboek verwijderd worden, en zijn IP 1.1.1.1 moet in tblBanned toegevoegd worden...
met $_SERVER['REMOTE_ADDR'] haal ja dan toch het ip van de admin op voor in tblBanned te zetten? dit is niet de bedoeling.
Probleem 2; je kunt een handler toevoegen; een script dat altijd wordt uitgevoerd van te voren. Of je kunt een htaccess laten genereren door je PHP script met fopen() en dergelijke.
Heeft er iemand een voorbeeldscript van zo een gegenereerd htaccess-bestand? Ik vind namelijk niet direct iets.
Zou iemand dit in zo een fopen-gedoe kunnen steken, want ik vind niet direct iets...
bedankt!
Moderator edit:
Bumpen:
Twee of meer keer achter elkaar in een topic posten heet bumpen.
Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de knop om je tekst aan te passen.
?
Onbekende gebruiker
13-08-2007 16:05
PHP.net! De zoekfunctie op die site doet wonderen...
Mijn 2e vraag: is het mogelijk om in je .htaccess de ip-adressen uit de database op te roepen die geblokkeerd moeten worden? of kan je geen php implementeren in je htaccess? iemand raad?
Nee, je zult als je dit wilt met php je htaccess moeten schrijven. Gelukkig is dit niet erg gecompliceerd:
<?php
/*
Dit script periodiek (bijvoorbeeld elke 5 minuten) uitvoeren (via cronjob (linux) of taakplanner (win), vereist php-cli)
create table blocked_ip (
ip varchar(15)
);
*/
$user = "user";
$pass = "pass";
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
$myFile = "/pad/naar/.htaccess";
$fh = fopen($myFile, 'w') or die("can't open file");
fwrite($fh, "Order Deny,Allow\n");
foreach ($dbh->query('SELECT ip from blocked_ip') as $row) {
fwrite($fh, "Deny from " . $row["ip"] . "\n");
}
fwrite($fh, "Allow from all\n")
fclose($fh);
?>
?>
Ik krijg echter deze error; Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /opt/www/heuninckr/web/www.aczele.be/a_htaccess.php on line 2