Maak nieuwe registratie key's

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Krentenbol

Krentenbol

26/12/2007 19:14:00
Quote Anchor link
Hoi :)

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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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>";
}
}



?>
Gewijzigd op 01/01/1970 01:00:00 door Krentenbol
 
PHP hulp

PHP hulp

24/11/2024 07:10:29
 
Joren de Wit

Joren de Wit

26/12/2007 19:17:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$x
=$_POST[x];
$set=$_POST[submit];
?>

Hier ontbreken sowieso de quotes al rond 'x' en 'submit'. Zet verder eens
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
ini_set('display_errors', 'On');
error_reporting(E_ALL);
?>

boven aan je script. Wellicht dat je dan nog meer foutmeldingen krijgt...
 
Krentenbol

Krentenbol

26/12/2007 19:33:00
Quote Anchor link
Probleem opgelost.


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
 
Krentenbol

Krentenbol

26/12/2007 21:06:00
Quote Anchor link
Nieuw probleem :P

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 (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
$query="SELECT * FROM activationkey WHERE key='$code'";
$result=mysql_query($query);


$code is de userinput.

Ik moet dus kijken of de key die de client intypt in de database voorkomt.

HELP :|
 
Joren de Wit

Joren de Wit

26/12/2007 21:09:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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
    }
}

?>
 
Krentenbol

Krentenbol

26/12/2007 21:36:00
Quote Anchor link
Er gaat iets niet goed :S

Dit is het script wat ik gebruik:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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.";
    }
}


En dit is de error:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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
 
Joren de Wit

Joren de Wit

26/12/2007 21:51:00
Quote Anchor link
Dat kan heel goed kloppen, 'key' is een gereserveerd woord, dus die mag je helemaal niet als kolom/tabelnaam gebruiken...

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
 
Frank -

Frank -

26/12/2007 22:04:00
Quote Anchor link
Waarom gebruik je geen md5- of sha1-hash? Stuk eenvoudiger dan een 'random' key en ook nog eens sneller.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
$hash
= sha1(time());
?>

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...
 
Krentenbol

Krentenbol

26/12/2007 22:05:00
Quote Anchor link
Het werkt bedankt :)
 
Krentenbol

Krentenbol

27/12/2007 11:46:00
Quote Anchor link
@ pqfrank

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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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;
    }

    
    
    ?>



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

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
Parse error: parse error, unexpected $ in *My site* on line 311



Help a.u.b. :)
 
Joren de Wit

Joren de Wit

27/12/2007 11:48:00
Quote Anchor link
Wat is regel 311? Daar staat namelijk een foutje in je code...
 
Krentenbol

Krentenbol

27/12/2007 11:49:00
Quote Anchor link
Dat is het nou juist regel 311 is de laatste regel in mijn code daar staat alleen dit

</html>
 
Jan Koehoorn

Jan Koehoorn

27/12/2007 12:06:00
Quote Anchor link
@ Krentenbol: ik zie dat je nieuw bent hier. In dit topic heb je twee keer gebumpt, let daar even op a.u.b.

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 Afbeelding knopje om je tekst aan te passen indien nodig.
 
Krentenbol

Krentenbol

27/12/2007 12:07:00
Quote Anchor link
O sorry ik zal er op letten :)
 
Joren de Wit

Joren de Wit

27/12/2007 12:08:00
Quote Anchor link
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...
 
Krentenbol

Krentenbol

27/12/2007 12:15:00
Quote Anchor link
Het werkt :)


Ik ben weer heel proffesioneel bezig vandaag :P


Bedankt allemaal :)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.