Heim  >  Artikel  >  Backend-Entwicklung  >  So implementieren Sie die Login-Registrierung mit Bestätigungscode in PHP

So implementieren Sie die Login-Registrierung mit Bestätigungscode in PHP

PHPz
PHPzOriginal
2023-03-29 11:28:55899Durchsuche

PHP ist eine in der Website-Entwicklung weit verbreitete Programmiersprache. Sie ist sehr praktisch, effizient und flexibel. Bei der PHP-Entwicklung sind häufig Benutzeranmelde- und Registrierungsfunktionen beteiligt. Um Sicherheit zu gewährleisten, muss ein Mechanismus zur Überprüfung des Bestätigungscodes hinzugefügt werden. In diesem Artikel wird erläutert, wie Sie mithilfe von PHP die Anmelderegistrierungsfunktion mit Bestätigungscode implementieren.

1. Implementierung der Anmeldefunktion

1.1 Anmeldeseite erstellen

Zunächst müssen wir eine Anmeldeseite für Benutzer erstellen, die ihnen einen Rahmen für die Eingabe ihrer Kontonummer und ihres Passworts sowie ein Eingabefeld für den Bestätigungscode bietet. Sie können dem Code den folgenden Code hinzufügen:

<html>
<head>
    <title>登陆页面</title>
    <meta charset="utf-8">
</head>
<body>
<form action="login.php" method="POST">
    <label>账号: <input type="text" name="username"></label><br>
    <label>密码: <input type="password" name="password"></label><br>
    <label>验证码: <input type="text" name="captcha"></label>
    <img src="captcha.php" alt="验证码"><br>
    <input type="submit" name="submit" value="登陆">
</form>
</body>
</html>

1.2 Bestätigungscode erstellen

Um die Sicherheit der Anmeldung zu erhöhen, müssen wir den Bestätigungscode verwenden, um die Identität des Benutzers zu bestätigen, also müssen wir ein Bestätigungscode-Bild erstellen . Sie können dem Code den folgenden Code hinzufügen:

<?php
session_start();
header("Content-type: image/PNG");

//定义画布的宽和高
$width = 60;
$height = 25;

//生成验证码并保存到Session
$captcha_num = &#39;&#39;;
for ($i = 0; $i < 4; ++$i) {
    $captcha_num .= rand(0, 9);
}
$_SESSION[&#39;captcha&#39;] = $captcha_num;

//创建画布
$img = imagecreate($width, $height);

//设置画布颜色
$bg_color = imagecolorallocate($img, 255, 255, 255);

//生成干扰线
for ($i = 0; $i < 5; ++$i) {
    $line_color = imagecolorallocate($img, rand(0, 255), rand(0, 255), rand(0, 255));
    imageline($img, rand(0, $width), rand(0, $height), rand(0, $width), rand(0, $height), $line_color);
}

//生成干扰点
for ($i = 0; $i < 100; ++$i) {
    $pixel_color = imagecolorallocate($img, rand(0, 255), rand(0, 255), rand(0, 255));
    imagesetpixel($img, rand(0, $width), rand(0, $height), $pixel_color);
}

//设置验证码颜色和大小
$captcha_color = imagecolorallocate($img, 0, 0, 0);
$captcha_size = 20;

//将验证码画到画布上
imagestring($img, $captcha_size, 10, 5, $captcha_num, $captcha_color);

//输出画布
imagepng($img);

//释放资源
imagedestroy($img);
?>

Die Datei captcha.php in diesem Code ist eine separate Datei, die ein zufälliges Bestätigungscodebild generiert und den Bestätigungscode in der Sitzung speichert.

1.3 Anmeldebestätigung durchführen

Nachdem der Benutzer die Benutzerinformationen und den Bestätigungscode eingegeben hat, müssen wir den eingegebenen Inhalt überprüfen. Sie können dem Code den folgenden Code hinzufügen:

<?php
session_start();
if (isset($_POST[&#39;submit&#39;])) {    //判断是否提交表单
    if ($_POST[&#39;captcha&#39;] == $_SESSION[&#39;captcha&#39;]) {    //判断验证码是否正确
        $username = $_POST[&#39;username&#39;];
        $password = $_POST[&#39;password&#39;];

        //查询数据库验证账号密码是否正确
        $mysql = new mysqli(&#39;localhost&#39;, &#39;root&#39;, &#39;password&#39;, &#39;database&#39;); //替换成自己的用户名、密码、数据库
        $result = $mysql->query("SELECT * FROM users WHERE username='$username' AND password='$password'");
        if ($result->num_rows == 1) {  //账号密码验证成功
            echo "登录成功!";
        } else {    //账号或密码错误
            echo "账号或密码错误!";
        }
        $mysql->close();
    } else {    //验证码错误
        echo "验证码错误!";
    }
}
?>

Die Datei login.php in diesem Code ist eine separate Datei, die zum Verarbeiten der vom Benutzer übermittelten Formulardaten und zum Ausführen der entsprechenden Vorgänge nach bestandener Überprüfung verwendet wird.

2. Implementierung der Registrierungsfunktion

2.1 Registrierungsseite erstellen

Wir müssen eine Registrierungsseite für Benutzer erstellen, die ihnen einen Rahmen für die Eingabe ihrer Kontonummer und ihres Passworts sowie ein Eingabefeld für den Bestätigungscode bietet. Sie können dem Code den folgenden Code hinzufügen:

<html>
<head>
    <title>注册页面</title>
    <meta charset="utf-8">
</head>
<body>
<form action="register.php" method="POST">
    <label>账号: <input type="text" name="username"></label><br>
    <label>密码: <input type="password" name="password"></label><br>
    <label>验证码: <input type="text" name="captcha"></label>
    <img src="captcha.php" alt="验证码"><br>
    <input type="submit" name="submit" value="注册">
</form>
</body>
</html>

2.2 Registrierungsüberprüfung durchführen

Nachdem der Benutzer die Benutzerinformationen und den Bestätigungscode eingegeben hat, müssen wir den eingegebenen Inhalt überprüfen. Sie können dem Code den folgenden Code hinzufügen:

<?php
session_start();
if (isset($_POST[&#39;submit&#39;])) {    //判断是否提交表单
    if ($_POST[&#39;captcha&#39;] == $_SESSION[&#39;captcha&#39;]) {    //判断验证码是否正确
        $username = $_POST[&#39;username&#39;];
        $password = $_POST[&#39;password&#39;];

        //插入数据到数据库中
        $mysql = new mysqli(&#39;localhost&#39;, &#39;root&#39;, &#39;password&#39;, &#39;database&#39;); //替换成自己的用户名、密码、数据库
        $result = $mysql->query("INSERT INTO users(username, password) VALUES ('$username', '$password')");
        if ($result) {  //插入数据成功
            echo "注册成功!";
        } else {    //插入数据失败
            echo "注册失败!";
        }
        $mysql->close();
    } else {    //验证码错误
        echo "验证码错误!";
    }
}
?>

Die Datei register.php in diesem Code ist eine separate Datei, die zum Verarbeiten der vom Benutzer übermittelten Formulardaten und zum Einfügen der Daten nach bestandener Überprüfung in die Datenbank verwendet wird.

3. Zusammenfassung

Das Obige ist der gesamte Code für die Verwendung von PHP zur Implementierung der Anmelde- und Registrierungsfunktion mit Bestätigungscode. In diesem Artikel erfahren Sie, wie Sie Bestätigungscodes erstellen und Benutzeranmelde- und Registrierungsinformationen in PHP überprüfen. Die Anmelde- und Registrierungsfunktion mit Bestätigungscode kann die Sicherheit der Website wirksam verbessern, böswillige Angriffe durch Roboter verhindern und die privaten Daten der Benutzer schützen.

Das obige ist der detaillierte Inhalt vonSo implementieren Sie die Login-Registrierung mit Bestätigungscode in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn