Maak nieuwe registratie key's
Ik ben met een script bezig maar er gaat iets niet goed.
Dit is het probleem. Als ik bijvoorbeeld 2 in het formulier invoer
en op verzenden druk dan gaat hij de pagina zeg maar laden en
dan blijft hij een tijdje laden en dan krijg ik een wit scherm :|
Ik weet niet hoe dit komt kan iemand me mischien helpen ?
Alvast bedankt :)
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
32
33
34
35
36
37
38
39
40
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
32
33
34
35
36
37
38
39
40
<?php
$x=$_POST[x];
$set=$_POST[submit];
require("connect.php"); // here make I a connection with the mysql db
//function randomkey
function createRandomPassword() {
$chars = "abcdefghijkmnopqrstuvwxyz023456789";
$pass = '' ;
while ($i <= 10) {
$num = rand() % 33;
$tmp = substr($chars, $num, 1);
$pass = $pass . $tmp;
$i++;
}
return $pass;
}
//insert to database if form is send
if(isset($set)){
echo test;
while($i<=$x){
$randomkey = createRandomPassword();
$query = "INSERT INTO activationkey VALUES ('','$randomkey')";
mysql_query($query);
echo "The following key is inserted: ".$randomkey."<br></br>";
}
}
?>
$x=$_POST[x];
$set=$_POST[submit];
require("connect.php"); // here make I a connection with the mysql db
//function randomkey
function createRandomPassword() {
$chars = "abcdefghijkmnopqrstuvwxyz023456789";
$pass = '' ;
while ($i <= 10) {
$num = rand() % 33;
$tmp = substr($chars, $num, 1);
$pass = $pass . $tmp;
$i++;
}
return $pass;
}
//insert to database if form is send
if(isset($set)){
echo test;
while($i<=$x){
$randomkey = createRandomPassword();
$query = "INSERT INTO activationkey VALUES ('','$randomkey')";
mysql_query($query);
echo "The following key is inserted: ".$randomkey."<br></br>";
}
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Krentenbol
Hier ontbreken sowieso de quotes al rond 'x' en 'submit'. Zet verder eens
boven aan je script. Wellicht dat je dan nog meer foutmeldingen krijgt...
Ik had na elke while i niet ge ++ zodat hij zeg maar oneindig doorging
( ik logde net in via phpmyadmin en zag dat ik 47648 key had :P )
Toch bedankt
Ik moet nu kijken of de key in de database voorkomt
maar ik kan geen goeie manier vinden behalve fetch array met
een loop maar dan moet ik de hele table gaan doorzoeken.
ik heb nu dit
$code is de userinput.
Ik moet dus kijken of de key die de client intypt in de database voorkomt.
HELP :|
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$sql = "SELECT key FROM activationkey WHERE key = '".$code."'";
if(!$res = mysql_query($sql))
{
trigger_error(mysql_error().'<br />In query: '.$sql);
}
else
{
if(mysql_num_rows($res) > 0)
{
// Key bestaat
}
else
{
// Key bestaat niet
}
}
?>
$sql = "SELECT key FROM activationkey WHERE key = '".$code."'";
if(!$res = mysql_query($sql))
{
trigger_error(mysql_error().'<br />In query: '.$sql);
}
else
{
if(mysql_num_rows($res) > 0)
{
// Key bestaat
}
else
{
// Key bestaat niet
}
}
?>
Dit is het script wat ik gebruik:
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
$sql = "SELECT key FROM activationkey WHERE key = '".$code."'";
if(!$res = mysql_query($sql))
{
trigger_error(mysql_error().'<br />In query: '.$sql);
}
else
{
if(mysql_num_rows($res) > 0)
{
echo "De key is goedgekeurd";
}
else
{
echo "Je key is niet geldig.";
}
}
if(!$res = mysql_query($sql))
{
trigger_error(mysql_error().'<br />In query: '.$sql);
}
else
{
if(mysql_num_rows($res) > 0)
{
echo "De key is goedgekeurd";
}
else
{
echo "Je key is niet geldig.";
}
}
En dit is de error:
Code (php)
1
2
2
Notice: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key FROM activationkey WHERE key = 'e5xxvk6n3p'' at line 1
In query: SELECT key FROM activationkey WHERE key = 'e5xxvk6n3p' in *My site* on line 118
In query: SELECT key FROM activationkey WHERE key = 'e5xxvk6n3p' in *My site* on line 118
ps. Dat MySQL dat wel toestaat is een van de vele problemen met deze database. Maar verander die naam dus even en dan zal het wel werken.
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
Sla hem op in een CHAR(40) en klaar ben je. Uiteraard wel een UNIQUE-constraint op deze kolom zetten, anders kon je nog wel eens in de problemen komen...
Het werkt bedankt :)
Omdat ik nogal nieuw ben in php :P
Neeee weer een probleem xD
Dit is het probleem ik moet een aantal dingen bekijken in de database
het gaat allemaal goed totdat ik 2 dingen wil bekijken voorbeeld
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
32
33
34
35
36
37
38
39
40
41
42
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
32
33
34
35
36
37
38
39
40
41
42
<?php
// kijk of de user al bestaat
$sql="SELECT user FROM members WHERE user = '".$name."'";
if(!$res = mysql_query($sql))
{
trigger_error(mysql_error().'<br />In query: '.$sql);
}
else
{
if(mysql_num_rows($res) > 0)
{
echo "De door jou gekozen naam is al in gebruik. <br></br>";
$write=FALSE;
}
// kijk of de registeer code klopt
$sql = "SELECT keycode FROM activationkey WHERE keycode = '".$code."'";
if(!$res = mysql_query($sql))
{
trigger_error(mysql_error().'<br />In query: '.$sql);
}
else
{
if(mysql_num_rows($res) > 0)
{
echo "Je registratiecode is goedgekeurd <br></br>";
}
else
{
echo "Je registratiecode is niet geldig.";
$write=FALSE;
}
?>
// kijk of de user al bestaat
$sql="SELECT user FROM members WHERE user = '".$name."'";
if(!$res = mysql_query($sql))
{
trigger_error(mysql_error().'<br />In query: '.$sql);
}
else
{
if(mysql_num_rows($res) > 0)
{
echo "De door jou gekozen naam is al in gebruik. <br></br>";
$write=FALSE;
}
// kijk of de registeer code klopt
$sql = "SELECT keycode FROM activationkey WHERE keycode = '".$code."'";
if(!$res = mysql_query($sql))
{
trigger_error(mysql_error().'<br />In query: '.$sql);
}
else
{
if(mysql_num_rows($res) > 0)
{
echo "Je registratiecode is goedgekeurd <br></br>";
}
else
{
echo "Je registratiecode is niet geldig.";
$write=FALSE;
}
?>
Om de een of andere reden werkt het niet
maar als ik bijvoorbeeld het gedeelte dat naam checkt weghaalt
werkt het wel :| Dus ik kan maar 1 keer iets checken ( of de keycode of de naam :S )
dit is de error
Help a.u.b. :)
Wat is regel 311? Daar staat namelijk een foutje in je code...
</html>
Quote:
Bumpen
Twee of meer keer achter elkaar in een topic posten, voordat andere forumleden gereageerd hebben, heet "bumpen". Omdat het opdringerig overkomt is bumpen pas na 24 uur toegestaan. Bumpen kan een reden zijn voor de admins en mods om een topic te sluiten. Gebruik het knopje om je tekst aan te passen indien nodig.
Twee of meer keer achter elkaar in een topic posten, voordat andere forumleden gereageerd hebben, heet "bumpen". Omdat het opdringerig overkomt is bumpen pas na 24 uur toegestaan. Bumpen kan een reden zijn voor de admins en mods om een topic te sluiten. Gebruik het knopje om je tekst aan te passen indien nodig.
O sorry ik zal er op letten :)
Waarschijnlijk een 'unexpected $end', dat houdt in de meeste gevallen in dat je ergens iets niet goed afgesloten hebt. Zo staan er in je voorbeeld code bijvoorbeeld nog 2 else statements open: die op regel 11 en 29...
Ik ben weer heel proffesioneel bezig vandaag :P
Bedankt allemaal :)