Heim >Backend-Entwicklung >PHP-Problem >So implementieren Sie die Funktion „Freund hinzufügen' in PHP

So implementieren Sie die Funktion „Freund hinzufügen' in PHP

PHPz
PHPzOriginal
2023-04-25 18:19:031203Durchsuche

In den letzten Jahren sind soziale Netzwerke zu einem festen Bestandteil des täglichen Lebens der Menschen geworden. Gleichzeitig erhalten Freundschaftsbeziehungen als wichtiger Bestandteil sozialer Netzwerke auch in ihrer Umsetzung immer mehr Aufmerksamkeit. In diesem Artikel wird erläutert, wie Sie mit PHP die Funktion zum Hinzufügen von Freunden implementieren.

1. Datenbankdesign

Im Prozess der Implementierung der Funktion zum Hinzufügen von Freunden muss eine Freundesbeziehungstabelle entworfen werden. Die Tabelle sollte mindestens die folgenden Felder enthalten:

  1. friend_id: die eindeutige ID der Freundschaftsbeziehungstabelle
  2. user_id1: die Benutzer-ID der Freundschaftsbeziehungspartei 1
  3. user_id2: die Benutzer-ID der Freundschaftsbeziehungspartei 2
  4. Status: Der Freundschaftsbeziehungsstatus, der sein kann. Die Auswahlwerte umfassen „1“ (bereits ein Freund), „0“ (ausstehend) und „-1“ (abgelehnt).

2. Um Freunde hinzuzufügen

Wenn Sie Freunde in PHP hinzufügen, müssen Sie die folgenden Schritte ausführen:

  1. Überprüfen Sie, ob die vom Benutzer eingegebene ID in der Datenbank vorhanden ist.
  2. Überprüfen Sie, ob der Freund hinzugefügt werden soll ist bereits der Freund des Benutzers;
  3. Wenn zwischen den beiden Benutzern keine Freundschaftsbeziehung besteht, fügen Sie einen neuen Freundschaftsbeziehungsdatensatz mit dem Status „0“ (ausstehend) hinzu.
  4. Wenn die beiden Benutzer bereits Freunde sind, wird kein Vorgang ausgeführt .

Das Folgende ist ein einfaches PHP-Codebeispiel zum Implementieren der Funktion zum Hinzufügen von Freunden:

<?php
// 连接数据库
$con = mysqli_connect("localhost","root","mypassword","mydatabase");

// 获取用户输入
$user_id1 = $_POST[&#39;user_id1&#39;];
$user_id2 = $_POST[&#39;user_id2&#39;];

// 验证用户输入是否合法
if(!is_numeric($user_id1) || !is_numeric($user_id2)) {
    echo "Error: 用户ID必须为数字";
    exit();
}

// 检查要添加的好友是否已经是用户的好友
$sql = "SELECT * FROM friend_relation WHERE ((user_id1 = $user_id1 AND user_id2 = $user_id2) OR (user_id2 = $user_id1 AND user_id1 = $user_id2)) AND status = 1";
$result = mysqli_query($con,$sql);

if(mysqli_num_rows($result) > 0) {
    echo "该用户已经是您的好友!";
    exit();
}

// 如果两个用户之间没有好友关系,则添加一条新的好友关系记录,其中状态为“0”(待处理)
$sql = "INSERT INTO friend_relation (user_id1,user_id2,status) VALUES ($user_id1,$user_id2,0)";
if(mysqli_query($con,$sql)) {
    echo "添加好友请求已经发送!";
} else {
    echo "Error: " . mysqli_error($con);
}

mysqli_close($con);
?>

Im obigen Code haben wir die MySQL-Erweiterung verwendet, um eine Verbindung zur MySQL-Datenbank herzustellen und die IDs der beiden Benutzer über die POST-Methode abzurufen Anschließend wurden Eingabeverifizierung und Freundesbeziehungsprüfungen durchgeführt. Wenn der hinzuzufügende Freund bereits ein Freund des Benutzers ist, wird eine Aufforderungsmeldung ausgegeben. Wenn zwischen den beiden Benutzern keine Freundschaftsbeziehung besteht, wird ein neuer Freundschaftsbeziehungsdatensatz zur Datenbank hinzugefügt und eine Aufforderungsmeldung über den Erfolg ausgegeben.

3. Bearbeitung von Freundschaftsanfragen

In der Funktion zum Hinzufügen von Freunden ist es auch notwendig, die Bearbeitung von Freundschaftsanfragen zu implementieren. Wenn ein Benutzer eine Freundschaftsanfrage an einen anderen Benutzer sendet, muss der angeforderte Benutzer eine entsprechende Verarbeitung durchführen, einschließlich der Annahme oder Ablehnung der Anfrage.

Im Datenbankdesign setzen wir den Freundschaftsbeziehungsstatus (Status) auf „0“, um anzuzeigen, dass die Freundschaftsanfrage nicht verarbeitet wurde, auf „1“, um anzuzeigen, dass der Freund bereits ein Freund ist, und auf „-1“. „um anzuzeigen, dass die Freundschaftsanfrage abgelehnt wurde. Daher müssen wir in der Funktion zur Verarbeitung von Freundschaftsanfragen den entsprechenden Statusaktualisierungscode hinzufügen.

Das Folgende ist ein einfaches PHP-Codebeispiel für die Verarbeitung von Freundschaftsanfragen:

<?php
// 连接数据库
$con = mysqli_connect("localhost","root","mypassword","mydatabase");

// 获取用户输入
$user_id1 = $_POST[&#39;user_id1&#39;];
$user_id2 = $_POST[&#39;user_id2&#39;];
$action = $_POST[&#39;action&#39;]; // 操作类型,可选值包括“accept”和“reject”

// 验证用户输入是否合法
if(!is_numeric($user_id1) || !is_numeric($user_id2)) {
    echo "Error: 用户ID必须为数字";
    exit();
}

// 更新好友关系状态
if($action == "accept") {
    $sql = "UPDATE friend_relation SET status = 1 WHERE user_id1 = $user_id1 AND user_id2 = $user_id2";
    if(mysqli_query($con,$sql)) {
        echo "您已经同意该好友请求!";
    } else {
        echo "Error: " . mysqli_error($con);
    }
} else if($action == "reject") {
    $sql = "UPDATE friend_relation SET status = -1 WHERE user_id1 = $user_id1 AND user_id2 = $user_id2";
    if(mysqli_query($con,$sql)) {
        echo "您已经拒绝了该好友请求!";
    } else {
        echo "Error: " . mysqli_error($con);
    }
} else {
    echo "Error: 请输入正确的操作类型!";
}

mysqli_close($con);
?>

Im obigen Code haben wir die IDs und Vorgangstypen von zwei Benutzern über die POST-Methode erhalten. „Akzeptieren“ bedeutet das Akzeptieren der Freundschaftsanfrage. „Ablehnen“ bedeutet, die Freundschaftsanfrage abzulehnen. Anschließend haben wir den Status der Freundschaftsbeziehung über die UPDATE-Anweisung aktualisiert und die entsprechenden Eingabeaufforderungsinformationen ausgegeben.

Mit dem obigen PHP-Codebeispiel können wir die Funktionen zum Hinzufügen von Freunden und Bearbeiten von Freundschaftsanfragen einfach implementieren. In der tatsächlichen Entwicklung kann es entsprechend den spezifischen Anforderungen entsprechend modifiziert und hinsichtlich Sicherheit und Leistung optimiert werden.

Das obige ist der detaillierte Inhalt vonSo implementieren Sie die Funktion „Freund hinzufügen' 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