ln 96
php?>
er der vist sneget sit et php ind
?>
echo 'Der opstod en fejl i erkl�¦ringen: ' . $this->mysqli->error;
skal se sådan ud
echo 'Der opstod en fejl i erkl�¦ringen: ' . $db->error;
$besked = str_replace("%%brugernavn", $rytternavn, $besked);
skal vel være
$besked = str_replace("%%brugernavn", $brugernavn, $besked);
jeg har lavet en del små rettelser og testudskrivninger, prøv at kigge på den samlede code nu, og afprøv
<!-- Minus AutoDato -->
<?php
include_once('Connect2.php');
function randPass($upper = 3, $lower = 3, $numeric = 3, $other = 2) {
//we need these vars to create a password string
$passOrder = Array();
$passWord = '';
//generate the contents of the password
for ($i = 0; $i < $upper; $i++) {
$passOrder[] = chr(rand(65, 90));
}
for ($i = 0; $i < $lower; $i++) {
$passOrder[] = chr(rand(97, 122));
}
for ($i = 0; $i < $numeric; $i++) {
$passOrder[] = chr(rand(48, 57));
}
for ($i = 0; $i < $other; $i++) {
$passOrder[] = chr(rand(33, 47));
}
//randomize the order of characters
shuffle($passOrder);
//concatenate into a string
foreach ($passOrder as $char) {
$passWord .= $char;
}
//we're done
return $passWord;
}
if (isset($_POST["send"])) {
$pass_ny = randPass();
$nyt_passKODE = md5($pass_ny);
if ($stmt = $db->prepare('SELECT ryttermail, brugernavn FROM rytter WHERE ryttermail = ?')) {
$stmt->bind_param('s', $ryttermail);
$ryttermail = $_POST["ryttermail"];
$stmt->execute();
$stmt->bind_result($ryttermail, $brugernavn);
while ($stmt->fetch()) {
$navn2 = $brugernavn;
$hilsen = "xxx.dk";
$fra = "Ny Adgangskode til xxx.dk <" . "info@xxx.dk" . ">";
$til = $ryttermail;
$emne = "Ny adgangskode til xxx.dk";
// har ikke filen, så jeg laver min egen besked
//$besked = file_get_contents("glemt.php");
//$besked = str_replace("%%brugernavn", $brugernavn, $besked);
//$besked = str_replace("%%pass", $pass_ny, $besked);
//$besked = str_replace("%%hilsen", $hilsen, $besked);
$besked = "her er dit nye password, du bedes lave det om når du er logget ind\n<br>";
$besked .="brugernavn = ". $brugernavn . "\n<br>";
$besked .="password = ". $pass_ny . "\n<br>";
$headers = "MIME-Version: 1.0 \r\n";
$headers .= "Content-type: text/html; charset=UTF-8\r\n";
$headers .= "From: " . $fra . "\r\n";
// test udskrift, når jeg ikke sender mailen
echo $til . "<br>";
echo $emne . "<br>";
echo $besked . "<br>";
echo $headers . "<br>";
// mail($til, $emne, $besked, $headers);
}
$stmt->close();
} else {
echo 'Der opstod en fejl i erklæringen: ' . $db->error;
}
if ($stmt = $db->prepare('UPDATE rytter SET password=? WHERE ryttermail=?')) {
$stmt->bind_param('ss', $password, $email_indhold);
$password = $nyt_passKODE;
$email_indhold = $_POST["ryttermail"];
$stmt->execute();
?>
<script type="text/javascript">
// udkommenteret til test
// window.location.href = "/vandrepokal/login.php";
</script>
<?php
$stmt->close();
} else {
echo 'Der opstod en fejl i erklæringen: ' . $db->error;
}
}
?>
<h1>Glemt kode til profil</h1>
<form action="#" method="post">
<table width="100%" cellpadding="2" cellspacing="1">
<tr>
<td>Email</td>
<td><input type="email" name="ryttermail" maxlength="300"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="send" value="Send email" class="KlikInput"></td>
</tr>
</table>
</form>
min bruger får et nyt pw og det md5'et pw bliver opdateret i db
tilføjet 17:25
for bedre at forstå din code kunne du læse denne guide
http://www.eksperten.dk/guide/1480som omhandler Prepare Statement, som din code anvender, hvilke er noget af det nye der er kommet til i mysqli, og det er klart forbedret i PDO
Indlæg senest redigeret d. 09.03.2016 17:25 af Bruger #16075