berichtenbalk beveiliging
SQL-query :
CREATE TABLE `bericht` (
`id` INT(100) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`ip` VARCHAR(12) NOT NULL,
`aant` INT(2) DEFAULT '0' NOT NULL,
UNIQUE (`ip`)
);
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?
mysql_connect("host naam","usernaam","wachtwoord");
// mysql_connect maakt verbinding - mysql_connect("host naam","usernaam","wachtwoord")
mysql_select_db("test");
$ip= $_SERVER[REMOTE_ADDR] ;
$query = mysql_query("SELECT * FROM bericht WHERE ip = '".$ip."'");// selecteer IP
while ($row = mysql_fetch_array($query))
$id= $row["id"];
$ip= $row["ip"];
$aan= $row["aant"];
if ( $aan == 2 ) { echo "U kunt niet meer dan 2 Berichten plaatsen"; } // controleert of je al de Max aantal berichten hebt geschreven
else{ // Zo niet dan maakt ie de IP aan en zent de waarde op 1
$aant = "1";
$ip=$_SERVER[REMOTE_ADDR] ;
mysql_query("INSERT INTO bericht (id,ip,aant) VALUES ('','$ip','$aant')") or die(log_error($sql));
echo "u bent toegevoegt";}
?>
mysql_connect("host naam","usernaam","wachtwoord");
// mysql_connect maakt verbinding - mysql_connect("host naam","usernaam","wachtwoord")
mysql_select_db("test");
$ip= $_SERVER[REMOTE_ADDR] ;
$query = mysql_query("SELECT * FROM bericht WHERE ip = '".$ip."'");// selecteer IP
while ($row = mysql_fetch_array($query))
$id= $row["id"];
$ip= $row["ip"];
$aan= $row["aant"];
if ( $aan == 2 ) { echo "U kunt niet meer dan 2 Berichten plaatsen"; } // controleert of je al de Max aantal berichten hebt geschreven
else{ // Zo niet dan maakt ie de IP aan en zent de waarde op 1
$aant = "1";
$ip=$_SERVER[REMOTE_ADDR] ;
mysql_query("INSERT INTO bericht (id,ip,aant) VALUES ('','$ip','$aant')") or die(log_error($sql));
echo "u bent toegevoegt";}
?>
mijn browser geeft niets weer......
Gewijzigd op 26/08/2005 17:52:00 door L.a.laman
$ip=$_SERVER['REMOTE_ADDR'] ;
mysql_query("INSERT INTO bericht (id,ip,aant) VALUES ('','".$ip."','$aant')") or die(mysql_error($sql));
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?
mysql_connect("host naam","usernaam","wachtwoord");
// mysql_connect maakt verbinding - mysql_connect("host naam","usernaam","wachtwoord")
mysql_select_db("test");
$ip= $_SERVER['REMOTE_ADDR'];
$query = mysql_query("SELECT * FROM bericht WHERE ip = '".$ip."'");// selecteer IP
if(mysql_num_rows($query) >= 2){
{ echo "U kunt niet meer dan 2 Berichten plaatsen"; } // controleert of je al de Max aantal berichten hebt geschreven
mysql_query("INSERT INTO bericht (id,ip) VALUES ('','$ip')") or die(log_error($sql));
echo "U bent toegevoegt";}
?>
mysql_connect("host naam","usernaam","wachtwoord");
// mysql_connect maakt verbinding - mysql_connect("host naam","usernaam","wachtwoord")
mysql_select_db("test");
$ip= $_SERVER['REMOTE_ADDR'];
$query = mysql_query("SELECT * FROM bericht WHERE ip = '".$ip."'");// selecteer IP
if(mysql_num_rows($query) >= 2){
{ echo "U kunt niet meer dan 2 Berichten plaatsen"; } // controleert of je al de Max aantal berichten hebt geschreven
mysql_query("INSERT INTO bericht (id,ip) VALUES ('','$ip')") or die(log_error($sql));
echo "U bent toegevoegt";}
?>
Je kan niet met aant werken als het om berichten gaat...
Gewoon simpelweg berichtjes tellen...
Gewijzigd op 26/08/2005 18:00:00 door l.a.laman
Edit: En je IP = UNIQUE dus uniek. Je hebt dus geen while loop nodig want er zit er maar max. 1 in de db.
Gewijzigd op 26/08/2005 18:04:00 door - SanThe -
zit er iets mis met de if functie ofzo???? hoe zit dat dan met die while functie?
Gewijzigd op 26/08/2005 18:06:00 door l.a.laman
Edit: Typo
Edit2: Correctie: Als aantal al 1 is wordt er nogmaals geprobeerd te inserten.
Gewijzigd op 26/08/2005 18:09:00 door - SanThe -
SanThe:
En wat nou als aantal al 1 is? Dn gebeurt er dus niks.
klopt dan kan je een bericht toe voegen aan mijn berichten balk en dan is het de bedoeling dat bij het submit'en er een UPDATE komt voor dat IP adres met de nieuwe waarde : 2
Maar dat kan niet want IP adres is UNIEK
Gewijzigd op 26/08/2005 18:10:00 door l.a.laman
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?
mysql_connect("hostnaam","usernaam","wachtwoord");
// mysql_connect maakt verbinding
mysql_select_db("test");
$ip= $_SERVER['REMOTE_ADDR'] ;
$query = mysql_query("SELECT * FROM bericht WHERE ip = '".$ip."'"); // selecteer IP
if($row = mysql_fetch_array($query))
{
$rowid= $row["id"];
$rowip= $row["ip"];
$rowaan= $row["aant"];
if ( $rowaan == 2 )
{ // Max bereikt
exit("U kunt niet meer dan 2 Berichten plaatsen");
}
else
{
// UPDATE database met aantal = 2 en accepteer bericht
}
}
else
{
// INSERT nieuwe met aantal =1 en accepteer bericht
}
?>
mysql_connect("hostnaam","usernaam","wachtwoord");
// mysql_connect maakt verbinding
mysql_select_db("test");
$ip= $_SERVER['REMOTE_ADDR'] ;
$query = mysql_query("SELECT * FROM bericht WHERE ip = '".$ip."'"); // selecteer IP
if($row = mysql_fetch_array($query))
{
$rowid= $row["id"];
$rowip= $row["ip"];
$rowaan= $row["aant"];
if ( $rowaan == 2 )
{ // Max bereikt
exit("U kunt niet meer dan 2 Berichten plaatsen");
}
else
{
// UPDATE database met aantal = 2 en accepteer bericht
}
}
else
{
// INSERT nieuwe met aantal =1 en accepteer bericht
}
?>
TNX het werkt
Gewijzigd op 26/08/2005 19:19:00 door l.a.laman
Gewijzigd op 28/08/2005 15:20:00 door l.a.laman
Heb je een voorbeeld een link?
Dank je wel voor de moeite!!
Groet, lissy
het is een soort spamfilter, die zorgt dat je niet te vaak per keer kan posten. dus er kan geen spam plaats vinden, een soort van dan he :S :P
lissy:
Hoe ziet zoiets eruit als ik mag vragen?
Heb je een voorbeeld een link?
Dank je wel voor de moeite!!
Groet, lissy
Heb je een voorbeeld een link?
Dank je wel voor de moeite!!
Groet, lissy
Nee heelaas ik draai een virtuele machine (VMware)
met windiows 200 server er op
hier bouw ik een webserver en maak wat scripts
maar mijn server is niet van buiten af te bereiken
sorry.......
Gewijzigd op 28/08/2005 16:01:00 door l.a.laman
Groet, lissy
@Lissy: Houd er dan wel rekening mee dat er dus NOOIT meer dan twee post toegestaan zijn. Als je dat niet wilt zul je er een datum/tijd bij moeten opslaan en na X tijd weer opschonen.
Dank je SanThe voor de waarschuwing :-)
Groet, lissy