View Single Post
Trådstarter
God kveld folkens.

Jeg orker ikke lage en ny tråd for å slippe å lage unødvendig mange tråder i forumet.
Har nå tatt tipset og prøvd meg litt på PDO.

Jeg hiver meg bare ut i det og prøver meg fram egentlig. Beste måten å lære på syns jeg.
Nå har jeg da laget 3 scripts. Har ikke gått igjennom alle enda, da den første må gå igjennom først før jeg kan gjøre mer.

Scriptene jeg lager nå er som følger:

send_password_link.php
very_token.php
update_new_password.php


Den første, send_password_link.php ser sånn her ut:


Kode

<?php
error_reporting(E_ALL); ini_set('display_errors', 1);


$servername 	= "localhost";
$username		= "*****";
$password 		= "****";
$dbname 		= "*****";



$pdo = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);

$email = isset($_POST['email']) ? trim($_POST['email']) : '';


$sql = "SELECT 'id', 'email' FROM 'login' WHERE 'email' = :email";

$statement = $pdo->prepare($sql);
$statement->bindValue(':email', $email);

$statement->execute();

$userInfo = $statement->fetch(PDO::FETCH_ASSOC);



if(empty($userInfo)) {
	echo "That email address was not found in our system!";
	exit;
}


$userEmail = $userInfo['email'];
$userId = $userInfo['id'];
$token = openssl_random_pseudo_bytes(16);
$token = bin2hex($token);

$insertSql = "INSERT INTO password_reset_request (user_id, date_requested, token) VALUES (:user_id, :date_requested, :token)";

$statement = $pdo->prepare($insertSql);


$statement->execute(array(
	"user_id" 			=> $userId,
	"date_requested" 	=> date('Y-m-d H:i:s'),
	"token"				=> $token
));

$passwordRequestId = $pdo->lastInsertId();


$verifyScript = "http://URL/verify_token.php";
$linkToSend = $verifyScript . '?uid=' . $userId . '&id=' . $passwordRequestId . '&t=' . $token;

$to = $userInfo['email'];
$subject = "Reset password link (NAME)";

$message = "Here is your link to reset your password <br> If you did not request a new password, disregard this email and consider changing your password <br><br> Link: " . $linkToSend . " ";
$headers = "From: *email*";

$retval = mail($to, $subject, $message, $headers);


?>

Denne koden går ikke igjennom min første IF statement her. Den klarer ikke å hente / sjekke eposten.
Virker som det er flinke personer her med PDO kunnskap, så da tenkte jeg at jeg nå kan hente litt kunnskap om PDO her.
Sist endret av Nikon01; 9. mai 2019 kl. 20:59.