Systeem wachtwoord wijzigen met link in mailbox.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

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 »

Wouter van

Wouter van

02/10/2014 17:12:49
Quote Anchor link
Hallo allemaal,

Ik probeer al een tijdje om een systeempje te maken waarbij een gebruiker zijn wachtwoord kan wijzigen als hij/zij dat wil.
de gebruiker krijgt netjes de mail met de link om zijn wachtwoord te wijzigen. alles lijkt goed te gaan maar als ik dan klik op de knop "Wijzig wachtwoord!", dan krijg ik steeds een foutmelding namelijk: Notice: Undefined index: mail in /public/sites/www.onlineuitzenders.nl/changepassword.php on line 29.

is er iemand die mij kan vertellen wat ik fout doe ?


Het formulier voor het emailadres waar de mail heen kan.
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
<head>
    <title>Wachtwoord wijzigen</title>
    <link rel="stylesheet" type="text/css" href="maai.css" />
    </head>
    <body bgcolor="#F0F0F0">

    <div class="register-form">
    <h1>Mail mijn wachtwoord</h1>
    <form action="wwvergeten.php" method= "GET" >
       <p><label>Emailadres:</label>
    <input  type = text name = emailadres placeholder="Emailadres" /></p>  
    <input class="btn register" type="submit" name="submit" value="Verzend" />
    </form>
    </div>

    </body>
    </html>    



hier het script om een paar dingen te updaten.
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
<?php


ob_start();
session_start();
error_reporting(E_ALL);

$Emailadres = ($_GET['emailadres']);
$password_level = 1;

mysql_connect("");
mysql_select_db("");


if (isset ($_POST ['submit']));


$query = mysql_query ("SELECT * FROM alle_gebruikers WHERE Emailadres ='". $Emailadres."'")or die (mysql_error());

$result= ($query);
$count = mysql_num_rows($result);



   if($count==1)
    {


//genereer niew wachtwoord

$random = rand (102548633,525686441);
$new_password = $random;

 
//encrypt het nieuwe wachtwoord

$new_password = ($new_password);

//update de DB



mysql_query ("UPDATE alle_gebruikers SET Wachtwoord= '".$new_password."' WHERE Emailadres ='". $Emailadres."'") or die (mysql_error());
mysql_query ("UPDATE alle_gebruikers SET Passwordrecovery = '".$password_level."' WHERE Emailadres = '". $Emailadres."'") or die (mysql_error());


//verzend het wachtwoord naar de gebruiker
ini_set('SMTP','smtp.ziggo.nl');
ini_set('smtp_port',25);

$subject ="Wijzig uw Wachtwoord";
$msg =    "U kunt uw wachtwoord wijzigen door op de onderstaande link te klikken. \n\n http://www.onlineuitzenders.nl/changepassword.php?mail=$Emailadres&passwd=$new_password \n\nDit is een automatisch gegenereerd bericht u kunt hierdoor niet op dit bericht reageren.\n\n\n";
$from = "Van: ";

mail($Emailadres,$subject,$msg,$from);


echo "We hebben u een mail gestuurd.<a href='home.html'>Ok!</a>";




}
elseif($count==0){echo"dit Emailadres komt niet voor in de database, probeer het opnieuw!";}




?>


hier het script om het wachtwoord te wijzigen.
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
<head>
<link rel="stylesheet" type="text/css" href="maai.css" />
</head>
<body>

<div class="register-form">

            <h1>Wachtwoord veranderen</h1>
            <form action="changepassword.php" method="POST">
            <p><label>Nieuw wachtwoord:</label>
            <input id= Wachtwoord type= password name= wachtwoord  placeholder= Wachtwoord /></p>
            <p><label>Herhaal nieuw wachtwoord:&nbsp;&nbsp;  </label>
            <input id= WACHTWOORD  type= password  name= WACHTwoord  placeholder= Wachtwoord  /></p>
            <input class="btn register" type= submit  name= submit  value="Verander!" />
</form>
</div>
</body>
</html>



<?php
ob_start();
error_reporting(E_ALL);
if (isset ($_POST ['submit'])){

$password_level = 0;

$Emailadres =  ($_GET['mail']);
$Wachtwoord =  ($_POST['wachtwoord']);
$WACHTWOORD =  ($_POST['WACHTwoord']);





$conx = mysqli_connect("");

if($Wachtwoord != $WACHTWOORD){echo"
De Wachtwoorden komen niet overeen, probeer het opnieuw!<br>"
;
}
else{

if(strlen($Wachtwoord)< 5 ){
echo "Het wachtwoord moet minmaal 5 karakters lang zijn, probeer het opnieuw!<br>";
}
else{

if(strlen($Wachtwoord)> 20 ){
echo "Het wachtwoord mag maximaal uit 20 tekens bestaan, probeer het opnieuw!<br>";
}
else{

mysqli_query ($conx, "UPDATE alle_gebruikers SET Wachtwoord= '".$Wachtwoord."' WHERE Emailadres ='". $Emailadres."'") or die (mysql_error());
mysqli_query ($conx, "UPDATE alle_gebruikers SET Passwordrecovery = '".$password_level."' WHERE Emailadres = '". $Emailadres."'") or die (mysql_error());

echo "Uw wachtwoord is bijgewerkt!<a href='inloggen.html'>Ok!</a>";


}


}
}
}



?>

- Aar -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Gewijzigd op 02/10/2014 17:55:52 door - Ariën -
 
PHP hulp

PHP hulp

23/11/2024 01:35:46
 
Eddy E

Eddy E

02/10/2014 17:29:04
Quote Anchor link
Op regel 29 gebruik je waarschijnlijk $mail, maar die is dan nog niet gemaakt/gevuld.
In het script hierboven is regel 29 leeg, dus hierboven staat een niet compleet/onvolledig script.
Dump je complete script eens op ergens, bijvoorbeeld op http://codepad.org/
En dan krijg je een adres als http://codepad.org/Ghcawnfe (bijvoorbeeld).

Toevoeging op 02/10/2014 17:39:26:

Je verstuurt op de eerste pagina het emaildres door naar wwvergeten.php via $_GET, dus [email protected]

Dus op wwvergeten.nl toon je een formulier, maar vanaf daar stuur je geen emailadres meer door naar changepassword.php
Oplossing:
Zet in changepassword dit in je <form> erbij:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<input type="hidden" name="email" value="<?php echo $_GET['email'];?>">


En in changepassword.php verander je:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$Emailadres
=  ($_GET['mail']);
?>


Naar:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$Emailadres
=  ($_POST['mail']);
?>
 
Wouter van

Wouter van

02/10/2014 17:43:03
Quote Anchor link
Dit is het script waar ik de foutmelding op krijg. http://codepad.org/lHUijDPA
 
- Ariën  -
Beheerder

- Ariën -

02/10/2014 17:59:30
Quote Anchor link
Controleer met isset() of je $_GET variabelen bestaan.

Zorg er tevens voor dat je je GET en POST variabelen in je query beveiligt met mysqli_real_escape_string(). Nu ben je behoorlijk vatbaar voor hacking via SQL-injection.

Let ook goed op dat je consistent de functies van mysqli gebruikt in plaats van mysql
 
Wouter van

Wouter van

02/10/2014 18:02:39
Quote Anchor link
oke.. wat moet ik mij precies voorstellen bij een SQL-injection ?

Toevoeging op 02/10/2014 18:17:05:

Het wachtwoord wijzigen werkt nu, bedankt voor de hulp!

gr
 
- Ariën  -
Beheerder

- Ariën -

02/10/2014 19:01:43
Quote Anchor link
Wouter van op 02/10/2014 18:02:39:
oke.. wat moet ik mij precies voorstellen bij een SQL-injection ?


Even Googlen en je vindt dit: http://nl.wikipedia.org/wiki/SQL-injectie ;-)
 



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.