[Vraag 2] Verbeter script
Ik zoek een scriptje of een beginnetje van hoe je alléén mensen toelaat met een ip-adres die in de database staat. Ik ben namelijk bezig met een pagina te maken waarop alle downloads staan, waar je eenmalig voor hebt moeten betalen (dat doe ik met behulp van Eurobellen). Ik laat hem een scriptje uitvoeren die je ip-adres in de database zet als je die pagina hebt bezocht.
Wilt iemand het voor me maken ofzo? Ja, ik weet het, het is Phphulp, maar ik kan het nergens vinden.
Alvast bedankt dan maar :)
EDIT:
Hmm, volgende vraag :|
Wat is hier fout aan:
Controleer.php
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
<?php
if (!isset($_GET['controleer']))
echo "Zo gaat dat niet =)";
}
else {
if($_GET['controleer']=='15023') {
$ip = $_SERVER['REMOTE_ADDR'];
mysql_connect('localhost', 'downloaded', 'betaald') or die(mysql_error());
mysql_select_db('downloaded') or die(mysql_error());
$sql_a = mysql_query("INSERT INTO toegestane_mensen (ip) VALUES ('$ip')");
}
else {
echo "De code is verkeerd.";
}
?>
if (!isset($_GET['controleer']))
echo "Zo gaat dat niet =)";
}
else {
if($_GET['controleer']=='15023') {
$ip = $_SERVER['REMOTE_ADDR'];
mysql_connect('localhost', 'downloaded', 'betaald') or die(mysql_error());
mysql_select_db('downloaded') or die(mysql_error());
$sql_a = mysql_query("INSERT INTO toegestane_mensen (ip) VALUES ('$ip')");
}
else {
echo "De code is verkeerd.";
}
?>
Stukje van index.php:
Code (php)
1
2
3
4
5
2
3
4
5
Ben je een admin? Typ dan hier de code in:<br />
<form name="form" method="get" action="controleer.php">
<input name="controleer" type="text">
<input type="submit" value="Controleer">
</form>
<form name="form" method="get" action="controleer.php">
<input name="controleer" type="text">
<input type="submit" value="Controleer">
</form>
Ja, ik heb bewust voor GET gekozen ;)
O ja, en ik krijg geen errors. Ik heb dit stukje er al in gezet:
Werkt niet.
Gewijzigd op 01/01/1970 01:00:00 door Colin aaaaaaa
Ik zou zeggen, niet met ip's doen, die kunnen veranderen. Er zullen mensen zijn die iedere keer opnieuw zullen moeten betalen.
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
<?php
// mysql verbinding
$sql_a = mysql_query("SELECT COUNT(*) AS aantal FROM toegestane_mensen WHERE ip = '".$_SERVER['REMOTE_ADDR']."'");
if(!mysql_error()) {
$res_a= mysql_fetch_assoc($sql_a);
if($res_a['aantal'] >= 1) {
// doorgaan
}
} else {
// error
}
?>
// mysql verbinding
$sql_a = mysql_query("SELECT COUNT(*) AS aantal FROM toegestane_mensen WHERE ip = '".$_SERVER['REMOTE_ADDR']."'");
if(!mysql_error()) {
$res_a= mysql_fetch_assoc($sql_a);
if($res_a['aantal'] >= 1) {
// doorgaan
}
} else {
// error
}
?>
Zoiets denk?
Edit:
Zelf sla ik het ip adress het liefst op als een int maar dan snappen jullie der weer geen hout van en vraag je waarschijnlijk of ik dat eruit kan halen...
Gewijzigd op 01/01/1970 01:00:00 door Mebus Hackintosh
int? en de puntjes dan?
iltar van der berg schreef op 05.05.2007 19:07:
int? en de puntjes dan?
Alles word omgezet in een int waarde met de MySQL functie INET_ATON en om de int waarde weer om te zetten naar een string gebruik je INET_NTOA
http://dev.mysql.com/doc/refman/5.1/en/miscellaneous-functions.html
Edit:
Die puntjes worden gewoon meegenomen... Wat is het nut hiervan? Bespaart wat bytes en ik vind zelf eigenlijk ook dat het een beetje veiligheid bied.
Gewijzigd op 01/01/1970 01:00:00 door Mebus Hackintosh
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
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
mysql_connect('localhost', 'downloaded', '****') or die(mysql_error());
mysql_select_db('downloaded') or die(mysql_error());
$sql_a = mysql_query("SELECT COUNT(*) AS aantal FROM toegestane_mensen WHERE ip = '".$_SERVER['REMOTE_ADDR']."'");
if(!mysql_error()) {
$res_a= mysql_fetch_assoc($sql_a);
if($res_a['aantal'] >= 1) {
echo "Hoi";
}
} else {
echo "Dag";
}
?>
mysql_connect('localhost', 'downloaded', '****') or die(mysql_error());
mysql_select_db('downloaded') or die(mysql_error());
$sql_a = mysql_query("SELECT COUNT(*) AS aantal FROM toegestane_mensen WHERE ip = '".$_SERVER['REMOTE_ADDR']."'");
if(!mysql_error()) {
$res_a= mysql_fetch_assoc($sql_a);
if($res_a['aantal'] >= 1) {
echo "Hoi";
}
} else {
echo "Dag";
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Colin aaaaaaa
Even een kleine aanpassing:
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
26
27
28
29
30
31
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
ini_set('display_errors', 1); error_reporting(E_ALL);
mysql_connect('localhost', 'downloaded', '****') or die(mysql_error());
mysql_select_db('downloaded') or die(mysql_error());
$sql_a = mysql_query("SELECT COUNT(*) AS aantal FROM toegestane_mensen WHERE ip = '".$_SERVER['REMOTE_ADDR']."'");
if(!mysql_error()) {
$res_a= mysql_fetch_assoc($sql_a);
if($res_a['aantal'] >= 1) {
echo "Hoi";
} else {
echo 'Je hebt geen rechten om deze pagina te kunnen bekijken.'."\n"; // Gebruikt voor tekst enkele quotes
}
} else {
echo mysql_error();
}
?>
ini_set('display_errors', 1); error_reporting(E_ALL);
mysql_connect('localhost', 'downloaded', '****') or die(mysql_error());
mysql_select_db('downloaded') or die(mysql_error());
$sql_a = mysql_query("SELECT COUNT(*) AS aantal FROM toegestane_mensen WHERE ip = '".$_SERVER['REMOTE_ADDR']."'");
if(!mysql_error()) {
$res_a= mysql_fetch_assoc($sql_a);
if($res_a['aantal'] >= 1) {
echo "Hoi";
} else {
echo 'Je hebt geen rechten om deze pagina te kunnen bekijken.'."\n"; // Gebruikt voor tekst enkele quotes
}
} else {
echo mysql_error();
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Mebus Hackintosh
Colin schreef op 05.05.2007 19:13:
Een mooie witte pagina.
(Ik krijg eigenlijk nooit een error...)
(Ik krijg eigenlijk nooit een error...)
Zie mijn edit eens en krijg je dan wel een error te zien?
Anyway, ik ga mijn IP-Adres eens in de DB zetten ;)
EDIT: Duizendmaal dank!
Nu ga ik een pagina maken die je ip-adres in de Database zet ;)
Gewijzigd op 01/01/1970 01:00:00 door Colin aaaaaaa
Wat is hier fout aan:
Controleer.php
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
<?php
if (!isset($_GET['controleer']))
echo "Zo gaat dat niet =)";
}
else {
if($_GET['controleer']=='15023') {
$ip = $_SERVER['REMOTE_ADDR'];
mysql_connect('localhost', 'downloaded', 'betaald') or die(mysql_error());
mysql_select_db('downloaded') or die(mysql_error());
$sql_a = mysql_query("INSERT INTO toegestane_mensen (ip) VALUES ('$ip')");
}
else {
echo "De code is verkeerd.";
}
?>
if (!isset($_GET['controleer']))
echo "Zo gaat dat niet =)";
}
else {
if($_GET['controleer']=='15023') {
$ip = $_SERVER['REMOTE_ADDR'];
mysql_connect('localhost', 'downloaded', 'betaald') or die(mysql_error());
mysql_select_db('downloaded') or die(mysql_error());
$sql_a = mysql_query("INSERT INTO toegestane_mensen (ip) VALUES ('$ip')");
}
else {
echo "De code is verkeerd.";
}
?>
Stukje van index.php:
Code (php)
1
2
3
4
5
2
3
4
5
Ben je een admin? Typ dan hier de code in:<br />
<form name="form" method="get" action="controleer.php">
<input name="controleer" type="text">
<input type="submit" value="Controleer">
</form>
<form name="form" method="get" action="controleer.php">
<input name="controleer" type="text">
<input type="submit" value="Controleer">
</form>
Ja, ik heb bewust voor GET gekozen ;)
O ja, en ik krijg geen errors. Ik heb dit stukje er al in gezet:
Werkt niet.
Gewijzigd op 01/01/1970 01:00:00 door Colin aaaaaaa
Er mist een }. Kijk maar, je sluit je 2e statement (de else-lus, eerste van boven) niet af.
Ook zag ik net dat ook een { vergeten was ;)
Het werkt nu, bedankt!
Toevallig bij Hosting2go?
Gewijzigd op 01/01/1970 01:00:00 door Colin aaaaaaa