Ниже приведен код подтверждения по электронной почте для моего сайта.проверка подлинности php не работает?
Проверка URL отправлен на адрес электронной почты пользователя выглядит следующим образом: http://www.mywebsite.com/valid.php?confr=2774405&userid=2
Дополнительные примечания:
1) key
столбец в моей базе данных, которая получает случайное значение по регистрации.
2) если $verify == 1
и password_in_db=== user_entered_password
, то вход в систему осуществляется на странице входа.
<?php
include 'connect.php';
$query = mysql_query("SELECT verify,key FROM users WHERE id = '$_GET['userid']'");
$details = mysql_fetch_assoc($query);
$verify = $details['verify'];
$confirm2 = $details['key'];
if($verify == "1") {
echo "Link Expired . Go to our login page :";
} else {
if (isset($_GET["confr"]) && isset($_GET["userid"])) {
$confirm1 =$_GET["confr"];
if($confirm1 == $confirm2) {
mysql_query("INSERT INTO users (`verify`) VALUES ('1') WHERE id = '$_GET["userid"]' ;");
echo "Thank You For Registering with us . Go to your LOGIN PAGE Here ";
} else {
echo "Invalid link ";
echo "Go to your LOGIN PAGE Here ";
}
} // of if isset
} // of else part
?>
Код для connect.php
<?php
mysql_connect("host", "username", "pass"); //connects to the server
mysql_select_db("database_name"); //selects the database
?>
Проблема заключается в том, что она дает мне пустой экран.
'mysql_query ("INSERT INTO пользователей (\ 'проверить \') VALUES ('1') WHERE ID = «$ _GET [" идентификатор пользователя "] ';"); 'довольно уверен, что вы не можете этого сделать –
Это должно быть' mysql_query ("INSERT INTO users (\' verify \ ') VALUES (' 1 ') WHERE id ='". $ _ GET [ userid "]." '; ");'. –
Ваш код отлично подходит для хакера (плохой парень), потому что вы не избегаете запроса ($ _GET), а это значит, что его уязвимость для SQL-инъекции –