Kom niet uit foutmelding± mysql_fetch_array() expects parameter 1 to be resource, boolean

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

Lars Hallow

Lars Hallow

16/12/2011 02:46:37
Quote Anchor link
Ik ben bezig met een klein "Wachtwoord vergeten" script.
Nu blijf ik stom genoeg alleen tegen de zelfde fout aan lopen....

Misschien dat jullie mijn verder kunnen helpen ?

Foutmelding:
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\Password-lost.php on line 122

Stukje script:

// Query uitvoeren
$Query =
"
UPDATE
members
SET
password = '".md5($password)."'
WHERE
member_id = '".intval($Row['member_id'])."'
";

// Resultaat van de query
$Result = mysql_query($Query);


// Kijken of de query is gelukt
if(!$Result)

// Foutje in de query
{
$Message[] = 'Er is een fout opgetreden, fout is: '.mysql_error();
}
else
{
// Persoon waar het naartoe gestuurd moet worden
$Row = mysql_fetch_array($Result);

De laatste regel is regel 122, de fout zit volgens mij daar boven, ik heb een tabel in mySQL members, met daarin o.a. kolommen, password, member_id.

Volgens mij zou het zo moeten werken, echter blijkt de praktijk anders... =[
Ik het graag als iemand mij verder kan helpen :)!!

Toevoeging op 16/12/2011 02:49:26:

PS: ik ben net nieuw in de PHP. Gelieve rekening mee te houden, bij een eventuele uitleg =P
 
PHP hulp

PHP hulp

22/12/2024 19:56:26
 
Ozzie PHP

Ozzie PHP

16/12/2011 08:10:48
Quote Anchor link
Ik weet niet wat je bedoeling is, maar je probeert een UPDATE query uit te voeren (je gaat dus gegevens updaten) en vervolgens probeer je dan de gegevens op te vragen. Dat werkt niet. Die update query geeft alleen een zogenaamde "boolean" terug (true of false, ofwel geslaagd of mislukt). Om de gegevens op te halen, gebruik je een SELECT query.
 
Lars Hallow

Lars Hallow

16/12/2011 12:25:19
Quote Anchor link
Bedankt voor je reactie Ozzie PHP, wanneer ik UPDATE vervang door SELECT. krijg ik: 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 'SET password = '38197b120268dc9bcc5617ce290856da' ' at line 3 terwijl op lijn 3 nog geen eens een php command staat, maar een aantekening...

Dit script is bedoeld als wachtwoord vergeten link,Ik zal voor de duidelijkheid even me hele script erin plakken:

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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
<?php

    // Connectie met de database maken
    // Zet hier ook je error_reporting(E_ALL) & ini_set('display_errors', 1) in

    require_once ('config.php');
    
    // Verbinding maken met MySQL
    
    $link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
    if (!$link) {
        die('Could not connect: ' . mysql_error());
    }

        
    //Select database
    $db = mysql_select_db(DB_DATABASE);
    if(!$db) {
        die("Unable to select database");
    }


    // Error is false
    $Error = false;
    
    // Array voor de berichten
    $Message = array();
    
    // Kijken of er gepost wordt
    if($_SERVER['REQUEST_METHOD'] == 'POST')
    {

    // Kijken of email leeg is
    if(empty($_POST['email']))
    {

        // Geen email adres ingevuld
        $Message[] = 'Vul A.U.B een email adres in.';
        // Error is true
        $Error = true;
    }

    
    // Kijken of het email adres geldig is
    if(preg_match('/^([a-z0-9])(([-a-z0-9._])*([a-z0-9]))*\@([a-z0-9])*(\.([a-z0-9])([-a-z0-9_-])([a-z0-9])+)*$/i', $_POST['email']))
    {

        // Email adres is niet geldig
        $Message[] = 'Vul A.U.B een geldig email adres in.';
        // Error is true
        $Error = true;
    }

    
    // Kijken of error false is
    if($Error == false)
    {

        // Query uitvoeren
        $Query =
        "
            SELECT
                member_id,
                email_adres
            FROM
                members
            WHERE
                email_adres = '"
.mysql_real_escape_string(trim($_POST['email']))."'
        "
;
        
        // Resultaat van de query
        $Result = mysql_query($Query);
        
        // Kijken of de query is gelukt
        if(!$Result)
        {

            // Foutje in de query
            $Message[] = 'Er is een fout opgetreden, fout is: '.mysql_error();
        }

        else
        {
            // Kijken of het email adres voorkomt
            if(mysql_num_rows($Result) == 0)
            {

                // Email adres komt niet voor in de database
                $Message[] = 'Dit email adres komt niet voor in onze database.';
            }

            else
            {
                // Rij fetchen
                $Row = mysql_fetch_assoc($Result);
                
                // Nieuw wachtwoord aanmaken
                $password = mt_srand((double)microtime()*100000);
                                
                while(strlen($password) <= 6) // Aantal tekens/cijfers dat wordt gebruikt
                {
                    $i = chr(mt_rand(0,255));
                                                              
                    if(preg_match('/^[a-z0-9]$/', $i)) // Alleen letters en cijfers
                    {
                        $password = $password.$i;
                    }
                }

                
                    // Query uitvoeren
                $Query =
                "
                    UPDATE
                        members
                    SET
                        password = '"
.md5($password)."'
                    WHERE
                        member_id = '"
.intval($Row['member_id'])."'
                    "
;
                    
                    // Resultaat van de query
                $Result = mysql_query($Query);

                
                    // Kijken of de query is gelukt
                if(!$Result)
                
                    // Foutje in de query
                {
                    $Message[] = 'Er is een fout opgetreden, fout is: '.mysql_error();
                }

                else
                {
                    // Persoon waar het naartoe gestuurd moet worden
                    $Row = mysql_fetch_array($Result);
                    
                    // Onderwerp van de mail
                    $Subject        = 'Wachtwoord Reset';
                    
                    // Headers die we meesturen met de mail
                    $Headers        = 'From: [email protected]' . "\r\n" .
                                      'Reply-To: [email protected]' . "\r\n" .
                                      'MIME-Version: 1.0' . "\r\n" .
                                      'Content-Type: text/html; charset=ISO-8859-1' . "\r\n" .
                                      'X-Mailer: PHP/' . phpversion();
                                      'X-Priority: 1' . "\r\n" .
                    $Mail            = '<h3>Wachtwoord Reset</h3>
                                    <p>Beste '
.$Row['email_adres'].',</p>
                                    <p>U wachtwoord is reeds gereset door: '
.$_SERVER['REMOTE_ADDR'].'<br>U nieuwe wachtwoord: '.$password.'<br/>
                                    Komt u ip adres niet overeen met die in deze email, neem dan zo spoedig mogelijk contact met ons op.</p>
                                    <p>Met vriendelijke groet,</p>
                                    <p>Het Team !</p>'
;
                    
                    // Kijken of de mail verstuurd wordt
                    if(mail($Receiver, $Subject, $Mail, $Headers))
                    {

                        // Mail succesvol verstuurd
                        $Message[] = 'U ontvangt binnen nu en 10 minuten uw nieuwe wachtwoord op het volgende adres: '.$_POST['email_adres'];
                    }

                    else
                    {
                        // Fout met versturen email
                        $Message[] = 'Er is een fout opgetreden met het versturen van de mail, neem zo spoedig mogelijk contact met ons op.';
                    }
                }
            }
        }
    }
}


?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Wachtwoord Vergeten</title>
</head>

<body>
<h3>Wachtwoord Vergeten</h3>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php

// Kijken of er berichten zijn
if(!empty($Message))
{

    // Berichten laten zien
    foreach($Message as $Msg)
    {

        echo $Msg.'<br/>';
    }
}


?>

<form id="form1" name="form1" method="post" action="">
Email adres:
<input type="text" name="email" id="email" />
<input type="submit" name="button" id="button" value="Submit" />
</form>
</body>
</html>

PS: hoe krijg ik dit in het vervolg als een mooi script erin geplakt ipv plane tekst?

Toevoeging op 16/12/2011 12:26:05:

:$ het is er al goed in geplakt zie ik, laatste vraag vervalt =P
 
- Ariën  -
Beheerder

- Ariën -

16/12/2011 12:27:05
Quote Anchor link
Relevante code mag ook wel in het vervolg?
En SET is geen onderdeel van een SELECT query.

Denk eerst even goed na, of je iets wil aanpassen (UPDATE), of wilt ophalen (SELECT).
Gewijzigd op 16/12/2011 12:27:17 door - Ariën -
 
Lars Hallow

Lars Hallow

16/12/2011 12:37:14
Quote Anchor link
Sorry ik ben nog nieuw hier...

Het is de bedoel dat er een nieuw wachtwoord word verstuurd ( aanpassen dus( Update ))
En hij moet het e-mail adres waaraan de e-mail word verstuurd $Receiver ophalen, uit het veld waar je je e-mail adres moet invoeren.( het $Receiver veld moet nog worden geschreven maar ik wil eerst de rest foutloos laten werken )
 
- SanThe -

- SanThe -

16/12/2011 12:46:01
 



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.