2017-04-30 5 views
-1

Wenn ein Benutzer seine E-Mail-Adresse in ein Formular eingibt, überprüfe ich, ob die E-Mail-Adresse in der Datenbank vorhanden ist.Prüfen, ob eine E-Mail in der Datenbank existiert (PDO)

Warum funktioniert der Code nicht?

Hier ist mein Code:

php

<?php 

session_start(); 

require 'database.php'; 

if(!empty($_POST['email'])): 

    $records = $conn->prepare('SELECT id,email,password FROM users WHERE email = :email'); 
    $records->bindParam(':email', $_POST['email']); 
    $records->execute(); 
    $results = $records->fetch(PDO::FETCH_ASSOC); 

    echo 'Working'; 

    if(isset($_REQUEST['email'])){ 

    $email_to = $_REQUEST['email']; 
    $email_subject = "Forgotten password"; 
    $email_from = "[email protected]"; 


    $email_message = $results['password']; 

    $headers = 'From: ' .$email_from . "\r\n"; 
    @mail($email_to, $email_subject, $email_message, $headers); 

    #header("Location: /success.php"); 

    exit(); 

} 

endif; 

?> 
+2

Was mit __what__ zu tun? –

+2

'$ email =" ??? ";' –

+0

Sie loggen den Benutzer ein oder überprüfen nur, ob die E-Mail existiert? – chris85

Antwort

1

Sie haben das Ergebnis Echo nach, um zu sehen, wenn/else Bedingung wie diese

session_start(); 

require 'database.php'; 

if(!empty($_POST['email'])): 

    $records = $conn->prepare('SELECT id,email,password FROM users WHERE email = :email'); 
    $records->bindParam(':email', $email); 
    $records->execute(); 
    $results = $records->fetch(PDO::FETCH_ASSOC); 

    $message = ''; 

    if(count($results) > 0 && password_verify($_POST['password'], $results['password'])){ 

    $message = 'Success!'; 

    } else { 
    $message = 'Sorry, those credentials do not match'; 
    } 
    // Now, you just have to add 
echo $message; 
endif; 
+1

Es wäre nützlich, a zu haben Wert in '$ email' auch gut! – RiggsFolly

+0

@RiggsFolly Lustig; Ich sehe diese Antwort nicht als akzeptiert an, es sei denn, das OP ist abgelaufen und ist abgehauen oder hat die Frage nicht gelöst. –

+0

@ Fred-ii- Sicherlich nicht mein UV – RiggsFolly

Verwandte Themen